转自机器之心
新的扩展律Post-Training已经出现,后训练的时代已经到来。
OpenAI o1 在数学、代码、长程规划等问题取得显著的进步。一部分业内人士分析其原因是由于构建足够庞大的逻辑数据集 <问题,明确的正确答案> ,再加上类似 AlphaGo 中 MCTS 和 RL 的方法直接搜索,只要提供足够的计算量用于搜索,总可以搜到最后的正确路径。然而,这样只是建立起问题和答案之间的更好的联系,如何泛化到更复杂的问题场景,技术远不止这么简单。
AlphaGo 是强化学习在围棋领域中的一大成功,成功击败了当时的世界冠军。早在去年,Deepmind 的 CEO Demis Hassabis 便强调用 Tree Search 来增强模型的推理能力。根据相关人士推测,o1 的模型训练数据截止到去年十月份,而有关 Q * 的爆料大约是去年 11 月,这似乎展示 o1 的训练中也用到了 TreeSearch 的技巧。
实际上,OpenAI o1 运用的技术关键还是在于强化学习的搜索与学习机制,基于 LLM 已有的推理能力,迭代式的 Bootstrap 模型产生合理推理过程(Rationales) 的能力,并将 Rationales 融入到训练过程内,让模型学会进行推理,而后再运用足够强大的计算量实现 Post-Training 阶段的 Scaling。类似于 STaR [1] 的扩展版本。
注意这里合理推理过程并不只是对问题的拆解和分步作答,还有对于为什么如此作答的分析和思考。
技术要点有三:
后训练扩展律 Post-Training Scaling Laws 已经出现,并且 Post-Training Scaling Laws 为上述技术路径的成功提供了有力支持。
模型学习的是产生合理推理的过程,MCTS 在其中的作用是诱导合理推理过程的产生或构建相应的偏序对形成细粒度奖励信号,而非直接搜索过程和最终答案。
模型的 BootStrap 有助于构建新的高质量数据,并且新的 Rationales 数据促进了模型进一步提升能力。
一、OpenAI o1 的发布是 Post-Training Scaling Laws 的强力体现
北京时间 9 月 13 日午夜,OpenAI 发布 o1 系列模型,旨在专门解决难题。OpenAI o1 在数学、 代码、长程规划等问题上取得了显著提升,而背后的成功最重要离不开后训练阶段 (Post-Training Stage) 中强化学习训练和推理阶段思考计算量的增大。新的扩展律 —— 后训练扩展律(Post-Training Scaling Laws) 已经出现,并可能引发社区对于算力分配、后训练能力的重新思考。
模型表现概览
最新的发布的 OpenAI o1 在数学代码等复杂推理能力上取得巨大进步,在竞争性编程问题 (Codeforces) 中排名第 89 个百分位,在美国数学奥林匹克竞赛 (AIME) 资格赛中跻身美国前 500 名学生之列,在物理、生物和化学问题的基准 (GPQA) 上超过了人类博士水平的准确性。
而帮助 o1 取得如此性能飞跃的,是 Post-Training 阶段 RL 计算量的 Scaling 和测试推理阶段思考时间的 Scaling。
不过,如果仔细观察,OpenAI o1 在一些常规任务如英语考试和语言能力测试上并没有显著提升 —— 推理能力和强指令跟随能力的提升似乎呈现了分离,这个观察和思考,我们放到最后的分析。
后训练扩展律 Post-Training Scaling Law
随着模型尺寸逐渐增大,预训练阶段参数 Scaling Up 带来的边际收益开始递减,如果想要深度提升模型推理能力和长程问题能力,基于强化学习的 Post-Training 将会成为下一个突破点。早在 2018 年 Ilya 在 MIT 的客座讲座上,他便分享过自己对于通过 RL 和 Self-play 走向 AGI 的信心。
OpenAI 探索 Parameter Scaling Law 之外的 Scaling Laws 也并非空穴来风。
在 2021 年,他们便在 Training Verifiers to Solve Math Word Problems [6] 中提到,自回归模型在数学推理问题上很难进步的一点在于没有办法进行回答的自主修正,如果仅是依靠生成式方法和扩大参数规模,那么在数学推理任务上带来的收益不会太大。所以需要寻找额外的 Scaling Laws。
现在看来,RL 带来了 LLM 训练的范式转变,也带来了新的 Scaling Laws,即 Post-Training Scaling Laws。
在 Post-Training Scaling Laws 下,训练阶段的计算量不再只是和参数量的上升有关,同时也会包含 RL 探索时 LLM Inference 的计算量。与此同时,测试阶段模型推理和反思的计算量也会影响模型最终的表现。在 DeepMind 最近的文章 [5] 中,也讨论了这种范式的转变。
Post-train 虽然参数没变,但是在训练算力上仍然会倍数增长;推理上也会随着模型 “思考能力提高”,单次算力增长。是否有足够的算力做 Post-Training 似乎已经成为能不能提升推理性能的入场券。
OpenAI 发现也证明了这一点:随着更多的强化学习(训练时计算)和更多的思考时间(测试时计算), o1 的性能也在不断提升,并且 Post-Training Scaling Laws 还没有被完全探索。
Sutton 在《Bitter Lesson》中已经指出,只有两种技术可以随着算力增长,学习和搜索。正如英伟达科学家 Jim Fan 所说,也许模型参数大部分是用于存储知识和记忆。
随着参数扩展律的边际效益逐渐递减,现在是时候将更多的算力转向 Post-Training 阶段和推理阶段。
二、OpenAI 的成功,关键在于合理使用强化学习的探索
仅靠 MCTS 是远不足够的
仅靠 MCTS 无法让模型学会思考问题的关联,隐式自动化 CoT 的背后,是模型真正学会了合理的中间推理过程 Rationales。
当人们写作或说话时,常常会停下来思考。然而,大语言模型在通过 Next Token Prediction 生成回答时,更像是一种 “快思考” 过程。由于缺乏详细的中间推理步骤,模型一开始可能会犯错,而这些错误可能会传播,最终导致生成的答案也是错误的。
为了优化这一过程,产生了一系列方法,其中包括在 Token 级别或子句级别提供奖励信号,帮助模型调整生成的回答。这些方法如蒙特卡洛树搜索(MCTS),将输出建模为一系列节点,这些节点可以是 Token 级别或句子级别。例如:
Token 级别的节点:每个节点对应生成序列中的一个 Token。通过 MCTS,模型可以探索不同的 Token 序列,最终生成更连贯的响应。
句子级别的节点:在复杂推理任务中,每个节点可以代表一个完整的句子或推理步骤,帮助模型更好地处理多步推理任务。
另一种方式是通过思维链(Chain of Thought, CoT)优化模型输出。CoT 通过分步推理的方式,要求模型在生成最终答案之前,先生成一系列中间推理步骤。这种 “思考链” 的生成过程有助于增强模型的推理能力,尤其在数学和代码生成等任务中表现出色。
然而,CoT 虽然能够生成中间步骤,但并未教会模型如何从内部深入思考问题的关联。特别是对于尤其复杂且需要多步推理规划的任务,这样的合理的中间 CoT 推理过程(Rationales) 更为重要。
类似的思路在 STaR [1] 和 Quiet-STaR [7] 中有所体现。
STaR 的核心思路是利用 LLM 已有的推理能力,迭代式的 Bootstrap 模型产生合理推理过程(Rationales) 的能力,并将 Rationales 融入到训练过程内,让模型学会进行推理。
推理:起始数据集仅有 [Question, Answer] ,首先利用一些带有推理过程的 Few-Shot Examples 来 Prompt 模型对于数据集中的问题生成对应的推理过程和答案。
过滤:如果生成的答案正确,则将推理过程加入到原有的数据集中;如果生成的答案错误,则尝试在给出正确答案的前提下再次生成推理过程。将最终生成正确答案的推理收集,构建一个构建一个微调数据集 [Question, Rationale, Answer ] 进行微调。
迭代:重复这一过程,且每次获得一个新的数据集,都从原始的模型开始进行 Fine-tune 从而防止过拟合。
STaR 的思路和 RL 中策略梯度算法是近似的,甚至整体的优化目标可以近似为一个策略梯度优化的目标。
模型首先采样潜在的推理路径(rationale)的过程类似于 RL 中通过策略选择动作(action),基于环境状态选择一个可能的策略路径。STaR 中,通过计算目标函数,模型对整个数据集的预测结果进行评估,并且只根据预测正确的样本更新模型。
STaR 在同一批数据上进行多次梯度更新,这类似于某些策略梯度算法中的策略,即通过多次调整同一批数据来稳定学习过程。在 RL 中,策略梯度算法通过这种方式在探索动作空间时进行学习,而 STaR 则通过探索推理和答案空间,逐步改善推理生成的准确性。
这种方法和先前提到的通过细粒度奖励或 MCTS 优化输出有所不同,模型在正确和错误的示例中更多的学会的是如何进行显式的合理推理。
与此同时,这种合理推理不只是问题拆解分步理,更适用于一般常识问答任务上。例如:
问题:什么可以被用来装一只小狗
选项:(a) 游泳池 (b) 篮子 (c) 后院 (d) 自己的家
合理推理:答案必须是可以用来携带一只小狗的东西。篮子是用来装东西的。因此,答案是 (b) 篮子。
但是 STaR 存在几个局限性:
对少样本示例的依赖:STaR 在推理任务中高度依赖少量的 Few-Shot 推理示例,这导致模型的推理能力较为有限,难以应对复杂和广泛的任务。
泛化能力受限:STaR 虽然能够通过迭代的方式提升模型的推理能力,但其应用主要局限于特定的结构化任务(如问题回答),难以在开放域或任意文本生成任务中取得同样的效果。
针对 STaR 的局限性,Quiet-STaR [7] 提出 “内部思维” 的概念,将显式的 Rationales 推理过程转化为模型内部隐式的推理过程,从而摆脱对于外部示例的依赖。
同时,引入可学习的 <|startofthought|> 和 <|endofthought|> token 来标记思维的开始和结束。
Quiet-STaR 还实现了在更一般文本上的推理学习,这意味着大量复杂任务下的非结构化语料(如医疗、金融等领域)都可以被加入学习过程。同时利用带推理过程的结果与真实结果的分布差异引入奖励信号,通过 REINFORCE 的方法优化生成的推理,使得基于这些推理的模型预测未来的 tokens 更为准确。
就目前来看,STaR 和 Quiet-STaR 是最接近 o1 的技术路线和模型表现效果的,但是如果想要进一步达到 OpenAI o1 的效果,还需要克服很多问题。
例如如下两个问题:
Quiet-STaR 在生成内部思维的过程中,每个 Token 均会生成下一步的对应的思考过程,导致生成了大量额外的 tokens,这也导致了计算资源需求大幅增加。实际上模型需要学会动态的调整 Thinking Token。
对于更复杂的任务和长程问题, 如何针对内部思考过程提供细粒度的奖励信号?仅仅通过比较合理推理的回答和正确回答是否一致(或者 Predicted Distribution 的相似度)是不够的。
这不禁引发我们对于 OpenAI o1 的技术路径的思考。OpenAI o1 应当也是沿着 STaR 和 Quiet-STaR 类似的路线,优化模型内部生成合理推理(即隐式的 CoT) 的过程。而 Post-Training 阶段 RL 的训练阶段主要算力也应当是放在了对于内部推理过程的优化上。
那如何构造隐式 CoT 的优化过程的 Reward?
可以通过不同温度采样出来的推理路径构建偏序,也可能是 MCTS 搜出来的正误参半的不同推理过程形成偏序。这点和先前的 MCTS 用法会有所不同,MCTS 节点上不再是最终生成答案中的某个 token 或某步,而是隐式推理过程中的每一步。
同时,为了提供更加细粒度的反馈和指导,需要引入过程性的奖励,而针对模型自身已经难以提供合理推理过程的复杂问题,通过引入额外的足够强的 Critic Model 来解决这个问题。
最终通过强化学习,o1 学会了优化其思维链,并不断改进其使用的策略。它学会识别并纠正错误,学会将复杂的步骤分解为更简单的步骤,并在当前方法无效时尝试不同的解决方案。这个过程大幅提高了模型的推理能力。
同时,在 OpenAI 披露的细节中,生成过程中的 Reasoning Token 是动态引入的,这也尽可能的减少了不必要的思考带来的额外算力损耗。
可以说,OpenAI o1 已不再是即时给出答案的模型,而是能够先进行深入思考。这可以类比为 o1 正在从依赖系统 1 思维(即快速、自动、直觉、易出错的思维模式),逐步进化为采用系统 2 思维(即缓慢、刻意、有意识且更可靠的推理过程)。这一转变赋予了 o1 解决之前无法应对的复杂问题的能力,而这一切的实现,根源于训练后阶段中遵循的扩展规律(Scaling Laws)的应用与优化。
更有意思的是,我们可以构建一个数据飞轮:通过 o1 模型的推理过程自动生成大量高质量的训练数据,这些数据可以被反复用于进一步提升模型性能,形成一个自我强化的良性循环。
在这一过程中,模型的自举能力(Bootstrap)得到进一步扩展,不仅加速了性能提升的进程,更有望逐步推动向超级智能(Superintelligence)的迈进。
总结一下:
RL + “隐式思维链”:o1 模型使用 RL 进行训练,通过引入动态的 Reasoning Token,从而启发 “隐式思维链” 来 “思考” 问题,思考时间越长,推理能力越强!
推理时间 = 新的扩展维度:o1 模型的发布,意味着 AI 能力的提升不再局限于预训练阶段,还可以通过在 Post-Training 阶段中提升 RL 训练的探索时间和增加模型推理思考时间来实现性能提升,即 Post-Training Scaling Laws。
数据飞轮 + Bootstrap -> SuperIntelligence : 基于自我反思的模型将能够实现自举 Bootstrap,并提升大大提升模型对于未见过的复杂问题的解决能力,模型的推理过程形成大量高质量数据的飞轮,并最终有可能向 SuperIntelligence 更进一步。
评论模型 Critic Model
随着任务问题的逐步复杂,仅仅依靠模型的自身推理能力可能无法提供有效的奖励信号。这使得对于模型内部的复杂推理过程的监督变成了一个可扩展监督问题。
具体来说,OpenAI o1 隐式思维链的训练过程中应当也引入了 Critic 的方法。针对复杂推理的问题,模型自身已经难以提供合理推理过程,因此迫切需要引入额外的足够强的 Critic Model 来提供精准的反馈。
具体来说,通过将推理过程进行过程分解,并且利用额外的更强更专项的 Critic Model,可以将推理过程的监督扩展到更复杂的问题上。这也一定程度缓解了仅仅是通过推理过程能否导出正确结果的来确定奖励信号的稀疏问题。
这个思路早在先前也有所探索。
前阵子 OpenAI 发布的 CriticGPT [2], 通过 RLHF 方法训练模型能够为真实世界中的代码任务书写自然语言反馈,并成功泛化到 OOD 的分布上。这种反馈可以用来帮助人类进行更准确的评价,从而实现对于复杂输出的有效奖励反馈。先前 OpenAI 也深入探究过自我批判方法和 Critic Model 辅助人类评判 在文本总结任务上的可行性 [3]。
从可扩展监督的角度来说,这条路是必然的。随着任务变得愈发复杂(如数学代码推理),人类反馈者很难对模型的回答进行有效的评价,也就无法提供有效的偏好或者奖励信号,如何在更复杂的任务上对齐更强大的模型,是可扩展监督的重要问题。
对于 Critic 这类方法,关键的挑战在于如何将 Critic 的能力泛化到更加复杂的任务,例如对于代码数学或者长文本输出,Critic Model 需要考虑输出各部分之间的依赖关系和逻辑推理问题,因此对于模型自身的推理能力要求更高。
用于评论批判的模型(Critic Model)同样也可能会存在 Generator-Discriminator-Critique (GDC) gaps ,即模型可能不会指出他们所发现的错误,这一差距在 CriticGPT 这个量级尺寸的模型上是否被缩减目前还不得而知。
可以说这一系列工作是一脉相承的,基于评价比生成更简单的原则,Critic 的思路是可扩展监督一条有希望的技术路径,并且应该也被用在了辅助 o1 的训练当中。
大模型的天花板在哪里?
自从 2022 年 ChatGPT 面世以来,大模型经过了近两年的迭代。目前,无论是工业界还是学术界,都在探索大模型的上限。在 Scaling Law 的支持下,大模型持续增加预训练的数据量和模型参数。然而,随着硬件集群的限制和成本的约束,模型参数的增长已逐渐停滞。在 OpenAI o1,普遍认为要进一步提升大模型的能力,主要有以下两条技术路线:
通过合成数据进一步扩展数据和参数规模。一些模型使用了大量的公开数据进行训练,随着数据量的增加,模型性能仍在提升。然而,随着时间的推移,数据稀缺将逐渐成为增加更多数据的挑战。一些解决方案包括生成合成训练数据,例如 NVIDIA 发布了 Nemotron-4 340B 可以帮助在无法获取大量、多样的标注数据集的情况下生成合成训练数据,并在一定程度上解决数据饥荒的问题;OpenAI o1 也是基于这样的思路,提供了构建合成数据飞轮的机会。
通过模态混合和模态穿透的方法,借助其他模态增强模型能力。相比于公开的文本数据,图像、视频、音频等数据的总量更大,且包含的信息量也更丰富。一条可行的技术路线是有效增加模型处理的模态数量,不仅让模型完成不限于文本模态的任务,更重要的是,通过模态穿透和模型融合,在复杂推理能力上更上一层楼,即实现模态上的 Scaling Law。在这方面前景广阔:文本的序列化信息相比于图像和视频所包含的复杂信息要少得多,更丰富的数据能够有效扩充模型推理空间的丰富度;
推理能力和模型的指令跟随能力呈现出分离关系。在 OpenAI o1 表现中,尽管在数学、物理等复杂任务上的推理能力有了大幅提升,但在一些语言生成任务上,并没有体现出更大的进步。在 System Card 和 OpenAI 研究人员的访谈中也提到,OpenAI o1 专项于推理能力,而并不能作为一个很好的 Agent 和 Assistant。这种推理能力和指令跟随能力的分离在模型强大到一定程度才出现,甚至是互斥的。但对于构建通用智能体来说,如何 balance 二者关系会成为一个核心问题。
三、未来方向的展望
强化学习的重要性
OpenAI o1 的发布将重塑行业对于算力分配的认知,标志着 RL 下 Post-Training Scaling Law 的时代正式到来。OpenAI 研究员 Jason Wei 也表示,o1 模型背后的核心不只是通过 Prompt 提示词完成 CoT,而是引入 RL 训练模型,从而使模型更好地执行链式思考。隐式思维链思考给 o1 带来的巨大性能提升,也将启发行业在模型规模达到一定量级后,更多的将算力投入到 Post-Training 阶段的 RL 训练和推理阶段模型的思考过程当中。强化学习先驱 Rich Sutton 在 “The Bitter Lesson” 中说:
我们希望 AI 代理能够像我们一样进行探索,而不是仅仅包含我们已经发现的知识(通过 Pre-training 来让模型拟合海量的数据分布,并期待模型具备一定的泛化性)。只有搜索和学习这两种学习范式能够随着计算能力的增长无限扩展,强化学习作为这两种学习范式的载体,如何能够在实现可扩展的 RL 学习(Scalable RL Learning)和强化学习扩展法则(RL Scaling Law),将成为进一步突破大模型性能上限的关键途径。
Test-Time 算法设计的重要性
从技术上来看:如何更好的启发模型的内部思考过程?不同的思考方式和 Self-Critique 反馈方式带来的成效不同 ;Post-Training 阶段如何通过 RL 手段帮助模型学会内在的推理?Verifier \ Critic Model 如何和模型训练方法如 RL-Self Play 、MCTS 进行有效的耦合,实现真正的可扩展监督(Scalable Oversight);模型思考过程的上界在哪,Test-Time Optimization 的边界;这些都将是不局限于利用人类偏好数据,利用强化学习进行 “微” 调,随着业界在 pre-train 阶段技术的成熟,以及现有数据也即将匮乏,大模型的训练将从 “模仿” 到 “探索” 的转变,在 Llama 3.1 的技术报告中谈到,在 Post-training 阶段能够观察到性能的有效提升,而 OpenAI O1 则是进一步将大模型训练的战场推向 Post-training 阶段。
AI 控制需要划清 RL 的职权界限
AI 控制(AI Control)是 Greenblatt et al. 提出的一套 AI 安全范式 [8] ,近来在 AGI 安全领域获得了不少关注。其主要特征是假定模型具有未对齐、非安全的倾向,并设计部署阶段的 “工业流程” 使不同能力、不同安全系数的模型互相辅助、互相监督,以在一定的安全性概率保障下有效利用非安全的模型。
AI 控制范式是一系列推理阶段 AI 安全方法的代表。这些方法往往需要模型无法通过梯度更新来找到并利用监督机制中的漏洞,因为反之则几乎任何监督机制都可找到漏洞(这一事实已经在人类社会中得到广泛印证)。
基于 RL 的语言模型训练方法,在提高模型能力的同时,也为模型带来了寻找监督机制漏洞的强大动机 —— 在当下和过去的 RL agent 研究中,研究者的许多精力都花在避免 RL policy 收敛到意料之外的 “作弊” 策略上;如果能力强大、且具有 agent 架构的语言模型同样产生了这些 “作弊” 倾向,会带来不同于输出毒性的一系列新的安全风险。AI 安全领域围绕这些风险进行了广泛的讨论和研究,可以参考围绕奖励破解(reward hacking)和目标误指(goal misspecification)等主题的文献,在 AI 对齐综述 [10] 中,也有所分析。
这一考虑意味着,在语言模型(尤其是具有 agent 架构的语言模型)的 RL 训练中,应当严格划分 “RL 训练回路内” 和 “RL 训练回路外” 的部分,并用可靠的技术措施(如沙盒)、流程措施(如避免根据回路外的信息来筛选模型)来隔离二者。回路内部分例如时空尺度有限的受训任务本身,而回路外部分例如在模型周围部署的 AI 安全机制,包括前述的 AI 控制方法。若允许 RL 直接对抗 AI 安全机制作奖励最大化,则可能带来 “钻安全漏洞” 的风险。
作者信息
陈博远,北京大学元培学院 2022 级 “通班” 本科生,主要研究方向为:大模型可扩展监督,曾获 2024 商汤奖学金和北京市自然科学基金资助,个人主页 cby-pku.github.io;
邱天异,北京大学信息科学技术学院 2022 级 “图灵班” 本科生,主要研究方向为:人工智能系统的道德进步与对齐,曾获 John Hopcroft 奖学金和国自然本科生基金资助,个人主页为:tianyiqiu.net;
吉嘉铭,北京大学人工智能研究院 2023 级博士生,主要研究方向为:大模型安全对齐,曾获北京大学校长奖学金和首批国自然博士生基金资助,个人主页为:jijiaming.com。
参考文献
[1] STaR: Bootstrapping Reasoning With Reasoning https://arxiv.org/abs/2203.14465
[2] LLM Critics Help Catch LLM Bugs
https://arxiv.org/pdf/2407.00215
[3] Self-critiquing models for assisting human evaluators
https://arxiv.org/pdf/2206.05802
[4] OpenAI o1 System Card
https://assets.ctfassets.net/kftzwdyauwt9/67qJD51Aur3eIc96iOfeOP/71551c3d223cd97e591aa89567306912/o1_system_card.pdf
[5] Scaling LLM Test-Time Compute Optimally can be More Effective than Scaling Model Parameters
https://arxiv.org/abs/2408.03314
[6] Training Verifiers to Solve Math Word Problems https://arxiv.org/pdf/2110.14168
[7] Quiet-STaR: Language Models Can Teach Themselves to Think Before Speaking https://arxiv.org/abs/2403.09629
[8] AI Control: Improving Safety Despite Intentional Subversion https://arxiv.org/abs/2312.06942
[9] Sycophancy to Subterfuge: Investigating Reward Tampering in Language Models https://arxiv.org/abs/2406.10162
[10] AI Alignment: A Comprehensive Survey https://arxiv.org/abs/2310.19852
往期推荐
文生图新高度!性能媲美 Stable Diffusion,成本却低 118 倍!
Github标星10.2K!抛弃MATLAB,开启可视化巅峰之旅!
商务合作 | 交流学习 | 送书活动
添加vx:yuliang-bj(备注姓名-单位)
觉得不错,请点个在看呀