青训营X豆包MarsCode 技术训练营第六课 | 人工反馈强化学习模式

92 阅读4分钟
  1. 预训练大规模语言模型

    • 使用大量互联网文本数据,基于Transformer架构训练大型语言模型(LLM)。
    • 预训练模型能够完成基本的文本生成任务,但可能不满足特定用户需求。
  2. 监督模型微调(SFT)

    • 利用标注的问答数据集,通过监督学习对预训练模型进行微调。
    • 目的是让模型学会根据用户的问题生成更准确的回答。
    • 数据量有限,因此可能需要进一步的训练来提高性能。
  3. 训练Reward模型

    • 通过人工标注人员对SFT模型生成的回答进行质量评价。
    • 使用比较数据对来训练一个评价模型,该模型能够对回答的质量给出标量值(Reward值)。
    • Reward模型的输入是(prompt, response)对,输出是评价该回答好坏的分数。
  4. 基于PPO策略的强化学习(RLHF)

    • 结合SFT模型和Reward模型,使用Proximal Policy Optimization(PPO)算法进行强化学习。
    • 目的是训练一个能够更好地完成用户指令的模型。
    • 强化学习过程中,模型根据Reward模型的反馈来更新参数,以提高输出质量。
  5. PPO算法

    • PPO是一种强化学习算法,旨在优化策略更新,使模型训练更稳定。
    • 通过限制策略更新的幅度(使用clip函数),确保模型参数的稳定收敛。
  6. RLHF方法的效果

    • RLHF方法通过结合监督学习和强化学习,提高了模型对用户指令的响应质量。
    • 测试结果显示,使用RLHF方法的模型在回答质量上优于仅使用SFT的模型。
  7. RLHF方法的本质

    • 强化学习的本质是让模型在环境中自适应学习,而RLHF方法通过Reward模型来模拟这个环境,指导模型学习。
  8. 总结

    • RLHF训练过程包括:模型生成数据,Reward模型给出评价,根据目标函数更新模型参数,反复迭代以提高模型性能。
  9. 开放性思考题

    • 提出了一个思考题,即是否可以直接使用Reward模型的结果作为损失函数来微调模型,而不经过强化学习的训练过程。

SFT(Supervised Fine-Tuning)和Reward模型是大型语言模型训练过程中的两个不同阶段,它们在目的、方法和应用上有所区别:

  1. 目的

    • SFT:目的是通过监督学习对预训练的语言模型进行微调,使其更好地适应特定的任务或领域。SFT模型通过大量标注数据学习,目标是最小化预测输出和真实输出之间的差异。
    • Reward模型:目的是构建一个评估模型,用于评价语言模型生成的回答的质量。Reward模型通过比较不同回答的优劣来训练,其输出是一个标量值,代表回答的质量。
  2. 方法

    • SFT:使用带有正确答案的标注数据集对模型进行直接训练。SFT是一种简单的微调方法,依赖于大量的标注数据,即每个输入都有一个预先定义的正确输出。
    • Reward模型:通过人工对问题的每个答案进行排名,利用这些排名结果来训练模型。Reward模型的输入是问题和答案的组合,输出是一个分数,表示答案与问题的匹配度。
  3. 应用

    • SFT:SFT模型可以直接用于生成特定任务的响应,如问答、文本摘要等。SFT模型的效果非常依赖于SFT数据的质量,天花板取决于SFT数据标注的质量。
    • Reward模型:Reward模型通常不直接用于生成响应,而是用于强化学习阶段,为模型的输出提供奖励信号。这个奖励信号用于指导模型生成更符合人类偏好的输出。
  4. 训练数据

    • SFT:需要大量的标注数据,每个输入都有一个预先定义的正确输出。
    • Reward模型:需要人工对答案进行排序的数据,这些数据反映了人类对不同回答的偏好。
  5. 训练过程

    • SFT:训练过程相对简单,主要是通过监督学习对模型参数进行调整。
    • Reward模型:训练过程涉及到对比较数据对的分析,需要模型学会对prompt+answer进行打分,从而对输出结果的质量进行排序。
  6. 与强化学习的结合

    • SFT:通常不涉及强化学习,是独立使用的。
    • Reward模型:是强化学习中的关键组件,用于提供奖励信号,指导模型通过强化学习优化其输出。