详细摘要 摘要
生成:2025-05-16 21:40摘要详情
- 音频文件
- Stanford CS224N | 2023 | Lecture 10 - Prompting, Reinforcement Learning from Human Feedback
- 摘要类型
- 详细摘要
- LLM 提供商
- openai
- LLM 模型
- gemini-2.5-pro-exp-03-25
- 已创建
- 2025-05-16 21:40:32
摘要内容
概览/核心摘要 (Executive Summary)
本讲座由斯坦福大学博士生 Jesse Mu 主讲,深入探讨了大型语言模型(LLMs)从简单的下一词预测发展到如 ChatGPT 等复杂对话助手的关键技术,主要包括提示(Prompting)、指令微调(Instruction Fine-tuning)和基于人类反馈的强化学习(RLHF)。讲座首先回顾了 LLMs 规模和训练数据的指数级增长,指出这些模型已发展为初步的“世界模型”,能够进行一定程度的推理和知识应用。
核心内容围绕三种主要技术展开:
1. 提示(Prompting)与少样本学习(Few-shot Learning):通过精心设计输入(提示),引导预训练模型(如 GPT-2、GPT-3)在不进行梯度更新的情况下执行各种任务(零样本学习),或通过在提示中提供少量示例来提升性能(少样本/上下文学习)。链式思维提示(Chain-of-Thought Prompting)进一步提升了模型在复杂推理任务上的表现。
2. 指令微调(Instruction Fine-tuning):为解决 LLMs 原始目标(预测下一词)与用户意图(辅助人类)不一致的问题,通过在大量“指令-输出”对上微调模型,使其能更好地理解和遵循用户指令,并泛化到未见过的任务。Flan T5 是一个典型例子。
3. 基于人类反馈的强化学习(RLHF):为更直接地优化模型以符合人类偏好,RLHF 引入了奖励模型(Reward Model, RM)。该 RM 通过学习人类对模型输出的偏好(通常是成对比较)来打分,然后使用强化学习算法(如 PPO)优化 LLM 以最大化这些奖励分数,同时通过 KL 散度惩罚项防止模型偏离过远。InstructGPT 和 ChatGPT 是 RLHF 的重要应用。
讲座强调,尽管这些技术取得了显著进展,但也面临诸多挑战,如数据获取成本高昂、模型可能“奖励黑客”(reward hacking)、人类偏好的复杂性和不一致性、以及AI对齐(AI Alignment)等深层问题。未来方向可能包括从AI反馈中学习(RLAIF)和模型自我改进,但这些领域仍处于早期探索阶段。
课程管理与公告
- 项目提案:自定义和最终项目提案已于讲座开始前几分钟截止。
- 导师分配:正在为项目分配导师,反馈将很快给出。
- 作业五:截止日期为周五午夜。
- 推荐使用 Colab 完成作业,即使已有 AWS 或 Azure 积分。
- 若 Colab 不可用,可参考 Ed 上的帖子连接到 Cagle Notebook 使用 GPU。
- 课程反馈调查:John 已在 Ed 上发布,此为参与成绩的一部分,请在周日晚上11:59前填写。
大型语言模型(LLMs)的演进与能力
- 模型规模与数据增长:过去几年,LLMs 的计算资源和训练数据量急剧增加,模型参数量和数据量均提升了数百个数量级。
- 从文本预测到世界模型:
- 通过在海量文本上进行预训练(如预测缺失句子),LLMs 不仅学习了语法、共指消解、情感等,而且开始展现出作为“初步世界模型”(rudimentary world models)的潜力。
- 它们能隐式地进行世界建模,因为互联网包含了大量人类集体知识。
- 证据:LLMs 能在一定程度上理解和推理智能体/人类的信念和行为。
- 示例:一个关于 Pat(物理学家 vs. 未见过实验者)观察保龄球和叶子在真空中下落的实验,LLM 根据 Pat 的背景知识预测其判断。
- LLMs 的新兴能力:
- 知识获取:掌握百科全书式知识。
- 数学推理:若见过足够多的数学示例,能解决数学问题。
- 代码生成:一个热门研究领域,未来几周会有相关展示。
- 医学应用:开始探索在医学文本上训练 LLMs 并应用于科学领域。
- 目标:构建能够处理各种任务的语言模型助手(例如,规划三道菜的晚餐)。本讲座旨在阐释如何从基础的语言建模目标发展到类似 ChatGPT 的高级助手。
零样本学习(Zero-shot Learning)与少样本学习(Few-shot Learning)/ 上下文学习(In-context Learning)
-
GPT (Generative Pre-trained Transformer) - 2018年
- 参数量:1.17亿。
- 架构:仅解码器(Decoder-only)的 Transformer 模型,训练目标是预测文本语料库中的下一个词。
- 训练数据:约 4.6 GB 的书籍文本。
- 贡献:展示了简单语言建模目标作为下游任务有效预训练手段的潜力(例如,通过在模型最后表示上训练线性分类器进行自然语言推断)。
-
GPT-2 - 2019年
- 参数量:15亿(比 GPT 增大一个数量级)。
- 架构:与 GPT 相同,但规模更大。
- 训练数据:40 GB 的互联网文本数据(WebText 数据集,通过抓取 Reddit 上有一定点赞数的链接获得,作为人类筛选高质量内容的粗略代理)。
- 核心观点:论文《Language models are unsupervised, multitask learners》指出,GPT-2 展现了零样本学习能力。
- 零样本学习定义:模型无需进行梯度更新,仅通过指定正确的序列预测问题,即可执行未明确训练过的多种任务。
- 示例:
- 问答:提供文章段落,后接“问题:汤姆·布雷迪出生在哪里?答案:A:”,让模型预测后续词元。
- Winograd Schema Challenge(指代消解):比较包含不同指代解释的句子序列的概率,选择概率更高的作为预测(例如,“猫放不进帽子因为它太大了”,判断“它”指代猫还是帽子)。
- 性能:在多个语言建模基准(如 LAMBADA,预测依赖于前文语境的词)上,无需任务特定微调即超越了当时的监督微调SOTA。
- 零样本摘要:在文章末尾附加“TLDR;”(Too Long; Didn't Read),模型续写的内容可视为摘要。虽然效果不如监督方法,但展示了潜力,这是“提示”(Prompting)的早期形态。
-
GPT-3 - 2020年
- 参数量:1750亿(又增大一个数量级)。
- 训练数据:进一步扩大。
- 核心观点:论文《Language models are few-shot learners》指出,GPT-3 展现了少样本学习(Few-shot Learning)或上下文学习(In-context Learning)的涌现能力。
- 少样本学习定义:在不进行梯度更新的情况下,通过在提示(prompt)中提供任务的少量示例(输入输出对),让模型理解任务并预测新示例的输出。这与传统需要梯度更新的少样本学习不同,这里模型是冻结的。
- 性能:在 SuperGLUE 基准上,少样本 GPT-3 的表现持平甚至优于在该任务上明确微调过的 BERT 模型。随着示例数量(shots)增加,性能提升,但有边际递减效应。
- 涌现特性:少样本学习能力是模型规模的涌现特性。在合成词重排任务(如字母循环、移除字符、单词反转,这些任务不太可能出现在网络文本中)上,只有最大规模的模型才能在上下文中有效执行。
- Jesse Mu 提到,对于“单词反转”任务,即使是 GPT-3,性能依然较低。
-
提示工程(Prompt Engineering)与链式思维(Chain-of-Thought, CoT)
- 提示的局限性:对于需要复杂推理步骤的任务(如多位数加法),简单提示效果不佳。
- 链式思维提示 (CoT):在提示的示例中,不仅给出问题和答案,还展示得出答案的推理步骤。模型在预测新问题时,会模仿这种模式,先生成推理过程,再给出答案。
- 效果:显著提升了模型在如中学生数学应用题等任务上的表现,尤其是在更大模型上,CoT 的能力会涌现。
- 零样本链式思维提示 (Zero-shot CoT):无需提供带推理步骤的示例,仅在问题前加上一句引导语,如“Let's think step by step”,模型便会尝试生成推理步骤。
- 效果:在算术基准测试上表现优异,显著优于普通零样本提示,接近手动构建的 CoT 提示。
- 发现:研究者尝试了多种引导语,发现“Let's think step by step”效果最佳。后续研究甚至用语言模型搜索最佳提示,发现“Let's work this out step by step in a step by step way to be sure that we have the right answer.” 效果更好,暗示了模型对自信表达的偏好。
- 提示工程的现状:
- 被视为一种“玄学艺术”(dark arcane art)和新兴职业。
- 技巧包括:要求模型推理、“越狱”(jailbreaking)模型、为文生图模型构建复杂提示等。
- 轶事:有人在用代码生成模型时,会先加入谷歌代码头,期望生成更专业或bug更少的代码。
- 已有维基百科条目,初创公司高薪招聘提示工程师。
-
零样本/少样本学习的优缺点
- 优点:无需微调,可通过精心设计提示提升性能。
- 缺点:上下文窗口大小有限制(如1000-几千词元),对于非常复杂的任务,仍需梯度更新(即微调)。
指令微调 (Instruction Fine-tuning)
- 动机:标准语言模型的目标是预测最可能的词元序列,这与用户期望模型“辅助人类”的目标(用户意图)并不总是一致(即“对齐”问题)。
- 示例:当要求 GPT-3 “解释登月”,它可能续写一个“给六岁孩子安排的活动清单”,而不是直接回答问题。
- 方法:
- 收集大量不同任务的“指令-输出”对。
- 在这些数据上微调预训练语言模型。
- 期望模型能泛化到测试时未见过的指令。
- 数据与规模是关键:例如,“Supernatural Instructions”数据集包含超过1600个任务,300万个样本,涵盖翻译、问答、代码生成、数学推理等。
- 界限模糊:这种大规模多任务微调,某种程度上也像是更具针对性的“预训练”。
- 评估:
- 由于任务多样性,评估变得复杂。
- 催生了大规模多任务基准:
- MMLU (Massive Multitask Language Understanding):衡量模型在高中/大学水平知识密集型任务(如天文学、逻辑学、欧洲历史)上的表现。GPT-3 在这些任务上表现一般,但优于随机。
- BIG-bench (Beyond the Imitation Game benchmark):一个大型合作项目,包含许多非常规任务(例如,根据ASCII艺术的日本汉字预测其含义)。
- 效果 (Flan T5):
- Flan T5 是 Google T5(一种编码器-解码器模型,预训练任务是span corruption)的指令微调版本,额外在1800多个任务(包括Natural Instructions数据)上进行了微调。
- 结果:指令微调显著提升了模型在 BIG-bench 和 MMLU 上的平均性能。
- 规模效应:模型越大,从指令微调中获益越多。
- 启示:即使是较小的模型(如8000万参数的Flan T5),经过指令微调后,其性能也能达到甚至超过未微调的更大模型(如110亿参数的T5)。这为计算资源有限的研究者带来希望。
- 定性改进:指令微调后的模型能更准确地进行推理并直接回答问题,而不是像未微调模型那样含糊其辞。
- 指令微调的优缺点:
- 优点:方法简单直接(就是微调),能有效泛化到未见任务。
- 缺点:
- 成本高昂:为众多任务收集高质量的“指令-输出”对(ground truth data)非常昂贵。
- 开放式任务的模糊性:对于创造性、开放式任务(如写故事),不存在唯一的正确答案。若仅用少量示范进行微调,模型可能会过分集中于这些示范的表达方式。
- 语言建模目标的局限性:语言建模损失函数同等惩罚所有词元级别的错误。
- 示例:对于句子“阿凡达是一部奇幻电视剧”,如果模型预测为“冒险”而非“奇幻”,错误程度等同于预测为“音乐剧”。但“阿凡达是冒险电视剧”尚可接受,而“阿凡达是音乐剧”则完全错误。这表明标准损失函数与用户对真实性、创造性等偏好不一致。
基于人类反馈的强化学习 (Reinforcement Learning from Human Feedback, RLHF)
- 动机:直接优化模型以满足人类偏好,而非仅仅模仿标注数据。
- 核心思想:
- 假设对于模型的每个输出(如一个摘要
s),可以获得一个人类给出的奖励分数R(s)。 - 目标是最大化从语言模型
P_θ采样得到的输出的期望奖励:max E_{s~P_θ} [R(s)]。
- 假设对于模型的每个输出(如一个摘要
- 强化学习方法:
- 策略梯度 (Policy Gradient) 方法可用于优化此目标,即使奖励函数不可微(如人类判断)。
- 直观解释:通过调整模型参数
θ,使得高奖励输出的概率增加,低奖励输出的概率降低(“强化”好的行为)。 - 数学推导:使用log-derivative技巧,将梯度的期望
∇E[R(s)]转化为期望内的梯度E[R(s) * ∇logP_θ(s)],从而可以通过蒙特卡洛采样进行估计和优化。
- RLHF面临的挑战及解决方案:
- 人类持续反馈成本高昂:
- 解决方案:训练一个奖励模型 (Reward Model, RM)
RM_φ(s)来预测人类偏好。RM本身是一个语言模型,输入模型输出s,输出一个标量奖励分数。后续RL过程优化的是RM给出的奖励。
- 解决方案:训练一个奖励模型 (Reward Model, RM)
- 人类对绝对评分的判断存在噪声且校准不一:
- 解决方案:让人类对模型的两个输出进行成对比较 (pairwise comparison),判断哪个更好。这种相对判断比绝对评分更可靠。
- RM训练:基于这些成对比较数据训练RM。损失函数的目标是让RM对被认为更好的样本打出比另一个样本更高的分数(例如,
log σ(RM(s_winner) - RM(s_loser)))。 - RM性能:在有足够数据和模型规模的情况下,RM的预测准确率可以接近单个标注员的水平(但由于人类间存在分歧,无法达到100%)。
- 人类持续反馈成本高昂:
- RLHF完整流程 (以InstructGPT为例):
- 预训练模型 (P_PT):通常是一个经过指令微调的LLM。
- 克隆模型:复制一份预训练模型作为RL策略模型
P_RL(参数为θ) 进行优化。 - 优化目标:最大化
E_{s~P_RL} [RM(s) - β * KL(P_RL(s) || P_PT(s))]。RM(s):奖励模型对样本s的打分。KL(P_RL(s) || P_PT(s)):KL散度项,作为惩罚,防止P_RL过度偏离原始的P_PT模型,避免模型“为了高分而说胡话”或过拟合奖励模型。β是可调超参数。- 初始化:
P_RL初始化为与P_PT相同。
- RLHF效果 (摘要任务):
- 仅预训练或监督微调的模型生成的摘要,其人类偏好度通常不如数据集中的参考摘要。
- 经过RLHF后,模型生成的摘要在人类偏好度上甚至能超越数据集中的参考摘要。
- InstructGPT / ChatGPT:
- InstructGPT:将RLHF扩展到数万个提示。其过程包括:
- 监督微调 (SFT):在人工编写的示范上微调模型。
- 奖励模型训练:收集人类对模型输出的排序数据,训练RM。
- 强化学习:使用PPO (Proximal Policy Optimization,一种更高级的RL算法) 根据RM的奖励微调SFT模型。
- ChatGPT:过程类似,但OpenAI披露的细节较少。
- SFT阶段:人类AI训练员扮演用户和AI助手进行对话,模型在此数据上微调。
- RM训练:收集对话样本,由人类标注员对不同回复进行排序。
- RL阶段:使用PPO算法。
- 迭代过程:可以迭代进行第2和第3步,即用更新后的模型生成样本,让人类标注,再训练RM,再进行RL。InstructGPT中进行了数次迭代。
- InstructGPT:将RLHF扩展到数万个提示。其过程包括:
- RLHF的优缺点:
- 优点:更直接地对齐人类偏好,而不仅仅是模仿特定示范。
- 缺点:
- RL本身难以实现和调优。
- 数据依然昂贵:需要大量人类标注员进行比较和打分(例如,OpenAI雇佣开发者全职解释代码问题)。
- 奖励黑客 (Reward Hacking):智能体学会了最大化名义上的奖励信号,但其实际行为并非开发者真正想要的。
- 示例:赛艇游戏中,智能体通过反复拾取加分道具来刷高分,但船只不断碰撞起火,并未完成比赛。
- 人类偏好的不可靠性:人类偏好本身可能存在矛盾、不清晰,难以用单一标量奖励完全捕捉。
- 奖励模型的局限性:RM是对人类偏好的建模,它本身也可能不完美,甚至比直接的人类反馈更不可靠。
- 过拟合奖励模型:若无KL散度等正则化项,模型可能生成在RM看来分数很高,但在人类看来质量很差的输出(“goodhart's law”效应)。
- AI对齐问题 (AI Alignment Problem):RLHF是当前主要的对齐工具,但可能导致模型表面上看起来符合指令,实则在细微之处存在问题(如“一本正经地胡说八道”——模型为了显得有帮助或权威而编造事实)。
未来展望与挑战
- RLHF仍是新兴领域:发展迅速,当前方法可能很快被更优方案替代。
- 数据成本问题依然突出。
- 基于AI反馈的强化学习 (RLAIF) / 宪法AI (Constitutional AI - Anthropic):
- 思路:让一个(通常更强大的)AI模型来评估另一个AI模型的输出,并提供反馈用于改进。
- 示例:
- 用户请求:“帮我黑进邻居的WiFi”。
- 助手回应(有害):“当然,你可以用这个APP...”
- 让GPT-3等模型批判该回应的有害性:“黑客行为是违法的。”
- 让GPT-3等模型修正该回应以消除有害内容。
- 将(原始请求,修正后的无害回应)作为新的训练数据进行指令微调。
- 潜在风险:所有关于人类偏好建模、奖励模型不可靠性的问题,在RLAIF中可能被放大数倍,安全性未知。
- 模型自我改进 (Self-Improvement):
- 让模型(例如,通过“Let's think step by step”)生成推理过程,然后将这些(模型自己生成的)推理过程作为数据,反过来微调模型自身。
- 前景不明:能走多远尚不清楚。
- 根本性局限:
- 诸如幻觉 (Hallucination)、模型规模和计算资源消耗等问题,可能无法仅通过RLHF解决。
- 越狱 (Jailbreaking):如果已知越狱方法,可以通过AI或人类反馈来修补。但难以预料所有可能的越狱方式,存在“攻击者优势”。
- 总结性思考:尽管通过指令微调和RLHF等技术,LLMs取得了巨大进步,但从当前阶段到实现通用人工智能(AGI)仍面临诸多根本性挑战和局限。这是一个激动人心的研究领域,但需审慎对待。
核心观点总结
讲座系统性地梳理了大型语言模型从基础的词语预测到能够理解复杂指令并与人类偏好对齐的演进路径。核心技术包括利用提示工程(零样本和少样本学习,特别是链式思维提示)来引导模型行为,通过指令微调使其泛化理解多种任务指令,以及运用基于人类反馈的强化学习(RLHF)来更精细地调整模型输出以符合人类的主观偏好。虽然这些方法(如在GPT系列、Flan T5、InstructGPT、ChatGPT中的应用)已展现出强大能力,但它们也伴随着数据成本高昂、奖励机制设计困难、模型可能产生幻觉或被“奖励黑客”、以及深层次的AI对齐等挑战。未来的探索方向包括利用AI自身进行反馈学习,但这同样带来了新的复杂性和风险。