-
预训练大规模语言模型:
- 使用大量互联网文本数据,基于Transformer架构训练大型语言模型(LLM)。
- 预训练模型能够完成基本的文本生成任务,但可能不满足特定用户需求。
-
监督模型微调(SFT):
- 利用标注的问答数据集,通过监督学习对预训练模型进行微调。
- 目的是让模型学会根据用户的问题生成更准确的回答。
- 数据量有限,因此可能需要进一步的训练来提高性能。
-
训练Reward模型:
- 通过人工标注人员对SFT模型生成的回答进行质量评价。
- 使用比较数据对来训练一个评价模型,该模型能够对回答的质量给出标量值(Reward值)。
- Reward模型的输入是(prompt, response)对,输出是评价该回答好坏的分数。
-
基于PPO策略的强化学习(RLHF):
- 结合SFT模型和Reward模型,使用Proximal Policy Optimization(PPO)算法进行强化学习。
- 目的是训练一个能够更好地完成用户指令的模型。
- 强化学习过程中,模型根据Reward模型的反馈来更新参数,以提高输出质量。
-
PPO算法:
- PPO是一种强化学习算法,旨在优化策略更新,使模型训练更稳定。
- 通过限制策略更新的幅度(使用clip函数),确保模型参数的稳定收敛。
-
RLHF方法的效果:
- RLHF方法通过结合监督学习和强化学习,提高了模型对用户指令的响应质量。
- 测试结果显示,使用RLHF方法的模型在回答质量上优于仅使用SFT的模型。
-
RLHF方法的本质:
- 强化学习的本质是让模型在环境中自适应学习,而RLHF方法通过Reward模型来模拟这个环境,指导模型学习。
-
总结:
- RLHF训练过程包括:模型生成数据,Reward模型给出评价,根据目标函数更新模型参数,反复迭代以提高模型性能。
-
开放性思考题:
- 提出了一个思考题,即是否可以直接使用Reward模型的结果作为损失函数来微调模型,而不经过强化学习的训练过程。
SFT(Supervised Fine-Tuning)和Reward模型是大型语言模型训练过程中的两个不同阶段,它们在目的、方法和应用上有所区别:
-
目的:
- SFT:目的是通过监督学习对预训练的语言模型进行微调,使其更好地适应特定的任务或领域。SFT模型通过大量标注数据学习,目标是最小化预测输出和真实输出之间的差异。
- Reward模型:目的是构建一个评估模型,用于评价语言模型生成的回答的质量。Reward模型通过比较不同回答的优劣来训练,其输出是一个标量值,代表回答的质量。
-
方法:
- SFT:使用带有正确答案的标注数据集对模型进行直接训练。SFT是一种简单的微调方法,依赖于大量的标注数据,即每个输入都有一个预先定义的正确输出。
- Reward模型:通过人工对问题的每个答案进行排名,利用这些排名结果来训练模型。Reward模型的输入是问题和答案的组合,输出是一个分数,表示答案与问题的匹配度。
-
应用:
- SFT:SFT模型可以直接用于生成特定任务的响应,如问答、文本摘要等。SFT模型的效果非常依赖于SFT数据的质量,天花板取决于SFT数据标注的质量。
- Reward模型:Reward模型通常不直接用于生成响应,而是用于强化学习阶段,为模型的输出提供奖励信号。这个奖励信号用于指导模型生成更符合人类偏好的输出。
-
训练数据:
- SFT:需要大量的标注数据,每个输入都有一个预先定义的正确输出。
- Reward模型:需要人工对答案进行排序的数据,这些数据反映了人类对不同回答的偏好。
-
训练过程:
- SFT:训练过程相对简单,主要是通过监督学习对模型参数进行调整。
- Reward模型:训练过程涉及到对比较数据对的分析,需要模型学会对prompt+answer进行打分,从而对输出结果的质量进行排序。
-
与强化学习的结合:
- SFT:通常不涉及强化学习,是独立使用的。
- Reward模型:是强化学习中的关键组件,用于提供奖励信号,指导模型通过强化学习优化其输出。