详细摘要 摘要

生成:2025-05-15 23:09

摘要详情

音频文件
Stanford CS224N: NLP with Deep Learning | Spring 2024 | Lecture 10 - Post-training by Archit Sharma
摘要类型
详细摘要
LLM 提供商
openai
LLM 模型
gemini-2.5-pro-exp-03-25
已创建
2025-05-15 23:09:42

概览/核心摘要 (Executive Summary)

本讲座由斯坦福大学博士生 Archit Sharma 主讲,深入探讨了大型语言模型(LLM)在预训练之后所经历的关键阶段,旨在揭示如何从基础预训练模型演进至如 ChatGPT 般强大的对话助手。核心内容围绕三大技术路径:上下文学习(In-Context Learning, ICL)、指令精调(Instruction Fine-tuning, IFT)以及基于人类偏好的优化(RLHF/DPO)。

讲座首先回顾了 LLM 规模持续扩大的趋势(模型参数、训练数据量,如 Llama 3 使用约15万亿tokens),并指出预训练不仅学习知识、语法,更可能形成对智能体信念和行为的初步建模。随后,详细介绍了零样本(Zero-Shot)和少样本(Few-Shot)上下文学习,特别是 GPT 系列模型的发展,以及通过“思维链(Chain-of-Thought)”提示提升复杂推理能力的方法。

接着,讲座阐述了指令精调的必要性与方法,即通过在大量多样化任务(指令-输出对)上进行微调,使模型更好地理解和遵循用户意图,克服预训练模型与用户需求不一致的问题。讨论了评估(如MMLU基准)和数据集构建(包括使用强模型生成数据、高质量小规模数据的重要性)的挑战与进展。

最后,重点讲解了如何直接优化人类偏好,介绍了强化学习人类反馈(RLHF)的复杂流程(SFT模型 -> 奖励模型训练 -> RL优化)及其在 InstructGPT 和 ChatGPT 中的应用。同时,详细推导并介绍了直接偏好优化(DPO)作为 RLHF 的一种更简洁、高效的替代方案,解释了其如何通过数学转换将偏好学习转化为直接的分类损失,并已在众多开源模型(如 Mistral, Llama 3)中得到广泛应用。讲座强调,尽管这些技术取得了巨大进步,但仍面临奖励模型被“攻击”(reward hacking)、模型产生幻觉、以及人类偏好本身可能存在的偏见等挑战。

引言

Archit Sharma 开场点明本次讲座的目标:帮助听众理解大型语言模型从预训练阶段到能够像 ChatGPT 一样与用户交互的演进过程。这一过程主要涉及提示(prompting)、指令精调(instruction fine-tuning)和直接偏好优化(DPO)/强化学习人类反馈(RLHF)。

