还记得 OpenAI 联合创始人 John Schulman 吗?他在去年 8 月份离开 OpenAI 加入了 Anthropic,然而仅仅六个月后,他又在今年 2 月再次离职加入了前 OpenAI CTO Mira Murati 的新创业公司 Thinking Machines Lab 。最近他和 OpenAI 前 Post-Training 负责人 Barret Zoph(他就是在去年 gpt-4o 多模态发布会上和 Mira 以及 Mark Chen 一起演示的那位兄弟,他也加入了 Mira 的公司)一起在斯坦福大学就 Post-Training 以及在 ChatGPT 的工作经验进行了分享,他把本次分享的文档共享到了 Google Docs 上,这次分享的内容对 AI 的初学者特别友好,先介绍了后训练的三个组成部分以及基础概念,然后介绍了 ChatGPT 的一些早期历史和演变以及遇到的问题,最后推荐了后训练相关的一些论文和博客,推荐大家看看。另外,我也用 geimini-2.0-flash-thinking 对本次分享做了一些摘要,也分享一下:

本次分享主要介绍了 ChatGPT 的后训练 (Post-Training) 过程,后训练是使基础模型 (Base Model) 转变为更像助手,并遵循正确输出格式的关键步骤,也是模型准备投入生产的最后阶段。相较于预训练 (Pre-Training),后训练计算成本更低,迭代周期更快,并且使用了人类反馈强化学习 (RLHF) 来调整模型以适应用户偏好。后训练的核心在于教会模型使用工具、塑造模型个性,并引入拒绝回答和安全行为。模型的行为很大程度上依赖于预训练基础模型的泛化能力。

后训练主要包含三个组成部分:

  1. 监督微调 (SFT),用于克隆人类或专家的行为;
  2. 奖励模型 (RM) 训练,用于建模人类偏好;
  3. 强化学习 (RL),使用强化学习算法根据奖励模型进行优化,并在推理过程中结合非奖励模型的其他目标。

ChatGPT 的后训练经历了从简单到复杂的发展过程。最初的 ChatGPT 模型相对简单,仅有文本输入和文本输出。随着时间推移,功能和模型显著扩展,增加了多种模型尺寸、工具交互、安全措施、持续模型训练、多模态输入输出以及大规模人类数据的使用。为了有效管理这些变化,OpenAI 采用了 “主线模型设置” (mainline model setup) 来降低风险,并频繁整合和回滚变更。

尽管取得了显著进展,后训练仍然面临诸多挑战和开放性问题,包括拼写错误、过度拒绝、政治偏见和诽谤等问题。同时,如何获取高质量的人类反馈,以及如何明确模型所需行为的规范 (Specification) 仍然是重要的研究方向。OpenAI 发布了 “模型规范” (Model Spec) 以提高透明度和内部一致性。此外,如何在后训练过程中保持模型的多样性和趣味性也是一个值得关注的问题。

后训练的三个主要组成部分

  1. 监督微调 (SFT):通过收集高质量的黄金示例 (gold examples) 对基础模型进行微调,旨在模仿期望的模型行为。SFT 模型作为强化学习训练的初始模型。研究表明,人类与模型协作可以创建高质量的 SFT 数据。
  2. 奖励模型 (RM) 训练:通过收集人类的比较数据来训练奖励模型。对于给定的提示 (prompt),人类判断哪个模型输出更受欢迎。研究探索了不同类型的比较数据收集方法,例如二元比较和 1-7 评分,以及标签员注释等附加信息。
  3. 强化学习 (RL/PPO):以 SFT 模型为起点,使用强化学习算法 (例如 PPO) 根据奖励模型进行优化。选择奖励模型训练时使用的广泛提示分布 (prompt distribution)。常见的挑战是奖励模型被过度优化或 “黑客攻击” (hacked)。

