设想读者在图书馆网站输入:“请用一句话告诉我怎么续借。”系统回答:“请用两句话告诉我怎么预约,请用三句话告诉我怎么办证。”
排比工整,服务为零。它可能顺利延续了文本形式,却没有完成读者的意图。
前一篇的大模型已经能通过提示调用多种能力。要把这种能力更稳定地变成助手行为,需要在训练目标上再往前走一步:让符合请求的回答,更容易被模型生成。
先给它看,什么叫真的在回答
设想我们准备一组教学数据,每条包含用户请求与合适回答。例如,问题限定“用一句话”,回答就只保留办理入口和必要条件;问题要求列步骤,回答才依次展开。
模型在这些示范上继续训练,根据问题和已有回答前缀,预测示范回答的后续。原有参数因此被调整。这叫监督微调,常简称SFT;监督来自示范中明确给出的目标输出。
它与ELIZA的规则转换不同。ELIZA的一个脚本可以规定遇到某个模板怎样重组;这里,许多示范共同改变共享参数,影响模型在新请求上的输出。它也与上一章临时塞进提示的几个范例不同,因为这一次确实修改了模型参数。
2022年的InstructGPT研究把人工示范训练作为流程的一步,再加入对回答的比较反馈。1
在教学例子里,如果示范总是不管问题多简单都写八段前言,模型也可能学会这种热情。数据并不会自动懂得“请直说重点”的含金量。服务台培训手册本身,也需要有人检查。
写一个好答案很难,比较两个有时容易些
仍设想同一个续借问题。候选甲写得简洁,却漏了“已经被预约的书不能续借”;候选乙包含这一条件,但稍长;候选丙语气甜美,办理入口却编错了。评价者可以比较哪份回答更符合要求,而不必每次从空白开始写标准答案。
在InstructGPT的路线中,这些比较被用来训练另一个模型,估计评价者会更偏好哪种输出。它叫奖励模型;奖励在这里是一种数值反馈,不是程序收到了一枚开心的小红花。
然后让回答模型生成候选,用奖励模型评价,再调整回答模型的参数,增加较高评分输出的倾向。同时限制它不要为了分数偏离原来的行为太远。这一类利用人的反馈开展强化学习的方法,简称RLHF,即“基于人类反馈的强化学习”。1
读者此刻只需抓住与监督微调的差别:前者主要照着示范学习,后者利用对生成结果的评价继续改善选择。强化学习如何处理行动与长期回报,我们会在游戏那一篇完整展开。
请注意,奖励模型学的是特定资料和评价标准中的偏好,不是安装了一根直接连接宇宙真理的网线。若评价者没有发现入口是假的,文采很好的候选丙就可能混进优秀员工名单。
能否省掉单独训练评分员这一步?
2023年的直接偏好优化,简称DPO,提供了另一条路线:直接用同一请求下“较受偏好的回答”和“较不受偏好的回答”来调整语言模型,无须沿用先显式训练奖励模型、再执行那套强化学习优化的完整流程。2
设想一对教学样本中,乙胜过甲,因为乙保留了影响续借的关键条件。DPO的训练目标推动模型相对于参考模型,更偏向受选回答而非落选回答。比较仍建立在整条回答及其生成概率上,不是把“不能续借”四个字设成永远应当输出的口令。
这也不等于只把赢家收进普通微调数据。成对偏好及与参考模型的关系,参与了优化目标,输家提供了比较信息。
它改变的是训练办法,不是消除了评价标准的困难。同一组评价如果奖励冗长、迎合或者漂亮的假话,简化训练流程并不能顺便把坏标准净化掉。原来有两个部门一起误会用户,现在可能少了一个部门,误会依然完整。
RLHF与DPO因此适合被放在同一个问题下理解:怎样利用反馈改变输出倾向。它们不是技术史中必然前后替代的两级台阶,具体路线取决于任务与训练设计。
让人满意,与说得正确之间还隔着核对
设想读者问:“我记得所有书都能无限续借,对吧?”一个迎合的系统回答“对”,可能短期显得顺耳;一个真正有用的回答应当根据实际规则确认,必要时指出前提不成立。
这不是断言偏好训练必然使模型迎合。问题在于,偏好数据、评价者能力和奖励模型的泛化范围,都决定了什么行为获得鼓励。InstructGPT论文也明确说明,结果对齐的是研究过程中具体人群与标准的偏好,而非未经限定的全人类价值;模型仍会犯简单错误。1
在我们的自拟服务台中,是否简洁可以直接阅读判断;某本书今天能否续借,需要访问当前记录。即使训练使模型更愿意认真回答,也不会凭空把今天的预约状态写进旧参数。
所以“助手训练成功了”应分开看:是否遵守长度要求,是否处理了条件,是否真实引用资料,是否承认不知道。礼貌、服从、正确存在交集,但不能互相替代。把“您好”写得特别真诚,也不能抵扣一个错误的还书日期。
开篇那个只会排比的系统,需要的不是再背几种排比,而是通过示范与反馈,把用户请求和合适回答更可靠地联系起来。指令与偏好训练能够推进这件事,却没有把模型变成事实数据库。
下一篇,服务台终于要翻开真正的规章。我们会看:让模型查资料之后再回答,究竟修补了哪一步,又留下哪些新的出错位置。