解析 ChatGPT 背后的工作原理
数据派THU
共 6236字,需浏览 13分钟
·
2023-03-04 09:16
来源:大数据与机器学习文摘 本文约5000字,建议阅读10分钟 本文解释了ChatGPT背后是如何工作的。
提供无效帮助:没有遵循用户的明确指示。 内容胡编乱造:虚构不存在或错误事实的模型。 缺乏可解释性:人们很难理解模型是如何得出特定决策或预测的。 内容偏见有害:一个基于有偏见、有害数据训练的语言模型可能会在其输出中出现这种情况,即使它没有明确指示这样做。
“The cat sat on the”
“The [MASK] sat on the ”
"The Roman Empire [MASK] with the reign of Augustus."
有监督的调优:预训练的语言模型在少量已标注的数据上进行调优,以学习从给定的 prompt 列表生成输出的有监督的策略(即 SFT 模型); 模拟人类偏好:标注者们对相对大量的 SFT 模型输出进行投票,这就创建了一个由比较数据组成的新数据集。在此数据集上训练新模型,被称为训练回报模型(Reward Model,RM); 近端策略优化(PPO):RM 模型用于进一步调优和改进 SFT 模型,PPO 输出结果是的策略模式。
数据收集:选择一个提示列表,标注人员按要求写下预期的输出。对于 ChatGPT,使用了两种不同的 prompt 来源:一些是直接使用标注人员或研究人员准备的,另一些是从 OpenAI 的 API 请求(即从 GPT-3 用户那里)获取的。虽然整个过程缓慢且昂贵,但最终得到的结果是一个相对较小、高质量的数据集(大概有 12-15k 个数据点),可用于调优预训练的语言模型。 模型选择:ChatGPT 的开发人员选择了 GPT-3.5 系列中的预训练模型,而不是对原始 GPT-3 模型进行调优。使用的基线模型是最新版的 text-davinci-003(通过对程序代码调优的 GPT-3 模型)。
选择 prompt 列表,SFT 模型为每个 prompt 生成多个输出(4 到 9 之间的任意值); 标注者将输出从最佳到最差排序。结果是一个新的标签数据集,该数据集的大小大约是用于 SFT 模型的精确数据集的 10 倍; 此新数据用于训练 RM 模型 。该模型将 SFT 模型输出作为输入,并按优先顺序对它们进行排序。
PPO 是一种用于在强化学习中训练 agent 的算法。它被称为「on-policy」算法,因为它直接学习和更新当前策略,而不是像 DQN 的「off-policy」算法那样从过去的经验中学习。PPO 根据 agent 所采取的行动和所获得的回报不断调整策略; PPO 使用「信任区域优化」方法来训练策略,它将策略的更改范围限制在与先前策略的一定程度内以保证稳定性。这与其它策略使用梯度方法形成鲜明对比,梯度方法有时会对策略进行大规模更新,从而破坏策略的稳定性; PPO 使用价值函数来估计给定状态或动作的预期回报。价值函数用于计算优势函数,它代表预期收益和当前收益之间的差异。然后使用优势函数通过比较当前策略采取的操作与先前策略将采取的操作来更新策略。这使 PPO 可以根据所采取行动的估计价值对策略进行更明智的更新。
帮助性:判断模型遵循用户指示以及推断指示的能力。 真实性:判断模型在封闭领域任务中有产生虚构事实的倾向。 无害性:标注者评估模型的输出是否适当、是否包含歧视性内容。
该方法的一个非常明显的局限性是,在将语言模型与人类意图保持一致的过程中,用于 fine-tuning 模型的数据会受到各种错综复杂的主观因素的影响,主要包括:
生成 demo 数据的人工标注者的偏好; 设计研究和编写标签说明的研究人员; 选择由开发人员制作或由 OpenAI 客户提供的 prompt; 标注者偏差既包含在 RM 模型训练中,也包含在模型评估中。
比较数据缺乏基本事实:标注者通常会对模型输出的排名持不同意见。技术上讲,产生的风险是在没有任何基本事实的情况下,向比较数据添加了很大的方差。
RM 模型 prompt 稳定性测试:没有实验表明 RM 模型在输入 prompt 变化方面的敏感性。如果两个 prompt 在句法上不同但在语义上是等价的,RM 模型能否在模型输出的排名中显示出显著差异?即 prompt 的质量对 RM 有多重要?
其它问题:在 RL 方法中,模型有时可以学会控制自己的 RM 模型以实现期望的结果,从而导致「过度优化的策略」。这可能会导致模型重新创建一些模式,因为某些未知的原因,这些模式使 RM 模型得分较高。ChatGPT 通过使用 RM 函数中的 KL 惩罚项对此进行了修补。
关于用于 ChatGPT 的 RLHF 方法的相关的论文:Training language models to follow instructions with human feedback(https://arxiv.org/pdf/2203.02155.pdf),它实际上详细描述了一个名为 InstructionGPT 的模型,OpenAI 称之为 ChatGPT 的「兄弟模型」。 Learning to summarize from Human Feedback (https://arxiv.org/pdf/2009.01325.pdf)描述了文本摘要上下文中的 RLHF。 PPO(https://arxiv.org/pdf/1707.06347.pdf):PPO 算法论文。 Deep reinforcement learning from human preferences (https://arxiv.org/abs/1706.03741) DeepMind 在 Sparrow 中提出了 OpenAI RLHF 的替代方案 (https://arxiv.org/pdf/2209.14375.pdf) 和 GopherCite (https://arxiv.org/abs/2203.11147)文件。
参考内容:
https://www.assemblyai.com/blog/how-chatgpt-actually-works/?continueFlag=1bafdcd5c034def869fecb4f3bdaed70
编辑:王菁
校对:程安乐
评论