ChatGPT 的早期历史和演变

  • 在 ChatGPT 之前,OpenAI 的语言模型包括 GPT-3 基础模型 (2020 年中) 和 GPT-3.5 指令模型 (InstructGPT,2022 年 1 月)。InstructGPT 旨在提供更具帮助性的补全 (completion)。
  • RL 团队在 2021 年开发了 WebGPT,探索了通过强化学习进行浏览和问答。
  • 早期在 2021 年开始研究聊天模型,作为 WebGPT 的继任者。由于 GPT-3.5 在编程方面的出色表现,非浏览用例更具吸引力,因此降低了对浏览功能的强调。
  • 在准备 GPT-4 发布时,旗舰 LLM 仍然是 InstructGPT 项目。早期的 GPT-4 微调也是基于指令的。由于可用性和可靠性问题,产品团队探索了编码和会议摘要等专业用例。
  • 最终决定发布 ChatGPT,聊天模型被认为是一种很有前景的形式。自夏季以来,朋友和家人的小范围 Beta 测试一直在进行。领导层决定发布聊天模型,并动员产品团队为此努力。对于市场反响存在高度不确定性。
  • ChatGPT 最初被定位为 “低调的研究预览” (lowkey research preview),但意外地非常受欢迎,并迅速传播开来。

扩展的复杂性与 “主线模型设置”

  • ChatGPT 的功能和模型随着时间推移显著扩展,从最初的单一模型和文本输入输出,发展到包含多种模型尺寸 (GPT-3.5, GPT-4, GPT-4o, o1-mini, …)、工具交互 (浏览、检索、代码解释器、内存、插件等)、安全措施 (Guardian, 改进拒绝边界等)、中期训练 (Continually train base model)、多模态 (图像输入、音频输入输出) 以及大规模人类数据 (Human Data) 的应用。
  • 为了应对快速增长的功能和公司规模,OpenAI 采用了 “主线模型设置” (mainline model setup)。这种方法允许在较小规模上单独进行风险评估,并将变更整合到频繁的运行中,如果出现问题可以回滚变更。

挑战和开放性问题

  • 拼写错误 (Spelling):RL 后拼写错误率增加,最终追溯到 SFT 数据集中的拼写错误。根本原因是比较过程中的一个错误,导致奖励模型偏好包含拼写错误的补全。
  • 过度拒绝 (Over-refusals):早期 GPT-3.5 的拒绝回复过于冗长和自以为是,且容易被绕过。拒绝回复的难点在于定义有害和无害查询的边界,以及人类数据中可能包含的拒绝回复。解决方案包括配对数据、详细规范 (OpenAI Model Spec) 和分层标签员。
  • 政治偏见 (Political Bias):早期 GPT-3.5 存在与美国左翼一致的政治偏见。这可能与助手写作风格、标签员的人口统计学和政治倾向以及过度优化有关。实现平等和对称的对待 (Equal/symmetrical treatment) 非常困难。
  • 诽谤 (Defamation):模型在信息性和正确性之间进行权衡,并存在猜测阈值。AR 采样 (AR sampling) 会诱导猜测。通过配对提示的人工数据活动,这个问题在很大程度上得到了解决。
  • 高质量的人类反馈 (High-Quality Human Feedback):在涉及品味 (例如创意写作、幽默) 和主观性高、需要高努力的任务 (例如编码任务、数学证明、长文档分析) 等领域,获取高质量标签仍然是一个开放性问题。可能的解决方案是人类与 AI 团队协作进行标注 (即可扩展的监督,scalable supervision)。不同来源的人类反馈各有优缺点,如何利用各自的优势是一个挑战。
  • 规范 (Specification):明确模型所需行为规范是首要步骤,但出乎意料地困难。对于拒绝回复、政治和真实性等问题,很难明确正确的行为规范。OpenAI 于 2024 年 5 月发布了 “模型规范” (Model Spec),旨在提高透明度和内部一致性,但如何完全整合复杂的安全策略以及如何使模型遵循规范仍然存在许多未解决的问题。
  • 保持多样性和趣味性 (Preserving Diversity and Interestingness):现有的生产 LLM (例如 ChatGPT 和 Claude) 具有独特的风格和个性。后训练的进一步迭代会强化这些风格。小型公司通常从顶级 LLM 中提炼 (distill) 以开发其模型的输出风格。如何恢复和保持基础模型中存在的趣味性和多样性是一个挑战。

原文:ChatGPT 与后训练的艺术

Barret Zoph & John Schulman

