许可证:Apache-2.0
缩略图:https://cdn-uploads.huggingface.co/production/uploads/6625f4a8a8d1362ebcc3851a/hIZ2ZcaDyfYLT9Yd4pfOs.jpeg
语言:
- 英文
基础模型:
- Qwen/QwQ-32B
库名称:transformers
流水线标签:文本生成
QwQ-32B-ArliAI-RpR-v4
图片由Arli AI图像生成工具生成 https://www.arliai.com/image-generation
RpR v4 更新:
ArliAI迄今为止最优秀的角色扮演/创意模型再次升级。
RpR系列概述:基于RPMax与推理的构建
RpR(带推理的角色扮演)是ArliAI推出的新系列模型。该系列直接建立在RPMax系列成功的数据集整理方法和训练技术之上。
RpR模型使用与RPMax相同的经过整理、去重的角色扮演和创意写作数据集,重点在于多样性,以确保高度创意并最小化跨上下文重复。熟悉RPMax的用户会认出这种独特、非重复的写作风格,与其他为角色扮演微调的模型不同。
随着QwQ作为首个高性能开源推理模型的发布,可以轻松训练,但现有的指令和创意写作推理数据集每个示例仅包含一个响应。这种单响应数据集在长多轮对话中会导致输出质量下降。因此,Arli AI决定创建一个真正支持长多轮对话推理的角色扮演模型。
为了创建RpR,我们首先需要将现有的优质RPMax数据集重新处理为推理数据集。通过使用基础QwQ Instruct模型为RPMax数据集中的每个对话示例生成推理过程,并进一步优化以确保推理与数据集中的实际响应示例一致。
另一个关键点是确保模型在训练中看到的推理块与推理时的呈现方式一致,即在上下文中从不显示推理块。为此,训练使用axolotl和手动无模板分段数据集,确保模型在训练中不会看到上下文中的推理块,就像推理时的使用方式一样。
在这种数据集和方法下训练的QwQ模型,即使在长多轮角色扮演对话中,也能持续输出连贯且有趣的响应。据我们所知,这是首个真正为角色扮演和创意写作正确训练的推理模型。
您可以在https://arliai.com访问该模型,我们还提供了模型排名页面:https://www.arliai.com/models-ranking
在我们的新Discord服务器https://discord.com/invite/t75KbPgwhk或Reddit社区https://www.reddit.com/r/ArliAI/提问。
模型描述
QwQ-32B-ArliAI-RpR-v4是RpR系列的第三次发布。这是一个320亿参数的模型,基于整理的RPMax数据集微调,结合了在长多轮对话中保持推理能力的技术。
推荐采样器
- RpR模型不适用于重复惩罚类采样器,即使是XTC或DRY等高级采样器。
- 它最适合简单的采样器设置,并允许长时间推理(高最大标记数)。
- 您也可以下载本仓库文件部分上传的ST主导出文件。
建议初始设置:
- 温度:1.0
- MinP:0.02
- TopK:40
- 响应标记数:2048+
规格
- 基础模型:QwQ-32B
- 最大上下文长度:使用Yarn可达128K(原生32K)
- 参数:320亿
- 推理模型:是
训练详情
- 序列长度:16384
- 周期数:1周期训练(继承自RPMax方法)
- 微调方法:RS-QLORA+(秩稳定LoRA + LoRA Plus 8x)
- 秩/Alpha:128秩,128 Alpha
- 学习率:0.00001
- 调度器:Rex
- 梯度累积:32
训练图表
量化
- BF16:https://huggingface.co/ArliAI/QwQ-32B-ArliAI-RpR-v4
- GGUF:https://huggingface.co/ArliAI/QwQ-32B-ArliAI-RpR-v4-GGUF
如何在ST中正确使用推理模型
对于任何推理模型,需确保:
- 前缀仅设置为<think>,后缀仅设置为</think>,无空格或换行符(回车)。
- 回复以<think>开头。
- 取消勾选“始终添加角色名称”。
- “包含名称”设置为“从不”。
- 聊天模板也应符合所用模型的要求。
注意:推理模型仅在“包含名称”设置为“从不”时正常工作,因为它们始终期望用户回合的eos标记后跟<think>标记以开始推理,然后输出响应。如果启用“包含名称”,则会在末尾附加角色名称如“Seraphina:<eos_token>”,这会混淆模型应先响应还是先推理。
其他采样器参数可按需设置。
如果未看到推理块中的推理内容,则可能是设置仍不符合示例要求,或ST版本过旧不支持自动解析推理块。
如果整个响应都在推理块中,则<think>和</think>标记的前缀或后缀可能有额外空格或换行符,或者模型本身不够智能,无法始终将推理内容放在这些标记之间。
如果一切设置正确,应如下所示:
详情:RPMax基础(数据集与训练理念)
以下部分详细介绍了最初为RPMax开发的数据集和训练方法的核心理念,这也是RpR系列的基础。
目标:减少重复与提升创意
RPMax和RpR数据集整理的目标是减少重复并提升模型在不同情境下的创意写作能力。这意味着模型将输出非常不同的响应,而不会在不同情境下陷入可预测的套路。
什么是重复与创意?
首先,创意应指模型能够输出的多样性。不应将创意与散文写作混淆。当模型以类似小说作家的方式写作时,这并非创意写作,而仅是模型具有某种愉悦的写作风格。因此,写作优美的模型不一定是创意模型。
重复与创意本质上是相互关联的,因此如果模型重复,也可以说它缺乏创意,因为它无法写出新内容,只能重复之前生成的类似响应。重复实际上有两种截然不同的形式。
上下文内重复:当人们提到模型重复时,通常指模型在单次对话中喜欢重复相同短语。例如,模型描述角色“拂动她的头发并……”后,开始在角色的每个动作前都加上“拂动她的头发并……”。
可以说模型很无聊,但即使在真实写作中,这种重复也可能是为了微妙地证明观点或展示角色特质。因此,这种重复并不总是坏事,完全阻止模型这样做并不总能提升其写作能力。
在这方面,RPMax和RpR尚未专注于消除这种重复,因此在输出中可能会看到一些上下文内重复。消除这种重复将是RPMax和RpR系列模型的下一步目标。
跨上下文重复:第二种更糟糕的重复是模型在不同情境中重复相同短语或套路的倾向。例如,模型喜欢在完全不同的对话中重复“脊背发凉”这一短语。
这种重复总是糟糕的,因为它表明模型在训练数据集中过度拟合了这种“创意写作”风格。模型的跨上下文重复倾向通常也体现在其喜欢在故事中使用类似的重复名称,如著名的“Elara”和“Whispering Woods”。
RPMax和RpR数据集整理的主要目标是通过减少跨上下文重复来创建高度创意的模型,因为这种重复会贯穿不同对话。为此,确保数据集中不同示例条目中没有重复的情境或角色。
数据集整理
该数据集(包括RPMax和现在的RpR)训练的成功归功于训练方法和为微调创建的独特数据集。它包含尽可能多的开源创意写作和角色扮演数据集(均来自Hugging Face),并经过整理以剔除纯合成生成的数据集,因为这些数据集通常只会降低模型性能,使其学习GPT式(低质量)内容而非提升能力。
然后使用Llama 3.1 8B(或类似能力的模型)创建这些数据集中角色和情境的数据库,用于去重,确保每个角色或情境只有一个条目。
微调的黄金法则
与初始预训练阶段不同,微调的黄金法则不是数量,而是质量优先。因此,这里使用的数据集比包含重复角色和情境的数据集小几个数量级,但最终结果是一个不像是另一个创意写作/角色扮演模型“近亲繁殖”的模型。
训练参数与非常规方法
通常的方法是使用低学习率和高梯度累积以获得更好的损失稳定性,然后运行多个训练周期直到损失可接受。
然而,RPMax和RpR方法仅使用一个周期,低梯度累积和高于常规的学习率。训练期间的损失曲线实际上不稳定且上下波动,但如果平滑处理,它会随时间稳步下降。理论是,这使得模型能够从数据集中的每个示例中学习更多,并且通过不使用多个周期向模型展示相同示例,防止模型固守并强化单一角色或故事套路。
训练期间损失的波动是因为当模型在新数据集条目上训练时,它从未见过类似示例,因此无法预测与示例条目相似的答案。而相对较高的最终损失(1.0或略高)实际上是可以接受的,因为目标从来不是创建一个能够像训练数据集那样精确输出的模型,而是创建一个足够创意以形成自己响应风格的模型。
这与在特定领域训练模型并要求模型可靠地像示例数据集那样输出不同,例如在公司内部知识库上训练模型。
试试看!
模型偏好是主观的,请亲自尝试QwQ-32B-ArliAI-RpR-v4。您的反馈(无论好坏)对我们改进未来的RPMax和RpR模型都非常宝贵。