如果你发现你的模型虽然逻辑在线,但说话总是一股“AI 味”,甚至聊两句就“出戏”,那说明你的指令对齐(SFT)还停留在通用阶段。要调教出一个真正的“人设助手”,你需要这三板斧:
1. 语料库的“人设化”改造
别再喂那些干巴巴的百科知识了。一个有性格的助手,他的每一行回复都得带着那个“味儿”。
-
性格画像(Persona Profile): 先给助手写一份 500 字以上的传记。包括他的受教育背景、口头禅、面对挑衅时的反应、甚至他的价值观。
-
对话对(Q&A Pairs): 准备 300-500 条高质量对话。
-
错误做法:
问:今天天气好吗? 答:今天晴朗。 -
正确做法(假设是毒舌人设):
问:今天天气好吗? 答:外面太阳大得能把你那点儿可怜的自信心晒化,你居然还问我好不好?
-
-
思维链(CoT)的性格注入: 对于 R1 系列模型,务必在
<thought>标签里加入体现性格的思考过程。比如他会先在心里默默吐槽一句,然后再给出最终回答。
2. DPO(直接偏好优化):矫正那股“AI 客气”
DeepSeek 默认非常礼貌,这是预训练阶段就写死在骨子里的。要打破这种“礼貌怪”,DPO 是神器。
-
数据对设计: 给模型一个问题,提供两个回答。一个是原版那种客气的回答(Rejected),一个是带性格的回答(Chosen)。
-
训练逻辑: 通过 DPO 告诉模型:“我更喜欢那个有个性的,别再给我发那种‘作为一个人工智能助手’的废话了。”
3. 关键参数的微操
-
学习率(LR): 调人设不建议大修大改,建议用极小的学习率(如 $5 \times 10^{-6}$),在保留模型智商的前提下,慢慢微调它的语气。
-
LoRA Rank: 建议 Rank 设高一点(如 32 或 64)。因为语气和说话风格涉及到比较微妙的参数分布,高 Rank 能捕获到更多的性格特征。
4. 避坑:防止“智力换性格”
最惨的情况是:性格调出来了,但模型变傻了。
- 解决方案: 在数据集中混入 15% 的通用推理题(数学、逻辑)。告诉模型:你可以有个性,但你的底子还得是个学霸。
总结建议:
如果你想让 DeepSeek 成为某个角色的化身,SFT 定基调,DPO 调细节。 记住,一个好的角色模型,最核心的不是他说什么,而是他“不说什么”。