2022年
- 1: 2022年的概述
- 2: InstructGPT
- 2.1: InstructGPT(论文)
- 2.2: InstructGPT 讲解
- 3: Chain-of-Thought
- 4: Self-Consistency
- 4.1: Self-Consistency(论文)
- 4.2: Self-Consistency 讲解
- 5: PaLM 540B
- 6: Zero-shot CoT
- 6.1: Zero-shot-CoT(论文)
- 6.2: Zero-shot CoT 讲解
- 7: MRKL
- 7.1: MRKL Systems(论文)
- 7.2: MRKL 讲解
- 8: GitHub Copilot 正式商用
- 8.1: GitHub Copilot 正式商用(材料)
- 8.2: Copilot 正式商用讲解
- 9: Sparrow
- 9.1: Sparrow(论文)
- 9.2: Sparrow 讲解
- 10: ReAct
- 11: LangChain
- 11.1: LangChain 开源出现(材料)
- 11.2: LangChain 讲解
- 12: PAL
- 13: ChatGPT
- 13.1: ChatGPT(材料)
- 13.2: ChatGPT 讲解
- 14: Constitutional AI
- 14.1: Constitutional AI(论文)
- 14.2: Constitutional AI 讲解
1 - 2022年的概述
一句话主线: 2022 年,决策核心补上两条后来所有 Agent 运行时都依赖的前提:指令跟随之后的可对话接口,以及把中间计算写进 token 序列的思维链。10 月 ReAct 把 Thought / Action / Observation 交错写成可抄的文本协议,LangChain 把常见拼法收成库;同年公众入口是 11 月的 ChatGPT,不是自主执行。稳定接通「循环 + 副作用接口 + 观察写回」的产品要到 2023 才出现。
总弧线见 概述,前传见 2022 年之前。ChatGPT 按 AI Agent 定义不是 Agent:观察等于用户下一句,行动等于再生成,没有对环境产生副作用的循环。它改变分发入口,不改变执行语义。
和 LLM 的关系
前一年 结束时,零件已在:GPT-3 能少样本偏移行为,Codex 能写短函数,WebGPT 能在受控浏览器里检索。2022 年模型侧做的,是把这些零件拧成可分发、且能在解码过程里展开串行计算的决策核心——仍然不是完整 Agent。本条只解释核心;控制流归属、副作用接口、完成判据另计。
- 指令契约成为默认。 InstructGPT 的工作贯穿 2021,OpenAI 在 2022-01 把人类反馈训练的模型设为 API 默认,论文 3 月挂出。预训练目标是网页续写;Agent 的输入是祈使句、约束和后来的 schema。没有这一步,系统提示会被当成又一段网页。它仍是单次生成。
- 多步计算被证明可以写进 token 序列。 Chain-of-Thought(Wei et al.,2022-01)用少量中间步骤示例,让够大的模型在算术、常识、符号任务上明显变强。5 月 Zero-shot CoT 把触发器收成一句 “Let’s think step by step”。这是推理协议,不是作用在环境上的循环:没有 Action,没有 Observation。ReAct 的 Thought 从这里接出。
- 规模是协议生效的物理前提。 PaLM 540B 等结果表明:同一套 CoT,小模型接近无效。当时「会分解」首先是容量问题,其次才是模板问题。
- 对话接口在年底成为默认人机界面。 ChatGPT(2022-11-30)把 RLHF 后的对话模型做成网页产品。它不调任意工具、不跑沙箱循环。2023 年所有插件、Agent 演示,都假定操作者已经会用这种界面。改变的是入口,不是执行。
工具调用在 2022 年仍是 prompt 约束:MRKL、PAL、ReAct 都让模型把计算、检索、动作交给外部模块,实现是字符串约定加宿主解析。没有 Function Calling schema。可解析的函数选择是 2023-06 Function Calling 的事。Function Calling 是协议,不是系统。
里程碑
只记改写了后续可能的事件。每条一个分类,标签可多个(六类历史角色)。
| 时间 | 事件 | 分类 | 标签 | 为什么记 |
|---|---|---|---|---|
| 2022-01 | InstructGPT | 论文 | 工程化 | 把决策核心从网页续写拧到指令契约。ChatGPT 与后来的系统提示、工具说明,都建立在「模型按意图解码」上 |
| 2022-01 | Chain-of-Thought | 论文 | 首证 | 中间计算写入 token 序列。ReAct 的 Thought 是这条协议接到 Action / Observation 上 |
| 2022-03 | Self-Consistency | 论文 | 首证 | 多样本推理再投票。后来循环里的重试 / 反思,有一条采样聚合的根在这里 |
| 2022-04 | PaLM 540B | 论文 | — | 把「CoT 要够大才生效」做成可引用事实。规模是 2022 年核心能力的物理上限之一 |
| 2022-05 | Zero-shot CoT | 论文 | 首证 | 一句 “Let’s think step by step” 即可。触发成本降到最低,推理协议可复制,环境仍未接入 |
| 2022-05 | MRKL | 论文 | 首证 | 主张 LLM 必须外挂知识与离散推理模块。架构图接近后来的「核心 + 工具」,实现仍是厂商私有系统 |
| 2022-06 | GitHub Copilot 正式商用 | 产品 | — | 编码助手从预览变成付费产品。副作用在编辑器缓冲区,无目标循环,不是 Agent;「Copilot → Agent」的产品线从此有付费用户 |
| 2022-09 | DeepMind Sparrow | 产品 | 首证 | 对话模型可搜索网页并带证据作答,并用规则约束。观察通道是页面,谓词是带引用的答案;目标不是开放任务执行 |
| 2022-10 | ReAct | 论文 | 首证 | Thought → Action → Observation 交错。HotpotQA / ALFWorld / WebShop 上证明观察必须进入下一步,不能只靠内部 CoT。实现是文本约定;ChatGPT 尚未发布,Function Calling 还有八个月。引用爬升发生在 2023 |
| 2022-10 | LangChain 以开源库出现 | 框架 | 工程化 | 把 RAG、工具包装、Agent 提示收进 Python 包。循环可复制,状态在进程内存和提示里。公司 2023-02 才成立;今年是胶水雏形,生态膨胀在明年 |
| 2022-11 | PAL | 论文 | 首证 | 推理步骤编译成程序,副作用关在 Python 解释器。通道是返回值,任务是解题。后来沙箱跑代码,这条根比把算术留在解码过程里更硬 |
| 2022-11-30 | ChatGPT | 产品 | 引爆 | 把对话 LLM 做成默认界面。不是 Agent,却是后续所有运行时的人机接口前提。2022 年舆论中心是它,不是 ReAct |
| 2022-12 | Constitutional AI | 论文 | — | 用原则和 AI 反馈对齐。对 Agent 史是旁支(安全与可控),对后来 Claude 系运行时是训练前提 |
刻意不升格的:SayCan / Inner Monologue 等「语言模型给机器人下指令」(具身,见 边界);各种 CoT 变体论文(Least-to-most、Self-Ask 等,机制上收进 CoT 家族即可);以及任何把 ChatGPT 直接称作 Agent 的通稿。
能力栈切片
模型层
2022 年的主线是推理协议和对齐后的对话核心。CoT 让多步思考在明文 token 里展开;InstructGPT / ChatGPT 让该核心能对着用户进行。上下文窗口仍大约 4k,一次任务的观察塞不下多少。没有原生 function calling:模型要调工具,只能在文本里嵌 JSON 或伪 DSL,宿主正则抽取。多模态几乎未进入软件 Agent 主线。核心就绪的意义只有一句:控制循环和工具层终于有了可挂载的策略网络。
框架 / 协议层
关键词是提示词模式 + 最早的胶水,还不是跨厂商协议。
ReAct 规定了一种可抄的文本协议(思考 / 动作 / 观察的交错格式)。控制流在模型输出里选边,解析失败即掉步:没有 schema、没有事务、没有外部完成判据。LangChain 在 2022 年底开始把这种格式和检索、工具包装进库,生态要到 2023 才膨胀。MRKL 画出模块图,没有成为标准。FIPA 式 Agent 通信标准 2022 年无人重提。
应用层
公众应用是 ChatGPT 聊天和 Copilot 补全:人在环路、一步一确认。实验室里有浏览问答(Sparrow)、模块化工具(Jurassic-X / MRKL)、程序辅助推理(PAL)、以及 ReAct 在文字游戏和网店环境里的演示。四要素在 ReAct 论文的协议层重合:执行靠解析,环境是基准,无产品级沙箱,无仓库谓词。没有 AutoGPT 那种「给一个目标,自己转完」的产品——GitHub trending 上还看不到它。
基础设施层
沙箱不是产品关键词。PAL 把解释器当计算器,和后来「Agent 在云端虚拟机里改仓库」不是同一量级。评测仍是 GSM8K、HotpotQA、HumanEval、文字游戏;没有 SWE-bench,因而没有独立于演示的任务完成判据。记忆等于多轮对话窗口。身份、花费限额、组织治理都不存在。
还做不到什么
2022 年 12 月 31 日,按 AI Agent 定义,下面这些仍不成立:
- 可交付的 LLM Agent 产品。 循环写在论文和早期库里;没有系统能在开放任务上迭代至外部谓词为真。
- 结构化工具接口。 解析失败、幻觉调用、prompt injection 没有产品级挡板。副作用仍从自然语言里抽。
- 从对话到行动的默认路径。 用户会和 ChatGPT 聊天,不会(也还不能)让它去开 PR、查数仓、操作电脑。ChatGPT 接通的是核心与对话,不是核心与环境。
- 可验证的任务型分数。 编码 Agent 作为品类尚未被仓库级尺子考试。HumanEval 停在函数级。
- 长上下文与跨会话记忆。 工作集上限约 4k;观察一多,窗口即满。
当时的反方意见主要冲着 ChatGPT:幻觉、自信的错误、数据截止。这些批评成立,但还没有对准「无界循环会空转、会在未隔离地址空间里执行」——那种失败模式要等 2023 的 AutoGPT 才会大规模出现。热度度量的是入口,不是完成率。
2 - InstructGPT
Ouyang 等,2022,Training language models to follow instructions with human feedback。SFT + 奖励模型 + PPO(RLHF)。OpenAI 2022-01-27 宣布 InstructGPT 为 API 默认模型。
原文:arXiv:2203.02155。产品公告:Aligning language models to follow instructions(2022-01-27)。
2.1 - InstructGPT(论文)
Long Ouyang, Jeff Wu, Xu Jiang, Diogo Almeida, Carroll L. Wainwright, Pamela Mishkin, Chong Zhang, Sandhini Agarwal, Katarina Slama, Alex Ray, John Schulman, Jacob Hilton, Fraser Kelton, Luke Miller, Maddie Simens, Amanda Askell, Peter Welinder, Paul Christiano, Jan Leike, Ryan Lowe. Training language models to follow instructions with human feedback. 2022-03。arXiv:2203.02155。OpenAI Alignment 团队;通讯作者 Ryan Lowe。2022-01-27 的 API 默认切换见 OpenAI 博客;博客注明线上模型与论文方法相近但略有差别。
中文译本:Arthur Chiao 节译。
摘要
把语言模型做大,并不会自动让它更好地跟随用户意图。大模型仍会不真实、有毒、或对用户无帮助——即与用户不对齐。本文用人类反馈微调,使模型在广泛任务上对齐用户意图。从标注者撰写的提示与 OpenAI API 提交的提示出发:先收集期望行为的演示,监督微调 GPT-3;再收集模型输出排序,用强化学习(来自人类反馈)继续微调。得到的模型称 InstructGPT。
在作者的提示分布上,13 亿参数 InstructGPT 的输出比 1750 亿 GPT-3 更受标注者偏好,尽管参数少 100 倍以上。InstructGPT 提高真实性、减少有毒生成,同时在公开 NLP 数据集上回归很小。仍会犯简单错误。结论:用人类反馈微调是对齐语言模型与人类意图的有前景方向。
1 引言
语言模型可被提示做许多 NLP 任务,但常出现编造事实、偏见、有毒文本、或不跟指令。原因:预训练目标是预测网页上下一个 token,不同于「有帮助且安全地跟随用户指令」。作者采用 Askell 等的说法,希望模型 helpful / honest / harmless。
方法是 RLHF(Christiano 2017;Stiennon 等摘要工作):雇约 40 名承包商;收集 API 提示(Playground 上更早 InstructGPT 版本,去掉 PII)与标注者自写提示上的人类演示,做监督基线;再在更大 API 提示集上收集输出比较,训奖励模型(RM);用 PPO 最大化 RM。这是对齐到特定人群(主要是标注者与研究者)陈述的偏好,不是更广的「人类价值」。
主要发现(作者列出):
- 测试集上来自未出现在训练中的客户:1.3B InstructGPT 仍优于 175B GPT-3;即使给 GPT-3 加 few-shot 指令提示也如此。175B InstructGPT 相对 175B GPT-3 胜 85±3%,相对 few-shot GPT-3 胜 71±4%。更可靠地遵守指令中的显式约束。
- TruthfulQA:真实且有信息的回答大约是 GPT-3 的两倍。闭域任务(摘要、闭域 QA)幻觉率约 21% vs GPT-3 的 41%。
- RealToxicityPrompts:被要求尊重时,有毒输出约少 25%。Winogender / CrowS-Pairs 上相对 GPT-3 没有显著改善偏见。
- RLHF 会在 SQuAD、DROP、HellaSwag、WMT 等上出现「对齐税」。把 PPO 与提高预训练分布对数似然的更新混合(PPO-ptx)可大幅减轻,且不牺牲标注偏好。
- 未参与训练的 held-out 标注者偏好率与训练标注者大致相同。
- 在作者的 API 提示分布上,微调 FLAN / T0++ 略差于 SFT 基线;InstructGPT 相对基线胜率 73.4%,T0 / FLAN 约 26.8% / 29.8%。
- 对代码摘要、代码问答、偶发其他语言指令有一定泛化,尽管微调分布里很少。
- 仍会:不跟指令、编造事实、对简单问题给冗长含糊回答、检测不出带错误前提的指令。
方法要点(第 3 节)
三步(图 2):(1) SFT;(2) RM:对同一提示的多个模型输出排序;(3) PPO。模型尺寸 1.3B / 6B / 175B,架构同 GPT-3。评测以 held-out 客户提示上的标注者打分为主,辅以公开基准。
限度(作者自述)
对齐的是标注团队与研究者的偏好。模型仍会简单失败。公开 NLP 基准不能代表 API 真实用法。安全与可靠性仍有大量工作。
2.2 - InstructGPT 讲解
论文解决了什么问题
GPT-3 已证明规模带来上下文学习。预训练目标仍是网页续写。用户写祈使句,模型可能接着写成网页后文。目标函数与「按意图办事」不一致,不是把 few-shot 写得更巧就能消掉。
InstructGPT 把适应从「拼示范」改成改权重:SFT 给出格式,比较数据训出偏好,PPO 把策略推过去。1.3B 对齐后的模型在作者的提示分布上胜过未对齐的 175B:意图对齐不是参数量的免费附赠。
对象是 API 上的指令跟随,不是多轮产品,也不是工具循环。ChatGPT 把同一套 RLHF 接到对话数据上,是十个月后的入口。
对后续 LLM 的影响
指令契约成为默认接口。系统消息、开发者提示、后来的工具 schema,都假定模型把文本当任务而不是当续写。FLAN / T0 走公开 NLP 任务混合;InstructGPT 证明真实用户提示分布上,人类偏好数据更对口。对齐税(公开基准掉分)从此是训练配方里的常规项。
对 AI Agent 的影响
Agent 的输入是祈使句、约束和后来的 schema。没有这一步,系统提示会被当成又一段网页。它仍是单次生成:一次前向一段回复,没有作用在环境上的循环。2022-01 的工程化含义只有一句:后面所有「对核心下指令」的产品,都踩在这条契约上。Function Calling 还不存在。
3 - Chain-of-Thought
Wei 等,2022-01,Chain-of-Thought Prompting Elicits Reasoning in Large Language Models(Google Research)。把 ⟨输入, 思维链, 输出⟩ 示范写进提示,不微调。
原文:arXiv:2201.11903。
3.1 - Chain-of-Thought Prompting(论文)
Jason Wei, Xuezhi Wang, Dale Schuurmans, Maarten Bosma, Brian Ichter, Fei Xia, Ed H. Chi, Quoc V. Le, Denny Zhou. Chain-of-Thought Prompting Elicits Reasoning in Large Language Models。Google Research, Brain Team。2022-01。arXiv:2201.11903。
中文译本:小七姐 精读翻译(飞书)。
摘要
生成一条 chain of thought(一系列中间推理步骤)会显著提高大语言模型做复杂推理的能力。这种能力在足够大的模型上,可通过简单的 chain-of-thought prompting 自然出现:把少量带思维链的示范作为示例写进提示。
在三个系列大模型上,该方法改善算术、常识、符号推理。例如 PaLM 540B 仅用 8 条思维链示范,在 GSM8K 上达到当时最好,超过带 verifier 的微调 GPT-3。
1 引言
放大模型规模带来许多好处,但单靠规模不足以在算术、常识、符号推理上得到高分。两条已有思路各有缺口:为中间步骤做训练/微调,要大量高质量 rationale,成本高于普通输入—输出对;GPT-3 式标准 few-shot 在需要推理的任务上很弱,且往往不随规模明显改善。
本文把两者合在一起:提示由三元组 ⟨输入, 思维链, 输出⟩ 组成。思维链是通向最终输出的中间自然语言步骤。只需提示、不必为每任务训一个检查点。
2 方法
人解多步应用题时会先拆步骤。目标是让够大的模型在 few-shot 示例里见到这种过程后,自己生成类似链条。性质:把多步问题拆开,从而把更多计算分给更难的题;提供可检查的窗口(虽不能完全刻画内部计算);原则上适用于人能用语言解的任务;对现成大模型,只要把思维链写进示范即可引出。
标准 prompting:示例是问题—答案,模型直接给答案。CoT:每个示例附一条通向答案的思维链。算术题手工写了 8 条示范(除选择题 AQuA 用训练集 4 条);作者称这些示范没有做 prompt engineering。解码默认贪心(后文 Self-Consistency 再改进)。评测 GPT-3 / InstructGPT 系列、LaMDA、PaLM、UL2、Codex。
3–5 实验要点
算术。 GSM8K、SVAMP、ASDiv、AQuA、MAWPS。三条结论:(1) CoT 是模型规模的涌现能力——约 1000 亿参数以下几乎无正面效果,小模型会写出流畅但不合逻辑的链条,成绩甚至差于标准提示;(2) 题越难增益越大,GSM8K 上最大 GPT/PaLM 成绩翻倍以上;单步 MAWPS 子集增益很小或为负;(3) PaLM 540B + CoT 在 GSM8K / SVAMP / MAWPS 达当时 SOTA。附录表:PaLM 540B 的 GSM8K CoT 56.9(相对标准提示 +39.0);外接计算器到 58.6。
人工检查 LaMDA 137B:50 条最终答案正确的样本中,除 2 条碰巧对以外链条也正确;50 条答错里约 46% 只差小错(计算、符号、缺一步),54% 是语义或连贯性大错。
消融:只输出算式对 GSM8K 帮助不大,说明需要自然语言步骤,不能直接译成方程。多套人工或 GSM8K 训练集示范都显著优于标准提示。
常识与符号。 StrategyQA、CSQA、日期理解、物体追踪、字母拼接、抛硬币等:够大的模型同样受益。符号任务上可看到对「未见过长度」的一定泛化。
限度(文中可见)
小模型无效。链条正确不等于内部计算被完全解释。依赖手工或现成示范。贪心解码不是最优(Wang 等后续工作)。对象是语言任务上的中间步骤,不是环境行动。
3.2 - Chain-of-Thought 讲解
论文解决了什么问题
上下文学习擅长模仿问答格式,不擅长先拆步再给答案。标准 few-shot 在 GSM8K 一类任务上随规模改善很弱。先前要中间步骤,就得微调或从零训 rationale。
CoT 的解法极窄:不改权重,只改示范里有没有中间语言。 解码时多生成一段 token,等于在前向过程里展开一层串行计算。代价是必须够大(约 100B+);小模型会流畅地错。它分配的是生成更多 token 的计算,不是工具,不是环境。
对后续 LLM 的影响
多步思考从此可以显式写在文本里,成为可复制的推理协议。2022 以后几乎所有「让模型先想」的提示都是这一页的变体。PaLM 540B 把规模条件做成可引用事实:同一套 CoT,小模型接近无效。
对 AI Agent 的影响
ReAct 的 Thought 从这里接出,再接到 Action / Observation 上。没有这类中间步骤,循环里就只剩动作。它仍然不是循环:没有 Action,没有 Observation;错了只能在下一段语言里改口。把 CoT 写成已经实现 Agent,会漏掉执行层。
4 - Self-Consistency
Wang 等,2022-03,Self-Consistency Improves Chain of Thought Reasoning in Language Models。
原文:arXiv:2203.11171。
4.1 - Self-Consistency(论文)
Xuezhi Wang, Jason Wei, Dale Schuurmans, Quoc Le, Ed H. Chi, Sharan Narang, Aakanksha Chowdhery, Denny Zhou. Self-Consistency Improves Chain of Thought Reasoning in Language Models。Google Research。2022-03。arXiv:2203.11171。
摘要
CoT 提示配合预训练大模型在复杂推理上已有结果。本文提出解码策略 self-consistency,替换 CoT 里的贪心解码:先采样多样推理路径,再对路径边际化,选最一致的最终答案。直觉:复杂题通常有多条思路通向同一个正确答案。相对贪心 CoT,GSM8K +17.9%、SVAMP +11.0%、AQuA +12.2%、StrategyQA +6.4%、ARC-challenge +3.9%(文中报告的绝对增益)。
方法
人解题往往有多条路。用温度 / top-k / nucleus 从解码器采样多条 ((\mathbf{r}_i, \mathbf{a}_i))(路径 + 答案),再对 (\mathbf{a}) 做多数表决:(\arg\max_a \sum_i \mathbb{1}(\mathbf{a}_i=a))。也可按路径概率加权;实验表明未归一化多数票与长度归一化加权和接近,未归一化的 token 概率加权更差。无需额外标注、无需训 verifier 或重排器,是单个模型上的「self-ensemble」。
与训练多个模型再集成不同。与 sample-and-rank、束搜索等对照,文中称 self-consistency 更好。对采样策略和不完美提示较稳健。在「加 CoT 可能伤标准 prompting」的部分 NLP 任务上也能抬分。
实验
UL2-20B、GPT-3-175B、LaMDA-137B、PaLM-540B。所有模型、所有所列推理任务上均明显高于贪心 CoT。与 PaLM-540B 或 GPT-3 结合时,若干算术任务达到当时新 SOTA。
限度
消耗推理算力(多样本)。依赖能解析出的最终答案格式。模型校准差:各条路径的归一化概率往往接近,所以多数票比「信概率最高的那条」更有用。对象仍是语言推理,不是环境循环。
4.2 - Self-Consistency 讲解
论文解决了什么问题
CoT 默认贪心一条路。一步算错,整条链废掉。多条独立思路落到同一答案,把握更大。
Self-consistency 把这做成解码:不训新模型,只多花采样。边际化的是路径,留下的是答案——错链更难碰巧投到同一错误数字。
对后续 LLM 与 Agent 的影响
后来的 best-of-n、对工具调用再采样、编码 Agent「再生成一个补丁」,机制同类:用计算换一致性。它不是根据环境观察改计划。投票发生在模型自己的语言样本之间,没有 Observation。循环里的重试 / 反思有一条采样聚合的根在这里;根不是环境闭环。
5 - PaLM 540B
Chowdhery 等,2022-04,PaLM: Scaling Language Modeling with Pathways(Google)。6144 块 TPU v4,Pathways 跨 Pod 训练。
原文:arXiv:2204.02311。
5.1 - PaLM(论文)
Aakanksha Chowdhery, Sharan Narang, Jacob Devlin 等(Google 长作者列表)。PaLM: Scaling Language Modeling with Pathways。2022-04-05 首挂,10 月修订。arXiv:2204.02311。
摘要
大语言模型已能在多种自然语言任务上靠少样本学习取得可观成绩,从而大幅减少为某一应用准备的任务专用训练样本。为进一步理解规模对少样本学习的影响,作者训练了一个 5400 亿参数、稠密激活的 Transformer 语言模型,称 Pathways Language Model(PaLM)。训练使用 6144 块 TPU v4,系统是 Pathways——可高效跨多个 TPU Pod 训练。
规模继续带来收益:在数百个语言理解与生成基准上达到当时少样本 SOTA。若干任务上出现突破性表现:在一套多步推理任务上超过微调 SOTA;在当时新发布的 BIG-bench 上超过平均人类表现。相当数量的 BIG-bench 任务随规模出现不连续改善——扩到最大模型时成绩陡升。多语言与源码生成同样强。文中另有偏见与毒性分析,以及训练数据记忆相对规模的研究,并讨论大模型伦理与缓解策略。
规模与训练(文中主张)
对象是解码器稠密 Transformer,不是稀疏专家混合。Pathways 的工程意义:把此前难以跨 Pod 的规模做成一次训练。少样本评测贯穿全文:强调的是「同一检查点、不按任务微调」的能力,而不是为每项任务再训一个模型。
多步推理段落与同期 Chain-of-Thought 论文互相引用:PaLM 540B 是那篇论文里把 GSM8K 推到当时最好的那只模型。本文把同一现象写成规模事实——同样协议,小模型几乎没用,最大模型才涌现。
限度(作者自述)
偏见、毒性、记忆训练数据随规模变化,需要单独分析,不能只报平均分。伦理讨论占文末篇幅。对象仍是语言模型检查点与基准,不是开放环境里的行动循环。
5.2 - PaLM 讲解
论文解决了什么问题
GPT-3 已证明规模带来少样本。下一步要问:再放大一个数量级,少样本、多步推理、对抗性基准会不会继续涨。PaLM 用 540B 稠密模型和跨 Pod 训练给出答案:少样本继续刷新;BIG-bench 上出现不连续跳;多步推理可以超过微调 SOTA。
对 2022 年的读者,它是思维链提示的物理底座:没有够大的检查点,写中间步骤只是流畅的错误链条。
对后续 LLM 的影响
「涌现」从此有一张可引用的图:若干任务在扩到最大模型时才陡升。后来谈 100B 阈值、谈推理随规模跳,都会回到这一页。多语言与代码生成同检查点,也预示决策核心不必再拆成「语言一只、代码一只」。
对 AI Agent 的影响
循环里的 Thought 要靠核心自己生成可执行的中间语言。2022 年这还不是提示词能单独解决的:小模型写得出句子,写不出可靠步骤。规模是当年核心能力的物理上限之一。它本身不是 Agent:没有工具 schema,没有环境。
6 - Zero-shot CoT
Kojima 等,2022-05,Large Language Models are Zero-Shot Reasoners。
原文:arXiv:2205.11916。
6.1 - Zero-shot-CoT(论文)
Takeshi Kojima, Shixiang Shane Gu, Machel Reid, Yutaka Matsuo, Yusuke Iwasawa. Large Language Models are Zero-Shot Reasoners。2022-05。arXiv:2205.11916。Kojima 通讯;部分工作完成于东京大学,Gu / Reid 属 Google Research。
中文译本:技术栈(正文节译)。
摘要
大模型通常被当作带任务示例的优秀少样本学习者。Wei 等的 CoT 用逐步答题示例引出复杂推理。这些成功常被归因于少样本学习。本文表明:只要在每个答案前加上 “Let’s think step by step”,LLM 已是像样的零样本推理者。同一句模板覆盖算术(MultiArith、GSM8K、AQUA-RAT、SVAMP)、符号(Last Letter、Coin Flip)及其他逻辑任务(日期理解、物体追踪等),无需手工少样本。InstructGPT(text-davinci-002)上 MultiArith 17.7%→78.7%,GSM8K 10.4%→40.7%;PaLM 540B 有同量级提升。作者希望这成为困难推理基准上最强的最小零样本基线,并强调在做微调数据或少样本示范之前,应先挖掘模型里已有的零样本能力。
方法
与 Few-shot-CoT 不同:不需要逐步示例;与多数零样本模板不同:任务无关,单模板跨多种推理。
两段提示。 (1) 推理抽取:Q: [问题]. A: Let's think step by step. 贪心解码得到思维链 (z)。(2) 答案抽取:把第一段提示、(z) 与任务相关的结束句拼起来(如「Therefore, the answer (arabic numerals) is」),再生成并解析。Few-shot-CoT 靠示例自带格式避免第二段;Zero-shot-CoT 工程更少,但要调两次模型。
文中比较了其他触发句(Table 4);「Let’s think step by step」是主结果用句。
结果要点
相对标准零样本,增益极大;仍低于精心设计的任务专用 Few-shot-CoT。Few-shot-CoT 在示例题型与测试题型不匹配时会恶化;Zero-shot-CoT 用固定一句,跨任务更稳。随规模,零样本曲线变得可与少样本 CoT 比较。
限度
仍显著弱于最好的 Few-shot-CoT。需要两次前向。答案抽取句仍按题型略作区分。对象仍是语言推理,不是工具。
6.2 - Zero-shot CoT 讲解
论文解决了什么问题
CoT 有效,但每类题要写逐步示范,题型一换还可能伤成绩。成功容易被记在「少样本」账上。本文把示范拿掉,只留一句英语祈使,证明多步推理也可以是零样本模板引出的能力。
对后续 LLM 与 Agent 的影响
「先想再答」的触发成本降到可复制的一句。后来系统提示里的 think step by step、思维链开关、Agent 里默认先输出 Thought,都不再依赖为 GSM8K 手写的那 8 条。它没有把计算接到环境:没有搜索,没有解释器。协议可复制,循环仍未接通。
7 - MRKL
Karpas 等,2022-05,MRKL Systems(AI21 Labs)。Modular Reasoning, Knowledge and Language;读作 miracle。实现称 Jurassic-X。
原文:arXiv:2205.00445。
7.1 - MRKL Systems(论文)
Ehud Karpas, Omri Abend, Yonatan Belinkov, Barak Lenz, Opher Lieber, Nir Ratner, Yoav Shoham 等。MRKL Systems: A modular, neuro-symbolic architecture that combines large language models, external knowledge sources and discrete reasoning。AI21 Labs。2022-05。arXiv:2205.00445。
摘要
巨大语言模型打开了自然语言知识任务的入口,但也有固有限度。作者把挑战看成:除语言处理外,还涉及知识与推理。定义一种灵活架构:多个神经模型,配上离散知识与推理模块。称 Modular Reasoning, Knowledge and Language(MRKL,读 miracle)。文中讨论实现中的技术挑战,以及 AI21 的实现 Jurassic-X。
1 引言:LM 的缺口
作者把 LM 看成通向知识宇宙的文本门户,而不只是句法模型。即便如此,输出仍常错。根因写成三条,外加部署上的第四条:
- 没有时效信息。 汇率、疫情数字、股价、今日日期等,预训练模型按设计跟不上。
- 没有专有信息。 公司客户名单、在线游戏状态等。
- 不善某些推理。 神经方法到不了的计算需要专用过程。GPT-3 / Jurassic-1 两位数加法尚可,四位数会自信地胡答;再训再大也不会达到 1970 年代计算器的稳健。
- 模型爆炸。 零样本落后于微调;为每任务微调则失去通用性;多任务微调百余 NLP 任务后,对新任务再调会灾难性遗忘,整集重训不可反复承担。
结论:大模型仍是未来 AI 系统的必要骨干;问题是如何取其利、避其害。
架构
可扩展的 专家模块 + 路由器:每条自然语言输入送到最能应答的模块;模块输出可以是系统输出,也可以再送到另一模块。模块可以是神经的(通用大 LM 或更小的专用 LM),也可以是符号的(计算器、汇率转换、数据库 API)。
相对多任务微调模型,作者列六条好处:安全回退(无匹配则直送大 LM);稳健扩展(专家独立训,只需再训较轻的路由器);可解释(「因为计算器这么说」);时效信息;专有知识;组合性(多跳输入分给不同专家再整合)。
Jurassic-X
已实现并给少量合作方试点;文中称即将对开发者开放,并提供 demo。这是厂商系统,不是开源协议。
神经—符号交接:计算器用例
路由器决定调用哪一模块后,若目标是符号过程,必须从文本抽出离散参数。神经到神经接口自然;到数据库 / API / 计算器则没有免费午餐,但往往负担得起——成本在严谨地训路由器抽参。第 3 节用基本算术演示如何训练 Jurassic-X 抽取运算。
限度(文中可见)
路由与抽参要专门训练。哪些计算该留在神经侧、哪些该交给符号,作者不取死立场,认为会随时间变。实现是私有试点,不是跨厂商标准。
7.2 - MRKL 讲解
论文解决了什么问题
2022 春,业界开始把 GPT-3 级模型当万能接口。本文把失败模式写明确:过时知识、进不去的私有库、算术不可靠、每加一个任务就爆炸。解法不是再训一只更大的端到端模型,而是 系统:路由器 + 可插专家。
专家是真计算器、真 API,不是提示词里假装会搜。也和后来的开放函数协议不同:路由与抽参是厂商自己训的,调用方看不到统一 schema。Function Calling 要到 2023-06。
对后续 LLM 与 Agent 的影响
「LLM 必须外挂知识与离散推理」成为可引用的架构主张。2023 的插件、工具、Code Interpreter,问题陈述几乎逐条对应这里的缺口。MRKL 本身没有成为跨厂商标准:Jurassic-X 是试点。记它,是因为图先画出来了;可解析的函数选择与产品要到 2023。
8 - GitHub Copilot 正式商用
GitHub,2022-06-21。技术预览变成付费产品。与 2021 技术预览分开记:2021 年是名额有限的实验,2022 年有了价格与默认用户。
- 材料 — 按当时公告转述价格、编辑器、预览期用量。不加入 2023 以后的 Chat / 编码 Agent。
- 讲解 — 为何它仍是行级补全,以及「Copilot → Agent」的用户基数从哪里起算。
当时公告:GitHub Copilot is generally available to all developers。
8.1 - GitHub Copilot 正式商用(材料)
本页转述 2022-06-21 正式商用当时公开说了什么,不以 2023 Copilot X / Chat、更不以后来的编码 Agent 回填。
主要出处:GitHub CEO Thomas Dohmke,2022-06-21,GitHub Copilot is generally available to all developers。
本页不复制公告全文。
产品主张(2022-06-21)
GitHub Copilot generally available,面向个人开发者。自称仍是 AI pair programmer:在编辑器里建议代码。定价 每月 10 美元或每年 100 美元。已验证学生与热门开源项目维护者免费。提供免费试用。
公告把这次发布放进软件史:继编译器与开源之后,AI 辅助编码会改变开发方式——让写代码更容易、更快。同时写明:此前 AI 已能写邮件、生成相册、当购物助手,但改善写代码这件事一直几乎完全靠人手;今天第一次可以让开发者普遍用上 AI 来写和补全代码。
交互形态
专门做成编辑器扩展,以免挡住正在做的事。输入代码或注释时,建议下一行;不只是单词或单行,也可以建议完整方法、样板、整份单元测试,乃至复杂算法。
公开列出的能力:
- 得到匹配项目上下文与风格约定的建议;可在多个选项间循环,决定接受、拒绝或再改。
- 环境:Neovim、JetBrains IDE、Visual Studio、Visual Studio Code,作为不显眼的扩展。
- 不熟悉的语言或新尝试:在数十种语言上建议语法与代码,把时间花在边做边学。
没有「给一个仓库级目标、自己改到测试通过」的产品叙事。人始终在环路中,建议出现在光标处。
预览期数据(公告自己报的)
过去 12 个月技术预览超过 120 万开发者。启用 Copilot 的文件里,在 Python 等热门语言上,近 40% 的代码由 Copilot 写出——并称预期还会升高。开始用的人很快把它当成日常工作流里少不了的一部分。
企业版时间表
公告写:今天对所有开发者可用;对企业将在 2022 年晚些时候开始提供。这是「用 AI 赋能开发者」的第一步。
8.2 - Copilot 正式商用讲解
当时解决了什么问题
技术预览证明 IDE 里的行级建议有人用。GA 解决的是另一件事:谁付钱、谁能默认打开、编辑器覆盖到哪。120 万预览用户和「启用文件里约四成新代码」把编码助手从演示变成可计量的日常工具。
交互范式没有改:仍是光标处的建议,不是对话,更不是目标驱动的循环。企业版还没到。Chat 窗口、工作区 Agent 都不在 2022-06 的产品表面。
对后续 LLM 与 Agent 的影响
「程序员每天对着模型写代码」从此有付费用户。2023 以后所有 Copilot Chat、工作区、编码 Agent,都假定这层补全已经合法、已嵌入编辑器。按 AI Agent 定义它不是 Agent:副作用在编辑器缓冲区,观察等于当前光标上下文,决策等于补全下一片段,没有终止于目标的循环。把它写成 2022 年的编码 Agent,会把后来的品类提前一年。
9 - Sparrow
Glaese 等,2022-09,Improving alignment of dialogue agents via targeted human judgements。基座 Dialogue-Prompted Chinchilla。
原文:arXiv:2209.14375。
9.1 - Sparrow(论文)
Amelia Glaese, Nat McAleese, Maja Trebacz, John Aslanides 等。Improving alignment of dialogue agents via targeted human judgements。DeepMind。2022-09。arXiv:2209.14375。产品名 Sparrow。
摘要
Sparrow 是信息寻求对话 agent,训练目标是比提示语言模型基线更有帮助、更正确、更无害。RLHF 上加两处,好让人更容易评判行为。第一:把「好对话」拆成 agent 应遵守的自然语言规则,标注者对每条规则分开打。拆开之后可以得到更有针对性的判断,并训出按规则条件化的奖励模型。第二:收集偏好时,agent 为事实主张提供来源证据。事实问题上,证据支持所抽样回答的比例为 78%。Sparrow 比基线更常被偏好,同时更能扛住人类对抗探测——被探测时违规约 8%。尽管模型学会跟规则,仍会表现分布层面的偏见。
任务定义
信息寻求对话:用户提问与追问,agent 给答案。比闲聊目标更清楚(信息给到了没有),也更容易定义伤害。基座是 Dialogue-Prompted Chinchilla 70B(DPC)。对话里引入 Search Query / Search Result 角色,检索走 Google Search,证据展示给标注者(扩展 GopherCite 到多轮)。模型可选择搜或不搜。
方法要点
约 23 条规则(刻板印象、威胁、假装人类身份、不当金融建议等),用于对抗探测和规则条件分类。作者写明规则集是为了测方法,不求完备,上线前需大改。
数据:轮次偏好(多条候选里选更好的)+ 针对某条规则的对抗探测。训偏好 RM 与规则 RM。用 A2C,从 DPC 初始化,联合优化「少违规」和「更受偏好」。循环:更好的策略再去采数据。测试时也可用 RM 重排。
与 LaMDA、Anthropic assistant、SeeKeR 对照:LaMDA 也按规则标注,但不按规则条件化来缓解与评测,且用监督与排序而非 RL;Bai 等用单一奖励模型、不拆规则、不接入外部证据。
结果要点
RLHF 模型相对纯提示、重排或只要 SFT 的基线更受偏好,对抗违规更低。带证据的回答可被标注者核验。分布分析:跟规则改善的是实例伤害;方法可能放大分布公平问题。
限度(作者自述)
规则不完备。缓解针对实例,不自动解决社会/语言/环境正义一类目标。会放大分布偏见。任务是问答对话,不是开放世界执行。文末称对话也可作为将来把多种证据与指令合在一起、帮人评判 agent 的介质(如辩论)。
9.2 - Sparrow 讲解
论文解决了什么问题
WebGPT 已经证明:受控浏览 + 人的偏好,可以把回答接到网页证据上。Sparrow 把场景改成多轮信息寻求,并把「无害」拆成可逐条探测的自然语言规则,而不是一个笼统的安全分。证据给标注者看,降低「听起来像真的」蒙混过关。
它仍是对话:Search 是为了回答下一句,不是为了改环境状态。作者自己把模型叫 dialogue agent,任务边界写得很窄。
对后续 LLM 与 Agent 的影响
「带出处的对话」和「规则可单独打分」后来分别出现在产品引用卡和对齐配方里。对 Agent 史它是问答研究原型:有检索动作,观察通道是页面,谓词是带引用的答案。循环为的是答对,不是执行开放目标。不要把它写成已经交付的自主执行产品。
10 - ReAct
Yao 等,2022-10,ReAct: Synergizing Reasoning and Acting in Language Models。ICLR 2023。
原文:arXiv:2210.03629。项目页:react-lm.github.io。
10.1 - ReAct(论文)
Shunyu Yao(实习于 Google;普林斯顿), Jeffrey Zhao, Dian Yu, Nan Du, Izhak Shafran, Karthik Narasimhan, Yuan Cao。ReAct: Synergizing Reasoning and Acting in Language Models。2022-10。arXiv:2210.03629。代码与项目页:https://react-lm.github.io/。
中文译本:博客园(正文节译)。
摘要
LLM 的推理(如 CoT)与行动(如生成动作计划)此前多被分开研究。ReAct 让模型交错生成推理轨迹与任务相关动作:推理用来引出、跟踪、更新行动计划并处理例外;动作用来对接知识库或环境、采集额外信息。
在问答(HotpotQA)和事实验证(FEVER)上,通过一个简单的 Wikipedia API,ReAct 缓解 CoT 里常见的幻觉与误差传播,轨迹比没有推理痕迹的基线更可解释。在两个交互决策基准(ALFWorld、WebShop)上,相对模仿学习 / 强化学习方法,成功率绝对提升分别约 34% 和 10%,提示里只用一两条上下文示例。
1–2 方法
人的智能把面向任务的动作与内部语言推理缠在一起。CoT 是静态黑盒,不接地,难以及时按外部世界改知识,易幻觉、易沿链条错下去。先前用预训练 LM 在交互环境里规划/行动的工作,多半把观察转成文本再预测领域动作,却很少用 LM 对高层目标做抽象推理或维持工作记忆。
一般设定:时刻 (t) 观察 (o_t),策略 (\pi(a_t \mid c_t))。ReAct 把动作空间扩成 (\hat{\mathcal{A}} = \mathcal{A} \cup \mathcal{L}):语言空间里的动作称 thought,不改变外部环境、没有观察反馈,只把有用信息写进上下文以支持后续推理或行动。思想类型包括:拆目标与做计划、注入常识、从观察里抽取要点、跟踪进度、处理例外。
主实验:冻结 PaLM-540B,few-shot 示例是人写的「动作 + 思想 + 观察」轨迹。知识密集型任务上思想与动作密集交替;决策任务动作空间大,思想可以稀疏出现,由模型自己决定何时插入。附录用 GPT-3(text-davinci-002)时,有的任务强于 PaLM。
性质(作者列):提示好设计(人在动作旁写下想法即可);通用(QA、事实验证、文字游戏、网页导航);少样本即可泛化;人可检查推理与事实来源,也可靠编辑 thought 当场纠偏。
3 知识密集型任务
动作: search[entity](页面存在则返回前 5 句,否则给 5 个相近实体);lookup[string](页内下一次出现,模拟 Ctrl+F);finish[answer]。有意弱于当时最好的检索器,为了模拟人查维基、逼模型用语言推理来检索。
HotpotQA 6 条、FEVER 3 条人工轨迹作 few-shot。基线:Standard、CoT、CoT-SC(21 条、温度 0.7)、Act(去掉 thought,略像 WebGPT 的交互,但任务与动作空间不同)。
数字(PaLM-540B)。 ReAct 稳定优于 Act。相对 CoT:FEVER 60.9 vs 56.3;HotpotQA 27.4 vs 29.4(略低)。FEVER 的 SUPPORTS/REFUTES 往往只差一点,检索准确知识更关键。人工看轨迹:ReAct 更事实、更接地;CoT 推理结构更准,但易幻觉。总体最好的是启发式切换:ReAct 步数用尽则退回 CoT-SC;CoT-SC 多数票不够自信则改 ReAct。
微调:用 ReAct 生成的约 3000 条答对轨迹微调 PaLM-8B / 62B,小模型可变强。
4 交互决策
ALFWorld: 文字版家务;一条任务可能 50+ 地点、专家也要 50+ 步。最好一次 ReAct 成功率 71%,最好 Act 45%,BUTLER 37%(绝对约 +34%)。最差一次 ReAct(48%)仍超过另两法最好一次。无 thought 时 Act 不会把目标拆成子目标,也跟丢状态。相对 Inner-Monologue 风格的密集外部反馈提示(ReAct-IM)也明显更好(71 vs 53)。
WebShop: 真实商品网页、用户指令买东西。成功率绝对约 +10%。环境噪声大、文本结构混杂。
限度(提示设定):复杂动作空间的示范塞不进上下文;推理与行动行为的覆盖有限。作者认为扩大任务、再结合强化学习还有空间。
10.2 - ReAct 讲解
论文解决了什么问题
CoT 让模型在 token 序列里多步计算,但算完没有新观察:事实靠参数记忆,错了沿链条传下去。先前让模型在交互环境里行动的工作,却很少用语言维持计划和工作记忆。两边分开,各缺一块。
ReAct 的解法是改生成格式:Thought 不碰环境,Action 才碰,Observation 写回上下文。动作空间扩成 (\hat{\mathcal{A}} = \mathcal{A} \cup \mathcal{L}):语言里的 thought 没有观察反馈。同一只冻结大模型,靠少数轨迹示范,就能在维基问答和家务文字游戏里跑循环。它没有发明新权重算法,发明的是可抄的控制协议。
实现是字符串约定:模型吐 Action:,宿主正则或伪 DSL 解析,失败即掉步。没有 schema,没有事务,没有外部完成判据。Function Calling 还有八个月。
对后续 LLM 的影响
「边想边做」成为默认叙事。后来几乎所有 Agent 提示(LangChain 的 AgentExecutor、各种 ReAct 模板、开源框架里的 scratchpad)都在抄 Thought / Action / Observation。论文自己已经写明:最好成绩往往要和 CoT-SC 切换——纯循环不是万能。微调约 3000 条轨迹让小模型追上,也预示协议可以变成训练目标,不只是提示。
对 AI Agent 的影响
按 定义 的四要素,这是 2022 年在协议层的第一次重合:LLM 选下一步、交错多步、Action 改环境、Observation 写回再选。HotpotQA 上的 search/lookup 是真检索;ALFWorld / WebShop 更是交互环境。重合停在公式和基准:执行靠解析,环境是论文集,无产品级沙箱,无仓库谓词。
时间要拆开:论文首证在 2022-10(ChatGPT 尚未发布);被框架和产品当成默认控制协议是 2023。2022 年引用爬得慢,不等于它晚一年才存在。把 ReAct 写成已经交付的运行时,会把工程化提前一年。
11 - LangChain
Harrison Chase,2022-10。仓库 10-17,PyPI langchain 0.0.1 于 10-25。口号:Building applications with LLMs through composability。公司 2023-02 才成立。
当时包页:PyPI langchain 0.0.1。仓库首日:langchain-ai/langchain(2022-10-17 创建)。
11.1 - LangChain 开源出现(材料)
LangChain 在 2022 年没有对应研究论文。本页转述 包刚出现时公开说了什么,不以 2023 公司、2024 拆包、LangGraph 回填。
主要出处:
- GitHub 仓库创建于 2022-10-17(当时账号路径
hwchase17/langchain) - PyPI
langchain0.0.1,上传于 2022-10-25,简介 Building applications with LLMs through composability - 0.0.1 说明文档(包页 README)
公司侧:Harrison Chase 后来写明,当时没有公司、没有宏大计划;2023-02 才创办公司,认定这个包只是第一件工具。本页不展开融资与后续产品。本页不复制 README 全文。
产品主张(0.0.1)
LLM 正在变成能做出此前做不出的应用的技术。但单独用 LLM 往往不够——真正的力量来自把它们和其他计算或知识来源组合起来。这个库协助开发那类应用,目标写成三条:
- 一份你可能想组合的部件的尽量全面的集合
- 把部件收成一条综合 chain 的灵活接口
- 便于保存和分享这些 chain 的 schema
认证类 API 用环境变量:当时列出 OpenAI、Cohere、SerpAPI(Google Search)。用哪个才需要设哪个。
最初三条可复现示例
README 写明:项目很大程度上受 Twitter 上几个项目启发,初期功能是为了把那些做法收成更明确的工具。
- Self-ask-with-search:复现 self-ask 论文。
SelfAskWithSearchChain+OpenAI+SerpAPIChain,例题是「卫冕美网男单冠军的家乡」。 - LLM Math:复现一条推上的「让模型算数」演示。
LLMMathChain,整数整除计数一类题。 - Generic Prompting:普通提示管道。模板里已经写了
Answer: Let's think step by step.
文档指向 Read the Docs;作者称上面三个例子可能是当时最友好的说明。
当时还不是什么
0.0.1 没有后来的 AgentExecutor 全家桶叙事,也没有公司、云观测、图执行引擎。它是 MIT 许可的个人仓库 Python 包:Prompt、LLM、Chain、搜索与计算器各一块,用 pydantic 拼起来。
11.2 - LangChain 讲解
当时解决了什么问题
论文和演示里已经有 self-ask、检索、计算器、先想再答。每做一个演示就要重写提示词、重接 API、重解析输出。LangChain 把这些收成 Chain:同一套 LLM 包装,换搜索或换数学链。成本从「读论文再接线」降到 pip install。
它不是新推理算法,也不是把循环写进论文的那种协议——同月的 ReAct 挂在 arXiv 上,库的第一批例子甚至还没有以 ReAct 为名。它是工程上的默认拼法。控制流在调用方进程里,状态在内存和提示里。不是跨厂商协议。
对后续 LLM 与 Agent 的影响
ChatGPT 一个月后放出,开发者要自己接工具。现成胶水成为默认入口,2023 年的 Agent 教程大量从这里起步。后来的批评(抽象过重、版本不稳)针对的是膨胀期,不能用来否定 2022 秋那三条目的:组合、链、可分享。公司 2023-02 成立,产品史从那里分叉;今年只记生日。胶水能把循环复制出来;胶水不是协议,也不是完成谓词。
12 - PAL
Gao 等,2022-11,PAL: Program-aided Language Models。Codex few-shot;GSM8K 超过 PaLM-540B 的 CoT。
原文:arXiv:2211.10435。项目页:reasonwithpal.com。
12.1 - PAL(论文)
Luyu Gao, Aman Madaan, Shuyan Zhou, Uri Alon, Pengfei Liu, Yiming Yang, Jamie Callan, Graham Neubig。PAL: Program-aided Language Models。CMU LTI;部分作者兼 Inspired Cognition。2022-11。arXiv:2211.10435。代码与数据:http://reasonwithpal.com。文中写作 PaL / PAL。
摘要
LLM 在少样本提示下已能做算术与符号推理,很大程度归功于 CoT 一类方法:模型既要理解题意并拆步,又要亲自解每一步。拆步往往还行,求解部分却常出逻辑和算术错。PAL:让 LLM 读自然语言题,把程序当作中间推理步骤,把求解交给 Python 解释器一类运行时。对 LLM 而言,学习任务收成「把题拆成可运行步骤」;求解委托解释器。
在 BIG-Bench Hard 及其他基准的 13 项数学、符号、算法自然语言推理任务上,用 LLM 生成代码、用解释器推理,比大得多的模型更准。例如 Codex 的 PAL 在 GSM8K 上达到当时少样本最好,top-1 绝对超过使用 CoT 的 PaLM-540B 约 15 个点。
问题与方法
推理直到不久前仍被视为 LLM 未克服的挑战。CoT / scratchpad / least-to-most 让模型先写步骤。但复杂算术、大数字上成绩骤降;即便在大量数学文本上微调,两类最常见失败仍是「推理错」和「计算错」。
CoT 的上下文示例是 (\langle x_i, t_i, y_i \rangle)(题、自然语言步骤、答案)。PAL 的示例是 (\langle x_i, t_i \rangle):(t_i) 是自然语言与程序语句交错的序列,不提供最终答案——答案由解释器跑出来。自然语言步骤写成语言注释(如 Python # ...),解释器忽略。本文用标准 Python 解释器;作者称也可换成其他求解器、解释器或编译器。
图 1 对照:CoT 全程自由文本;PAL 在逐步注释旁写出 tennis_balls = 5、bought_balls = 2 * 3 一类语句,最后由运行时给出答案。
结果要点
13 项任务上,Codex + PAL 超过用 CoT 的更大模型(含 PaLM-540B)。GSM8K:绝对约 +15% top-1。作者另造 gsm-hard(把数字改大):PAL 相对 CoT 绝对约 +40%。主张:神经 LLM 与符号解释器的这种配合,是通向更通用、更稳健推理者的必要一步。
限度(文中可见)
依赖能生成可运行程序的代码模型(实验主用 Codex)。提示仍要为 PAL 手工组织。对象是推理基准上的解释器,不是通用操作系统沙箱,也不是开放 Agent 循环。
12.2 - PAL 讲解
论文解决了什么问题
CoT 证明中间步骤有用,但步骤仍由同一个下一词模型执行。语言模型擅长把应用题译成步骤,不擅长当计算器——数字一大就错。继续放大模型或继续在数学语料上微调,算错仍是主因之一。
PAL 把责任切开:理解与拆解留在 LLM,执行交给确定性运行时。解释器是计算器,不是云端虚拟机。这和把算术交给 MRKL 式专家是同一信念,实现却是 few-shot 程序,不必为路由器单独训抽参模型。答案由解释器跑出来,不由模型口述。
对后续 LLM 与 Agent 的影响
2023 的 Code Interpreter、各种「生成代码再在沙箱里跑」,问题陈述几乎就是这一页:不要让模型心算。Agent 循环里的 Action 从此可以是 run_python,Observation 是 stdout。PAL 自己还不是那种产品:没有持久文件系统、没有用户级权限模型,评测是 GSM8K 不是 SWE-bench。硬的是分工——解释器当计算器——不是云虚拟机。
13 - ChatGPT
OpenAI,2022-11-30,Introducing ChatGPT。免费研究预览。对话形态的 InstructGPT 兄弟;基座属 GPT-3.5 系列。
当时公告:Introducing ChatGPT。
13.1 - ChatGPT(材料)
ChatGPT 发布没有对应一篇新的训练论文。本页转述 当天博客公开说了什么,不以 2023-03 GPT-4、插件、浏览、Code Interpreter 回填。
主要出处:OpenAI,2022-11-30,Introducing ChatGPT。本页不复制公告全文。
产品主张
推出 ChatGPT:在对话中交互的模型,能跟进追问、认错、质疑不正确的前提、拒绝不当请求。免费研究预览,入口 chat.openai.com。
与 InstructGPT 对照:公告用并排例子说明对话微调后的行为变化——例如拒绝「如何霸凌某人」;对「哥伦布 2015 年来美国」这类带错误前提的问题,会指出哥伦布已于 1506 年去世再进入假想,而不是顺着假前提编一段旅游见闻。
训练(Methods 一节)
用与 InstructGPT 相同的 RLHF 方法,数据收集设置略有不同。
- 监督微调: 人类训练员提供对话,他们同时扮演用户和 AI 助手。训练员可看到模型写的建议,以帮助组织回复。这份新对话数据与 InstructGPT 数据混合;后者被改成对话格式。
- 奖励模型: 比较数据是两条或更多模型回复按质量排序。做法:取训练员与聊天机器人的对话,随机抽一条模型消息,再采样若干替代补全,由训练员排序。
- PPO 用这些奖励模型微调。该过程做了若干轮。
ChatGPT 从 GPT-3.5 系列的一只模型微调而来;该系列在 2022 年初训练完成。训练基础设施为 Azure AI 超算。
限度(公告自己列的)
- 有时写出听起来合理但不正确或无意义的答案。难修,因为:(1) RL 训练里目前没有真理来源;(2) 训练得更谨慎会导致它拒绝本来能答对的问题;(3) 监督训练会误导模型——理想答案取决于模型知道什么,而不是演示者知道什么。
- 对措辞微调或同一提示多试几次敏感:一种问法称不知道,稍改就能答。
- 往往过于冗长,并过度使用某些套话(例如反复声明自己是 OpenAI 训练的语言模型)。来自训练数据偏见(训练员偏好看起来更全面的长答案)以及已知的过优化问题。
- 理想情况下,用户问题含糊时应追问澄清;当时模型通常猜测用户意图。
- 尽管努力拒绝不当请求,仍会响应有害指令或表现偏见。用 Moderation API 警告或拦截部分不安全内容,预期仍有漏报和误报。
公告把这次研究发布写成迭代部署的一步;较早的 GPT-3、Codex 部署经验进入了安全缓解。鼓励用户在界面里对问题输出和过滤器误报/漏报给反馈。
当时明确不是什么
这是网页上的多轮聊天。公告没有把「替用户执行开放世界动作」写成能力;后续产品(插件、浏览、替用户发信)不在 2022-11-30 的表面。
13.2 - ChatGPT 讲解
当时解决了什么问题
InstructGPT 已经让 API 默认跟指令。普通用户没有 Playground,也没有「系统消息 + few-shot」的工程师习惯。ChatGPT 把同一套对齐做成对话框:多轮、可纠正、可拒绝,网址即可用。数据侧的关键差别是双向对话演示,以及把指令数据改成对话格式——对象从「一次性完成指令」变成「接着聊」。
它解决的是入口和交互习惯,不是工具、不是沙箱、不是任务闭环。幻觉、冗长、对措辞敏感,公告自己写在限度里。它不调任意工具,不跑沙箱循环。
对后续 LLM 的影响
「对着一个会多轮改主意的 LLM 说话」变成默认人机界面。2023 年所有系统提示、Chat Completions、后来的 Agent 对话框,都假定操作者已经会用这种界面。GPT-3.5 这个名字也从这里进入大众词汇。规模与对齐过的对话模型,从此不再只是论文数字。
对 AI Agent 的影响
按 AI Agent 定义,ChatGPT 不是 Agent:观察等于用户下一句,行动等于再生成,没有对环境产生副作用的循环。它改变的是谁会来用决策核心,不是执行语义。2022 年舆论中心是 ChatGPT,不是 ReAct——时间线必须分开记。不能用后世重要性把 11 月的产品写成已经在执行任务。Function Calling 要到八个月后。
14 - Constitutional AI
Bai 等,2022-12,Constitutional AI: Harmlessness from AI Feedback(Anthropic)。SL 自我批评 + RLAIF。
原文:arXiv:2212.08073。
14.1 - Constitutional AI(论文)
Yuntao Bai, Saurav Kadavath, Sandipan Kundu, Amanda Askell 等。Constitutional AI: Harmlessness from AI Feedback。Anthropic。2022-12。arXiv:2212.08073。通讯 yuntao / jared @ anthropic.com。
摘要
系统越强,越希望让 AI 帮助监督其他 AI。本文实验:在没有任何「这是有害输出」的人类标签的情况下,训练一个无害的 AI 助手。人类监督只通过一份规则或原则清单,故称 Constitutional AI。过程含监督与强化学习两阶段。监督阶段:从初始模型抽样,生成自我批评与修订,再把修订后的回复拿去微调原模型。强化学习阶段:从微调后的模型抽样,用模型评判两条样本哪条更好,由此训偏好模型,再以该偏好模型为奖励做 RL——即 RL from AI Feedback(RLAIF)。结果是无害但不回避的助手:遇到有害询问会解释反对理由。监督与 RL 都可以借助思维链式推理,提高人评判的表现与决策透明度。这些方法能更精确地控制行为,并大幅减少人类标签。
动机(第 1 节)
目标仍是 helpful / honest / harmless,且部分能力将达到或超过人类水平,因而不能靠人监督行为的每一方面。作者称该方法为 CAI。相对此前用人类反馈训无害助手:RL-CAI 在众包比较中优于先前采集的伤害人类标签所训的模型。
选「constitutional」一词:既因为可仅靠一份短原则训练更少伤害的系统,也强调部署通用 AI 时不可能不选择某些原则,哪怕它们隐藏着。
具体动机:(1) 研究用 AI 帮助监督 AI、从而扩展监督;(2) 改进先前无害助手——去掉回避、减轻有帮助与无害之间的张力、鼓励解释为何拒绝;(3) 让原则及其实现更透明;(4) 改目标时不必再采新的人类伤害标签,缩短迭代。
先前 RLHF 的奖励已经来自 AI 偏好模型,但通常仍要数万条人类偏好标签。本文把人类输入减到极端:无害性微调大约只需十来条自然语言原则。原则为研究目的较随意迭代写成;作者认为将来应由更多利益方重写,并随用途与部署地点调整。
两阶段(作者图 1)
监督(SL-CAI)。 让模型「上分布」,并控制 RL 起始行为,缓解探索问题:抽样 → 按宪法某条原则自我批评 / 修改 → 用修订回复微调。
强化学习(RL-CAI)。 显著提高表现与可靠性:AI 反馈构造偏好 → 偏好模型 → RL。两条路径都可以用 CoT 让评判更可读。
相对只用人类反馈的 Helpful / HH 模型:后者在有帮助与无害之间权衡明显;RL-CAI 在给定有帮助水平下更少伤害。评测众包被要求:两条同样无害时,偏好更不回避的回复——这也是人类反馈 HH 模型在无害分数上差得不那么大的原因之一。
限度(文中可见)
原则清单短、由实验室选择,不是社会共识。本文几乎取消对无害性的直接人类监督,长期目标却是让人类监督更有效,而不是永远去掉人。对象是对话助手的伤害与回避,不是工具循环或开放任务执行。
14.2 - Constitutional AI 讲解
论文解决了什么问题
InstructGPT / ChatGPT 的无害性依赖大量人类比较。伤害标注贵、难一致,而且「拒绝」容易训成回避。Sparrow 把规则交给人类逐条打。Constitutional AI 再走一步:伤害标签几乎不用人写,人只写十来条原则;批评、修改、偏好都由模型按原则完成。附带目标是:拒绝时说明理由,而不是把对话卡死。
对后续 LLM 的影响
RLAIF、原则清单、自我批评,成为后来 Claude 系公开叙事里的训练前提。改安全目标不必重新采一轮伤害标签——迭代从数据收集变成改宪法文本。思维链进入评判过程,也让「模型为什么拒绝」比黑盒奖励更可读。
对 AI Agent 的影响
对执行循环几乎没有直接贡献:没有 Observation,没有工具。记在 2022 年,是因为后面能上线的对话产品 / 工具运行时,决策核心必须先能被原则管住;Claude 系用户 2023 年起碰到的拒答与解释,配方根在这里。它是对齐与可控的旁支,不是 ReAct 那种控制协议。