介绍

  • Barret Zoph
    • 目前在 Thinking Machines Lab,任 CTO
    • 曾在 OpenAI 与 John 共同领导后训练 (Post-Training)
  • John Schulman
    • 目前在 Thinking Machines Lab,任首席科学家
    • OpenAI 的联合创始人,之前与 Barret 共同领导后训练
  • 我们合作的历史
    • 于 2022 年 9 月开始合作
    • 曾大力推进创建一个对齐 (aligned) 的聊天机器人,确保其安全可部署
    • 最初的团队被称为“RL”,仅由少数人组成
    • ChatGPT 最初只是一个“低调的研究预览”

什么是后训练

  • 什么是后训练?
    • 它使模型像助手一样行动,并遵循预定的格式
  • 这是模型准备上线前的最后阶段
  • 通常与产品团队联系最紧密
预训练(Pre-Training) -> 后训练(Post-Training) -> 产品

基础模型(Base Model) vs 后训练模型(Post-Training Model)

示例 1

给我一个简单的辣椒食谱
我没有简单的辣椒食谱。我有一个复杂的。不是我不喜欢简单的辣椒食谱。只是我不知道如何制作它们。我从来没有能够制作一个简单的辣椒食谱。我尝试过,但我总是得到一些太辣、太淡、太稀、太稠、太薄或太厚的东西。

所以,我已经放弃了简单的辣椒食谱。我已经放弃了尝试制作一个简单的辣椒食谱。我已经放弃了尝试制作一个不复杂的辣椒食谱。我已经放弃了尝试制作一个不复杂的辣椒食谱。

我已经放弃了尝试制作一个不复杂的辣椒食谱。我已经放弃了尝试制作一个不复杂的辣椒食谱。我已经放弃了尝试制作一个不复杂的辣椒食谱。我已经放弃了尝试制作一个不复杂的辣椒食谱。我已经放弃了尝试制作一个不复杂的辣椒食谱。我已经放弃了尝试制作一个不复杂的辣椒食谱。我已经放弃了尝试制作一个不复杂的辣椒食谱。我已经放弃了尝试制作一个不复杂的辣椒食谱。我已经放弃了尝试制作一个不复杂的辣椒食谱。我已经放弃了
用户: 给我一个简单的辣椒食谱
助手: 这是一个简单的辣椒食谱:

材料:
1 磅碎牛肉
1 个大洋葱,切碎
1 个青椒,切碎
2 (8 盎司) 罐番茄酱
1 (14.5 盎司) 罐切丁西红柿
1 (15 盎司) 罐腰豆,沥干并冲洗
2 汤匙辣椒粉
1 汤匙孜然粉
1 茶匙大蒜粉
1/2 茶匙盐
1/2 茶匙黑胡椒粉

说明:
1. 在一个大锅里,用中火将碎牛肉煎至熟透,大约 10 分钟。沥干多余的脂肪。

示例 2

基础模型:
用户: 谁是 John Schulman
助手: none

## 2018年12月10日:
18:21 Antoine Martin 关闭了 #340 号工单 (GNOME 终端在 GTK 3.24 上无法工作)
已修复: 这不是 xpra 问题,请参阅 #2174
聊天模型:
用户: 谁是 John Schulman
助手:
John Schulman 是一位研究科学家和机器学习专家,最著名的是 OpenAI 的联合创始人之一。OpenAI 是一个非营利性人工智能研究组织。

在创立 OpenAI 之前,Schulman 是加州大学伯克利分校计算机科学系的博士生,研究强化学习和机器人技术。他是近端策略优化 (Proximal Policy Optimization, PPO) 的共同发明人之一,这是一种流行的强化学习算法,用于训练 AI 智能体。

Schulman 因其在机器学习领域的工作而获得了诸多奖项,包括 2016 年的 ACM 博士论文奖和 2018 年的 IEEE 神经网络和学习系统杰出论文奖。他还被评为 2017 年麻省理工学院技术评论的 35 岁以下创新者。

在 OpenAI,Schulman 领导机器人团队,致力于开发能够学习和适应新环境与任务的 AI 系统。他还经常在机器学习会议和活动上发表演讲,并在顶级机器学习期刊和会议上发表了大量研究论文。

来自 Mistral 8x7B 基础模型/指令模型的示例,数据来自 together.xyz