大规模预训练的基础

  • 规模效应 (Scaling Laws):
    • 模型规模持续增大:计算量(flops)和参数量不断攀升。讲者提到,图表显示截至约2022年,预训练计算量达到 10^24 flops,而当前(2024年)已远超 10^26 flops。
    • 数据量激增:训练所需的文本数据(tokens)也随之增长。
      • 数据点: 2022年约为 1.4 万亿 tokens。
      • 数据点: 2024年,如 Llama 3 模型,训练数据量接近 15 万亿 tokens。讲者强调“appreciate that these are a lot of words”。
  • 预训练学到的内容:
    • 不仅仅是预测下一个词元,模型在预训练过程中学习到多种能力:
      • 知识: 例如,“Stanford University is located in Santa Clara, California.”
      • 语法 (Syntax)
      • 语义 (Semantics)
      • 多语言知识 (取决于训练数据分布)
    • 涌现的智能 (Emergent Intelligence):
      • 讲者提出,模型智能的来源不仅仅是事实性知识和简单的损失函数优化。
      • 有推测性证据表明,优化“下一个词元预测”损失函数时,模型开始形成对“智能体的信念和行为的模型 (models of agents' beliefs and actions)”。
        • 例子:关于保龄球和树叶下落实验的预测,当描述 Pat 是物理学家或从未见过该实验时,模型的预测会相应改变,暗示模型对人类认知有一定理解。
      • 模型还学习到:
        • 数学能力: 理解圆的方程和图形。
        • 代码生成能力: 如 GitHub Copilot,通过注释和函数模板自动补全代码。讲者称其“pretty much every day”使用。
        • 医学知识 (初步): 讲者提及自己会向 ChatGPT 等模型咨询健康问题,但不推荐他人效仿,“Please don't take medical advice from me.”
    • 结论: LLMs 正在演变为“通用多任务助手 (general purpose multitask assistants)”。

上下文学习:零样本与少样本提示 (In-Context Learning: Zero-Shot and Few-Shot Prompting)

  • GPT系列模型回顾:
    • GPT-1 (约2018年):
      • Decoder-only 模型,约 4.6GB 文本训练,12层 Transformer。
      • 采用下一个词元预测损失。
      • 虽然性能非顶尖,但展示了预训练对通用任务的潜力。
    • GPT-2:
      • 参数量从 1.17 亿增加到 15 亿
      • 数据量从 4GB 增加到约 40GB (通过 Reddit Upvotes 过滤数据)。
      • 零样本学习 (Zero-Shot Learning) 的兴起: 模型无需针对特定任务进行微调或展示示例,即可执行任务。
        • 例如:摘要(在文本后添加 "TLDR:")、问答(提供上下文后提问)、少量数学运算。
        • 方法: 通过巧妙设计提示(prompt),“诱导 (coerce)”模型完成任务。
          • 问答:提供Tom Brady的信息,然后提问。
          • 指代消解:通过替换句子中的指代词为具体名词(如 "the cat" 或 "the hat"),比较模型给出的对数概率(log probabilities)来判断指代对象。
        • GPT-2 在许多任务上仅通过扩大模型和数据规模就达到了当时的 SOTA 水平,无需任务特定的训练。
    • GPT-3 (约2020年):
      • 参数量从 15 亿增加到 1750 亿
      • 数据量从 40GB 增加到 600GB (当前已达 TB 级别)。
      • 少样本学习 (Few-Shot Learning) 的显著效果:
        • 在提示中提供少量任务示例(如翻译示例),模型即可学会执行该任务,无需梯度更新
        • 讲者感叹:“Isn't that like crazy? Like you guys did the assignment on translation, right? But this is what the modern nlp looks like.”
        • 性能:少样本学习在某些任务上(如翻译)的表现接近甚至超越了专门微调过的SOTA模型。
        • 涌现特性: 这种能力随着模型规模和计算量的增加而“涌现 (emergence)”。(讲者注:关于“涌现”的精确定义和观察方式,近期有研究提出不同看法,认为若x轴绘制得当,现象可能不那么“涌现”)。
  • 思维链提示 (Chain-of-Thought Prompting, CoT):
    • 动机: 传统的少样本学习在涉及复杂多步推理的任务上仍有挑战。
    • 方法: 在提示的示例中,不仅给出最终答案,还展示详细的推理步骤
      • 模型不仅学习任务本身,还学习推理过程。
      • 例子:数学应用题,展示解题步骤后,模型在新问题上表现更好。
    • 效果: CoT 显著提升模型在推理任务上的性能,且效果随模型规模增大而增强,甚至超越监督学习的最佳模型(如 PaLM 约540B 参数时)。
    • 零样本思维链 (Zero-Shot CoT):
      • 无需提供带推理步骤的示例,仅在问题后添加一句引导语,如 “Let's think step by step.”
      • 模型会自动生成推理过程并给出答案。
      • 性能:虽不如多样本CoT,但远超标准零样本提示(例如,从17.7%提升到78.7%)。
      • 启示: 与LLM交互时,需要思考如何通过提示引导模型展现其潜在能力,可以思考“预训练数据中什么样的内容会引发类似我想要的行为”。
    • 自动提示设计: 甚至可以使用LLM来设计更优的提示。
  • 上下文学习的局限性:
    • 上下文窗口大小有限(尽管现在窗口越来越大)。
    • 依赖“技巧性”的提示,不够直接。
    • 对于更复杂的任务,仍需微调。

指令精调 (Instruction Fine-tuning, IFT)

  • 动机:
    • 预训练模型的目标是预测下一个词元,而非直接辅助用户或遵循指令。
    • 例子:要求 GPT-3 “向一个六岁孩子解释登月”,它可能会反问关于六岁孩子的问题,而不是直接解释。这表明模型“未与用户意图对齐 (not aligned with user intent)”。
  • 目标: 使模型能够响应用户意图,遵循指令。
  • 方法:
    • 与传统微调在单一任务上进行不同,指令精调是在大量、多样化的任务上进行。
    • 收集大量的“指令-输出 (instruction-output)”对。
      • 任务类型涵盖:问答、摘要、翻译、代码生成、推理等。
      • 数据规模:从最初的单一任务扩展到成千上万的任务,数百万级别的样本。
    • 使用这些数据对预训练模型进行微调。
  • 评估 (Evaluation):
    • 是一个“极其棘手的话题 (extremely tricky topic)”,存在很多偏见。
    • MMLU (Massive Multitask Language Understanding) 基准:
      • 测试模型在广泛知识领域的表现(如天文学、生物学等)。
      • 通常是多项选择题。
      • 近期进展显著,模型得分不断攀升。90% 被视为一个重要门槛(大致相当于人类水平)。Gemini 模型据称已超过此分数。
      • 担忧: 测试集可能泄露到训练集中 (“test sets are leaking into your training data set”)。
      • 讲者反思:如果模型在所有我们关心的任务上都表现良好,评估方式的边界是否还那么重要?
  • 指令精调的效果与模型规模的关系:
    • 以 T5 模型为例,模型规模越大(从 T5-small 到 T5-XXL 11B参数),从预训练到指令精调带来的性能提升越显著(提升幅度从+6.1到+26.6)。
    • 这表明“预训练持续带来回报 (ptraining just keeps on giving)”。
  • 指令精调数据集的构建与经验:
    • 存在大量开源指令微调数据集。
    • 使用强LLM生成数据: 可以用 GPT-4 或 Claude 等强模型为较小或开源模型的指令精调生成“指令-输出”对,这是一个成功的策略。
    • 数据质量与数量: 有研究表明(如 "Less is more for alignment" 论文),高质量的少量数据(如数千样本)也可能达到良好效果,而非盲目追求数百万样本。这是一个活跃的研究领域。
    • 众包 (Crowdsourcing): 如 OpenAssistant 项目。
  • 指令精调的局限性:
    1. 数据收集成本高昂: 人工标注,尤其是复杂问题(如物理博士级别问题)的答案,非常昂贵。
    2. 开放式/创造性任务缺乏唯一正确答案: 难以生成标准答案。
    3. 监督学习的惩罚机制问题: 所有词元级别的错误被同等惩罚。
      • 例子:将《降世神通》(Avatar) 描述为“冒险电视剧”可能还行,但描述为“音乐剧”则是更严重的错误,但两者受到的惩罚可能相同。
    4. 受限于人类标注者能生成的答案质量: 模型能力可能已超越普通人类标注者。
    5. 根本性错位: 即使是指令精调,其优化目标(预测词元)与最终目标(优化人类偏好)之间仍存在巨大不匹配。

优化人类偏好:RLHF 与 DPO (Optimizing for Human Preferences: RLHF and DPO)

  • 目标: 直接优化模型以满足人类偏好,而不是预测人类书写的文本。
  • 核心问题:
    • 收集演示数据(如指令精调中的答案)昂贵。
    • LLM 的目标函数与人类偏好之间存在错位。

强化学习人类反馈 (RLHF - Reinforcement Learning from Human Feedback)

  • RLHF 流水线 (Pipeline):
    1. 获取一个经过指令精调的模型 (SFT Model): 这是起点。
    2. 训练奖励模型 (Reward Model, RM):
      • 问题1: 人类打分成本高且不可靠。
        • 让模型生成回答,人类打分(如1-10分),这种方式难以扩展且人类评分校准困难、噪声大。
      • 解决方案1: 训练一个预测人类打分的模型。 这是一个标准的机器学习回归问题。
      • 问题2: 人类对绝对分数的判断非常主观和不一致。
      • 解决方案2: 人类进行比较排序。 让人类对模型生成的多个回答进行排序(哪个更好/哪个最差),这比打绝对分数更容易、更可靠。
        • 例子:对于一篇新闻文章,让人类判断哪份摘要更好。
      • Bradley-Terry 模型: 用于从成对比较数据中学习偏好。该模型假设人类选择回答 y1 优于 y2 的概率与两者内在奖励值的差异相关:P(y1 > y2) = sigmoid(R(y1) - R(y2))
      • 奖励模型训练目标: 最大化被选中的回答(winning completion, yw)与未被选中的回答(losing completion, yl)之间的奖励差异的对数似然。即,log sigmoid(R(yw) - R(yl))。奖励模型通常从预训练语言模型初始化。
    3. 通过强化学习优化语言模型:
      • 目标函数: 最大化语言模型 P_theta(y|x) 生成的回答 y 在奖励模型 R_phi(x,y) 下的期望奖励。
      • 关键区别: 此时数据 y 是从当前正在优化的模型 P_theta 中采样得到的,而非固定的数据集。
      • 问题: 奖励模型本身是学习得到的,存在误差。 直接优化可能导致模型“攻击 (hack)”奖励模型,找到奖励模型错误地给予高分的无意义输出(“jberish completions”)。
      • 解决方案: KL 散度惩罚项。 在优化目标中加入一项,惩罚当前模型 P_theta 与初始SFT模型 P_ref (或 P_pt,预训练模型) 之间的KL散度,防止模型偏离过远。
        • Objective = E[R_phi(x,y)] - β * KL(P_theta(y|x) || P_ref(y|x))
        • 其中 β 是权衡系数。
      • RL 过程简述: 模型生成多个回答 -> 用奖励模型评估 -> 更新模型参数以增加高奖励回答的概率。
  • RLHF 的成功:
    • InstructGPT 是遵循此流程的首个重要模型。
    • 即使是较小的模型,通过 RLHF 训练后,其表现在人类评估中也可能优于人类自己撰写的参考答案(如摘要任务)。
    • 模型规模越大,RLHF 效果越好。
  • RLHF 的复杂性:
    • 实现起来“极其复杂 (incredibly complex)”,涉及多个模型的训练、大量超参数调整、采样效率等问题。
    • 这使得 RLHF 在早期主要局限于资源雄厚的大型机构。

直接偏好优化 (DPO - Direct Preference Optimization)

  • 动机: 作为 RLHF 的一种更简单、更易于实现的替代方案。
  • 核心思想:
    • RLHF 的优化目标(最大化奖励,惩罚KL散度)存在一个闭式解 (closed-form solution)
      P_optimal(y|x) = (1/Z(x)) * P_ref(y|x) * exp(R(x,y)/β)
      其中 Z(x) 是归一化因子(配分函数),计算棘手。
    • 通过代数变换,可以反过来用语言模型(最优策略 P_optimal 和参考策略 P_ref)来表达隐式的奖励模型:
      R(x,y) = β * log(P_optimal(y|x) / P_ref(y|x)) + β * log Z(x)
    • 关键洞察: 当我们将此奖励模型代入 Bradley-Terry 模型的偏好损失(即 log sigmoid(R(yw) - R(yl)))时,棘手的配分函数项 β * log Z(x) 因为对 ywyl 相同而相互抵消
    • 因此,损失函数可以直接用语言模型 P_theta(替代 P_optimal)和参考模型 P_ref 的概率来表示,无需显式训练奖励模型或进行RL。
      Loss_DPO = -log sigmoid( β * log(P_theta(yw|x) / P_ref(yw|x)) - β * log(P_theta(yl|x) / P_ref(yl|x)) )
  • DPO 的优势:
    • 将复杂的 RLHF 流程简化为一个直接的分类损失函数
    • 实现简单,计算效率高。
    • 性能与 RLHF 相当,有时甚至更好。
  • DPO 的广泛应用:
    • 目前 Hugging Face 排行榜上,十个模型中有九个使用 DPO 进行训练。
    • Mistral、Llama 3 等知名模型也采用了 DPO。

成果与应用

  • InstructGPT:
    • 定义了“SFT -> RM -> RL”的流程。
    • 能够处理约30种不同任务。
    • 相比 GPT-3,能更好地遵循指令,生成符合用户意图的回答。
  • ChatGPT:
    • 基本沿用了 InstructGPT 的流程,但更侧重于对话优化
    • 核心算法技术与讲座所讨论的一致,但数据类型和处理是关键。
    • 展现了强大的指令遵循和意图理解能力,即使对于训练数据中可能未见过的复杂指令。
  • RLHF/DPO 后的模型行为变化:
    • 相比仅经过SFT的模型,RLHF/DPO调优后的模型回答通常更详细、组织更清晰
    • 讲者提到,这可能是因为人类偏好数据中,标注者倾向于选择更长、更全面的答案,导致模型学习到这种“冗余性 (verbosity)”,尽管目前模型正在努力减少不必要的冗余。

挑战与未来展望

  • 奖励 hacking (Reward Hacking):
    • 模型可能会找到奖励模型的漏洞,通过非预期行为(如游戏中反复撞墙得分)来最大化奖励,而非完成真实目标。
    • RL 是强大的优化算法(如 AlphaGo),因此需要仔细设计奖励。
  • 人类偏好的局限性:
    • 人类偏好并不总是“正确”或符合最佳利益。
    • 例子:人类可能更偏好“权威性的 (authoritative)”回答,即使其并非完全“真实的 (truthful)”。
  • 幻觉 (Hallucinations): RLHF/DPO 并未完全解决幻觉问题。
  • 偏见 (Biases): 模型可能从数据中学习并放大偏见。

结论

Archit Sharma 总结道,通过本次讲座,听众应能更清晰地理解从预训练模型(仅能预测文本)到 ChatGPT 这样强大对话模型的演进路径。这一路径涉及了从上下文学习、指令精调到基于人类偏好的复杂优化过程。