ChatGPT 的强化学习原理
强化学习的核心挑战在于如何评估模型生成的内容好坏。在传统的监督微调中,我们通过标注大量数据来引导模型学习,而在 RLHF 中,OpenAI 使用了人工反馈,通过训练一个 "奖励" 模型来模拟人类对输出的评价。这使得 ChatGPT 不仅仅进行文字接龙,而能够根据人类需求生成更准确的回答。
具体步骤
Step0:预训练大规模语言模型(LLM)
ChatGPT 首先通过预训练模型(如 Transformer)学习语言建模,即通过大量的互联网文本训练模型,使其能够生成连贯的文本。这一步为后续的 RLHF 方法奠定基础。
Step1:训练监督微调模型(SFT)
为了让模型更好地理解并回应用户的需求,OpenAI 使用了监督学习的方式,通过标注人员手工回答各种问题,训练出一个 SFT 模型。这一步让模型能够正确理解指令,而不仅仅是进行文字接龙。
Step2:训练奖励模型
奖励模型(Reward Model)是 RLHF 的关键,它通过人工标注对比不同生成输出的好坏。例如,对于同一输入,模型可能会生成不同的回答,人工标注员根据每个回答的质量进行对比和评分。为了训练这个奖励模型,OpenAI 使用了成对的比较方法,而不是给每个输出直接打分。
Step3:基于 PPO 策略的 RLHF
此步骤通过强化学习(PPO 算法)进行模型优化。PPO 是一种 on-policy 强化学习算法,旨在通过评估每个输出的奖励值来优化模型。这个过程需要多次迭代,使得模型不仅可以生成更合适的回答,还能保持与原始预训练模型的一致性,避免生成不合适的输出。
PPO 算法的理解
PPO 是一种 on-policy 强化学习方法,其核心思想是通过限制新旧策略之间的差异来保持训练的稳定性。相对熵(KL 散度)用于衡量新旧策略之间的差距,确保优化过程不会导致模型的行为偏离预期。
总结
通过 RLHF,ChatGPT 可以不断地从人工反馈中学习,逐步改进生成的内容质量。每一轮迭代都会使模型更加准确地理解和回应用户需求,从而提高用户体验。