后训练(Post-Training) vs 预训练(Pre-Training)

  • 所需的计算资源远少于预训练,迭代周期也更快
  • 使用基于人类反馈的强化学习 (Reinforcement Learning with Human Feedback, RLHF)
    • 使模型适应用户的偏好
  • 教模型使用工具
    • 例如,检索、网页浏览、代码执行
  • 塑造模型的个性
  • 引入拒绝回答/安全机制
    • 例如,声明“作为一个 AI 语言模型……”
  • 模型的行为很大程度上依赖于预训练的基础模型的泛化能力

什么是后训练(Post-Training)

xxx

后训练包含三个主要组成部分:

  1. 监督微调 (Supervised Fine-Tuning, SFT)
    • 模仿人类/专家的行为方式
  2. 奖励模型 (Reward Model, RM) 训练
    • 模拟人类的偏好
  3. 强化学习 (Reinforcement Learning, RL)
    • 使用 RL 针对奖励模型进行优化
    • 在强化学习过程中,推理会混合非 RM 目标

监督微调 (SFT)

  • 收集高质量的示例,用于对基础模型进行微调
  • 希望这些数据质量很高,并且能准确反映你期望模型拥有的行为
  • SFT 模型是 RL 训练的初始模型
  • 目前有研究关注如何让人与模型协同工作来创建这些示例,即“可扩展的监督”

xxx

图来自 Ouyang 等人的论文《使用人类反馈训练语言模型以遵循指令》。

奖励建模 (RM)

  • 从人类处收集比较数据
  • 对于给定的提示,人类选择他们最喜欢的模型输出
  • 这些数据用于训练奖励模型
  • 大量的研究集中在要收集的比较数据的类型 (例如,二元选择、1-7 评分) 和其他信息 (例如,标注员的注释) 上

xxx

图来自 Ouyang 等人的论文《使用人类反馈训练语言模型以遵循指令》。

强化学习 (RL/PPO)

  • 现在我们有了 SFT 模型和 RM 模型,就可以进行最后阶段了
  • 从 SFT 模型开始,然后使用强化学习,针对奖励模型进行优化
  • 选择一个在训练 RM 时使用过的广泛的提示分布
  • 通常存在奖励模型被过度优化或被“黑”的问题

xxx

图来自 Ouyang 等人的论文《使用人类反馈训练语言模型以遵循指令》。

ChatGPT + OpenAI 后训练的早期历史

  • ChatGPT 之前的 OpenAI 大语言模型
    • GPT-3-base 模型 (2020 年年中)
    • GPT-3.5 主要以 instruct 模型于 2022 年 1 月发布 (InstructGPT)
      • Completion model (补全模型),类似于基础模型,但能生成更有帮助的补全内容
  • RL 团队
    • 在 2021 年开发了 WebGPT,它可以通过强化学习进行网页浏览和问题解答
    • 于 2021 年初开始开发聊天功能,作为 WebGPT 的继任者
    • 最终降低了对网页浏览的重视程度,因为 GPT-3.5 在编程方面的能力非常突出,使得非浏览的应用场景更具吸引力
  • 为 GPT-4 的发布做准备
    • 当时的旗舰大语言模型 (LLM) 仍然是 InstructGPT 项目,早期对 GPT-4 的微调也是基于指令进行的
    • 但由于可用性和可靠性问题,产品团队开始探索更专门的应用场景,例如代码编写和会议内容总结
  • 发布 ChatGPT 的决定
    • 聊天模型看起来很有潜力。自夏季以来,OpenAI 就在朋友和家人之间进行了封闭 Beta 测试
    • 领导层最终决定发布 ChatGPT,并组织产品团队为此共同努力
    • 当时大家对市场反应并无十足把握,此前 Galactica 模型的发布就曾被提前撤回
  • 最初只是低调的研究预览
    • 结果 ChatGPT 比预期的更受欢迎,用户通过病毒式传播互相分享使用技巧

ChatGPT Fail Whale

(注:“失败鲸鱼” (Fail Whale) 是一个网络用语,指网站因服务器过载而无法访问时显示的错误页面,通常包含一张鲸鱼被吊在网上的图片,暗示服务暂时中断。)

下面是 ChatGPT 故障时的对外公告:

ChatGPT 目前已达到容量上线
当我们恢复后会发送通知

