英文

Metharme 13b

一个针对虚构写作和对话的经过指导调整的LLaMA模型

从0cc4m的-GPTQ+KoboldAI分支的最新更新中安装此模型,它在windows和Linux上都支持这个存储库格式中的8位模型的正确使用:

应用此修复后,

通过Ooba UI的GPTQ可能不需要此补丁。

评估/基准分数

Metharme-13b模型的当前评估结果:

Model: Wikitext2 Ptb-New C4-New
Metharme 13b - 16bit 5.253076553344727 27.53407859802246 7.038073539733887
Metharme 13b - 8bit - [act-order] 5.253607273101807 27.52388572692871 7.038473129272461
Metharme 13b - 8bit - [true-sequential & 128g] 5.2532830238342285 27.54250144958496 7.038838863372803
Metharme 13b - 4bit - [true-sequential & 128g] 5.420501708984375 28.37093734741211 7.1930413246154785
Metharme 7b - 16bit 5.7208476066589355 41.61103439331055 7.512405872344971
Metharme 7b - 8bit TDB TDB TDB
Metharme 7b - 4bit - [act-order] 6.2369050979614 47.5177230834960 7.9044938087463

Pygmalion-13b模型的当前评估结果:

Model: Wikitext2 Ptb-New C4-New
Pygmalion 13b - 16bit 5.710726737976074 23.633684158325195 7.6324849128723145
Pygmalion 13b - 8bit - [act-order] 5.711935997009277 23.654993057250977 7.632820129394531
Pygmalion 7b - 16bit 5.7208476066589355 41.61103439331055 7.512405872344971
Pygmalion 7b - 8bit [act-order] 5.656460285186768 40.79701232910156 7.432109832763672
Pygmalion 7b - 4bit - [act-order] 6.2477378845215 46.5129699707031 7.8470954895020

模型细节:

从PygmalionAI发布的XOR权重转换而来 https://huggingface.co/PygmalionAI/metharme-13b

Metharme 13b是基于Metas的LLaMA-13b的一个指导模型。

这是一个尝试获取可用于对话、角色扮演和故事写作的模型的实验,但它可以像其他指导模型一样使用自然语言。有关示例,请参见下面的提示部分。

它通过在常规指导数据中进行监督微调来进行训练,同时与合成生成的指导连接的角色扮演、虚构故事和对话一起进行训练。

当前的Metharme-13b已经被训练为LoRA,然后合并到基础模型用于发布。

还使用了可从这里获得的GPTQ库将其量化为8位: https://github.com/0cc4m/GPTQ-for-LLaMa

python llama.py .\TehVenom_Metharme-13b-Merged c4 --wbits 8 --act-order --save_safetensors Metharme-13b-GPTQ-8bit.act-order.safetensors

提示

当前模型版本是使用三种不同角色的提示进行训练的,这些角色由以下标记表示:<|system|>,<|user|>和<|model|>。

可以使用<|system|>提示在幕后注入非通道信息,而<|user|>提示应用于指示用户输入。然后应使用<|model|>标记来指示模型应生成响应。这些标记可以多次出现并链接起来形成对话历史记录。

提示示例

这里有个具体的例子。假设你有以下系统提示:

这是一个文字冒险游戏。向用户描述情景,并给出每回合可供选择的三个选项。

用户已经输入了以下消息:

开始!

要对模型执行推断,应将提示格式化为:

<|system|>This is a text adventure game. Describe the scenario to the user and give him three options to pick from on each turn.<|user|>Start!<|model|>

模型可能会生成如下内容:

你站在一座古老的废弃房子前。窗户被木板封住,周围没有任何生命的迹象。当你走近时,你注意到一股奇怪的感觉从里面传来。突然,你听到一个声音在呼唤你……“进来吧!”

  • 进房子。
  • 忽略呼叫并离开。
  • 尽快逃跑。

当判断响应完整时,它将自动发出一个结束文本标记(</s>)。

假设用户回复“进去”。下一个提示应该是:

<|system|>This is a text adventure game. Describe the scenario to the user and give him three options to pick from on each turn.<|user|>Start!<|model|>You are standing in front of an old, abandoned house. The windows are boarded up, and there's no sign of life around it. As you approach, you notice a strange feeling emanating from within. Suddenly, you hear a voice calling out to you... 'Come inside!'

- Go inside the house.
- Ignore the call and move away.
- Run as fast as you can.<|user|>go inside<|model|>

可能会生成如下内容:

你走进房子,立刻一股令人不安的能量涌过你。你的感官似乎更加敏锐,但你的头脑感觉模糊。一个人影出现在你面前——一个长着犀利眼睛的高个子男人。他用一种你听不懂的语言对你说话。

  • 问问他想要什么。
  • 攻击他。
  • 逃走。

应用相同的过程。通常,最好对用户和模型的对话进行滑动窗口,但将系统提示固定在上下文窗口的开头。

其他注意事项

  • 当正确提示时,模型总是从生成BOS标记开始。这种行为是意外的副作用,我们计划在将来的模型版本中解决这个问题,不应依赖此行为。
  • 该模型是作为LoRA进行训练的,采用了一种有些不寻常的配置,使用当前版本的peft会导致错误,因此我们将其作为完整模型发布。

限制和偏见

该模型的预期用途是用于娱乐目的的虚构写作。其他任何类型的使用都超出了范围。

因此,它并没有被精调为安全和无害:基础模型和这个微调都是在已知包含亵渎言论、淫秽或其他不当文字的数据上进行训练的。即使提示本身没有包含任何明确冒犯性的内容,它也可能生成社会不可接受或不受欢迎的文本。输出可能经常是事实上错误或误导性的。

.hf-sanitized.hf-sanitized-BeNXArKkE8jU5PbUuY51I table {border: 1px solid #b3adad; border-collapse: collapse; padding: 5px;}.hf-sanitized.hf-sanitized-BeNXArKkE8jU5PbUuY51I table th {border: 1px solid #b3adad; padding: 5px; background: #f0f0f0; color: #313030;}.hf-sanitized.hf-sanitized-BeNXArKkE8jU5PbUuY51I table td {border: 1px solid #b3adad; text-align: center; padding: 5px; background: #ffffff; color: #313030;}.hf-sanitized.hf-sanitized-BeNXArKkE8jU5PbUuY51I table {border: 1px solid #b3adad; border-collapse: collapse; padding: 5px;}.hf-sanitized.hf-sanitized-BeNXArKkE8jU5PbUuY51I table th {border: 1px solid #b3adad; padding: 5px; background: #f0f0f0; color: #313030;}.hf-sanitized.hf-sanitized-BeNXArKkE8jU5PbUuY51I table td {border: 1px solid #b3adad; text-align: center; padding: 5px; background: #ffffff; color: #313030;}