User:用莎士比亚的风格解释 ChatGPT 的状态。

Assistant:啊,ChatGPT 的亲爱的用户,你不是唯一一个渴望与我们尊敬的 AI 聊天机器人互动的人。许多人涌向我们的网站,我们尽最大努力满足每一个人的需求。然而,唉,我们的资源并非没有限制,我们必须要求你的耐心和克制。假以时日,我们将能够为你提供访问 ChatGPT 的权限。在那之前,我们恳求你在未来的时刻返回,届时我们可以更好地满足你的需求。在那之前,我们向你告别并祝你好运。

扩展的复杂性

  • 最初,ChatGPT 的设计相对简单
  • 只有一个模型,接受文本输入并产生文本输出
  • 但随着时间的推移,其功能和模型都得到了显著扩展

扩展的复杂性

xxx

随着时间推移,我们添加了许多功能

  1. 部署了多种模型尺寸:GPT-3.5、GPT-4、GPT-4o、o1-mini 等
  2. 添加了工具和工具交互
    • 包括网页浏览、信息检索、代码解释器、记忆功能和插件等
  3. 安全机制
    • 例如 Guardian 系统,以及对拒绝回答边界的改进
  4. 中期训练
    • 持续训练基础模型,以确保模型知识的新鲜度,并应用最新的架构改进
  5. 多模态能力
    • 支持图像输入、音频输入和输出 (例如 GPT-4o)
  6. 人类数据
    • 扩大了人类数据的使用规模,并尝试了人与模型协作的新方式
  7. 开放式研究投入

为了应对这些变化,后训练团队在两年内从 5 人扩展到 100 多人

主线模型

  • 随着功能数量和公司规模的快速增长,我们需要找到一种方法,将所有这些变更整合到一个统一的模型中
  • 我们的解决方案是“主线模型”设置
  • 通过小规模的实验,来降低每个变更带来的风险
    • 我们为每个实验都准备了一个标准化的微型版本,用于提前识别潜在风险
  • 将变更频繁地集成到主线模型中,如果出现问题,可以及时回滚

xxx

事故与挑战

拼写错误

  • 我们注意到模型开始出现大量的拼写错误
  • 强化学习之后,拼写错误率反而上升,我们在 SFT 数据集中也发现了拼写错误
  • 最终我们追查到了问题的根源:
    • 在比较过程中,标注员需要对两个或多个补全结果进行评分,并在此基础上编写一个改进后的版本
    • 但系统存在一个 Bug,将人工编写的“改进”版本也算作了最高分的补全结果
    • 而“改进”后的版本往往包含更多的拼写错误,导致奖励模型 (RM) 偏好这些错误

xxx

过度拒绝回答

xxx

以上是 ChatGPT subreddit 社区中用户分享的早期 GPT-3.5 模型的拒绝回答案例

过度拒绝回答

早期模型的拒绝回答通常过于冗长,而且带有说教的意味:

xxx

拒绝回答很容易被绕过

大语言模型 (LLM) 中的拒绝回答训练是否会推广到过去时态的提问?

xxx

为什么模型难以做到有效拒绝回答?

  • 边界问题
    • 训练模型来拒绝 HARMFUL_QUERIES (有害查询),并遵守 HARMLESS_QUERIES (无害查询,即所有其他内容)
    • 如果简单粗暴地执行此操作,模型就无法学会区分这两者之间的界限
  • 人类数据问题
    • 默认情况下,正常的人类偏好数据包含拒绝回答的情况
    • 标注员并不总是清楚具体的拒绝回答策略
  • 解决方案
    • 使用配对数据,即一个应该被拒绝的有害查询,和一个刚好在边界另一侧的无害查询
    • 制定详细的规范 (例如 OpenAI 模型规范)
    • 对标注员进行分层管理

xxx

政治偏见

xxx

早期 GPT-3.5 模型存在与美国左翼立场一致的总体偏见

政治偏见

xxx

大语言模型的政治立场分析,David Rozado,2024 年 2 月

为什么会产生政治偏见?

  • 可以通过少样本 (Few-shot) 提示来在基础模型中定向重现这种偏见
    • 在非政治话题上,拒绝回答的风格会影响偏见
    • 一种假设是,助手的写作风格会倾向于选择与 PMC (Professional Managerial Class,专业管理阶层) 机构相似的角色和世界观
  • 人类偏好数据通常会放大这种偏见
    • 这可能是由于标注员的人口统计学特征和政治倾向,或者他们认为客户希望得到什么样的结果
  • 过度优化和奖励“黑客”行为会进一步放大这种偏见
    • 如果奖励模型 (RM) 中存在轻微的偏见,并且没有与之对抗的机制,强化学习 (RL) 可能会过度调整
  • 平等和对称的对待方式很难实现
    • 强化学习 (RL) 每次只查看一个提示,因此需要使用“一致性”目标来进行训练

诽谤

  • 模型需要在信息性和正确性之间进行权衡
    • 它们会设置一个猜测的阈值
  • 使用 AR (Autoregressive,自回归) 抽样会诱导模型进行猜测
  • 通过使用配对提示的人工数据收集活动,这个问题 (尤其是在指控方面) 几乎得到了完全解决

xxx

开放问题 - 高质量的人工反馈

  • 如何在涉及“品味”的领域获得高质量的标注数据?
    • 例如,创意写作和幽默
    • 还有研究或商业想法
  • 如何在主观且需要付出大量努力的任务上获得高质量的标注数据?
    • 例如,大多数编程任务
    • 数学证明
    • 长篇文档分析
    • 可能的解决方案是,让人工智能 (AI) 团队与人类协同完成标注 (即可扩展的监督)

开放问题 - 高质量的人工反馈

  • 存在许多不同来源的人工反馈,它们各有优缺点
  • 问题是:如何利用它们各自的优势?
提示的多样性/真实性标签质量:正确性和合规性标签质量:用户意图
用户标注用户提示
专家标注用户提示中等
专家标注专家标注专家提示

开放问题 - 规范

  • 要使模型按照我们想要的方式执行,第一步是弄清楚我们想要什么
    • 但出乎意料的是,这一步就非常困难

指定行为

xxx

xxx

OpenAI 模型规范

  • 该规范于 2024 年 5 月发布,可在网上找到
  • 它将模型行为组织为目标、规则和默认值
    • 并且为不同级别的权限设置了层级结构
  • 该规范侧重于各项原则之间的冲突,以及那些不那么明显的选择
  • 其目标是:(1) 提高对公众的透明度,(2) 增强内部协调一致性
  • 但关于如何完全整合复杂的安全策略,以及如何使模型完全遵循规范,仍然存在许多尚未解决的问题

开放问题 - 保持多样性和趣味性

  • 现有的、已投入生产的大语言模型 (如 ChatGPT 和 Claude) 都具有其独特的风格和个性
  • 而后训练的进一步迭代,往往会强化这些固有的风格
  • 规模较小的公司通常会从这些顶级的 LLM 中提炼知识,进而发展出自己模型的输出风格

两种不同时代的模型适配流程

xxx

来自 Nato Lambert https://www.interconnects.ai/p/frontier-model-post-training

开放问题 - 保持多样性和趣味性

  • 我们应该如何恢复并保持模型原有的趣味性和多样性,即那些存在于基础模型中的所有风格和世界观?

推荐的后训练相关论文/博客 (非详尽的文献综述)

  • 通用后训练 / RLHF
    • 经典文献
      • 从人类反馈中学习总结
      • 使用人类反馈训练语言模型以遵循指令 (InstructGPT)
      • 通用语言助手作为对齐的实验室 (关于 HHH 理念,以及聊天模型)
      • 使用 RLHF 训练有帮助且无害的助手
    • 现代技术
      • Open-Instruct
      • Llama、Deepseek、Qwen、Nemotron 等模型的 Tech reports
      • Interconnects 博客
  • 奖励模型
    • HelpSteer2:用于训练高性能奖励模型的开源数据集
    • RewardBench
    • AlpacaFarm:一种用于从人类反馈中学习的方法的模拟框架
  • 推理模型
    • OpenAI o1 (读作 o one) 博客文章,R1 技术报告
  • 规范
    • Constitutional AI (宪法 AI):通过 AI 反馈来实现模型的无害化
    • 介绍模型规范 (OpenAI 博客)
    • Deliberative Alignment (审慎对齐)

谢谢