大模型推理新范式!清华&蚂蚁:用编程思维来思考,用自然语言来表达
CodePlan 的提出为大模型推理能力发展提供了一个新思路。这项创新通过将代码形式规划引入推理过程,成功解决了自然语言表达中的结构化缺陷;更重要的是,它开创了一种全新的方法论,为大模型注入了系统化的问题解决能力。通过开源 200 万条规划数据,研究团队为整个社区贡献了资源。在此基础上,期待在金融、医疗等高要求场景中有更多激动人心的应用突破。
大模型应该以什么形式进行推理?自然语言是表示推理路径的最佳方案吗?
2024 年 9 月,OpenAI 携 o1 模型吹响推理革命的号角,以惊人的思维链长度刷新认知边界。在这场技术革命中,中国力量迅速崛起:DeepSeek R1 以极低的训练成本成功复现 o1 性能,引发全球热议。然而,在振奋的结果背后,上述「灵魂拷问」似乎并没有得到解答。
事实上,在这场推理大潮来临之前,本文研究团队就一直在围绕这些问题进行思考和探讨。自然语言形式的推理范式虽然从思维链开始就主导了推理模型的构建,其本身却存在着不可忽视的缺陷:推理过程中常见逻辑断裂、焦点漂移、冗余重复等系统性问题。这就像一名博学却缺乏系统训练的学生,知识有余而逻辑不足。
研究团队认为这些问题源自自然语言的双面性:表达自由灵活,却难以传递严谨的结构化思维。更本质的挑战在于:文本中蕴含的推理结构往往被埋藏在自然语言冗余的表达形式之下。这些隐含的逻辑模式难以被模型有效捕捉和复用。对于参数量较小的模型而言,这一困境更为严峻。
为应对这一困境,研究团队在 ICLR 2025 上提出了 CodePlan 方法。这一创新框架将「代码形式的规划」(Code-Form Planning)引入推理过程,让大模型先用「编程思维」来思考,再用自然语言来表达。
得益于编程语言的严谨特性,代码规划能够精确构建包含条件分支、循环迭代、函数调用等结构的推理蓝图,就像为大模型装上了一个逻辑严密的「操作系统」。更有趣的是,由于编程语言存在海量的数据,这种方法无需繁重的人工标注,能够自动从已有数据中提取隐含的规划信号;并且由于已有代码覆盖了各个领域的问题,CodePlan 除了解决复杂推理问题外,还可以很好地泛化到其它任务上。
在 13 个具有挑战性的基准测试中,CodePlan 实现了平均 25.1% 的相对性能提升。目前,研究团队已开源了 200 万条包含代码形式规划的推理数据,以期推动这一方向的研究。
-
论文标题:CodePlan: Unlocking Reasoning Potential in Large Language Models by Scaling Code-form Planning
-
Github: https://github.com/thu-coai/CodePlan
-
Dataset: https://huggingface.co/datasets/jiaxin-wen/CodePlan
一. 推理能力的阿喀琉斯之踵
在大模型推理能力突飞猛进的表象之下,隐藏着一个被忽视的现象:随着研究者不断追逐更大的参数规模、更庞大的数据量,模型的「思维熵增」现象反而愈发严重。这种反常现象主要表现在两个方面:一是推理过度膨胀,即便是回答 「2+3=?」这样的简单问题,o1 模型也会生成长达 200 多个 token 的冗长思维链;二是推理不够专注,在解决复杂问题时频繁跳跃于不同思路之间,却始终无法深入任何一个方向得出正确答案。
这一现象暴露出当前技术路线中一个根本性矛盾:自然语言固有的非结构化特性,与系统化推理所需的严谨规划框架之间存在着难以调和的冲突。
深入分析这一现象,研究团队发现现有的推理模型主要依赖两个步骤:首先通过自然语言形式随机探索生成海量的推理路径,然后借助强化学习算法从中筛选优质轨迹。这种方法虽然拓宽了推理的探索空间,却像在茫茫沙漠中漫无目的地搜寻绿洲,缺乏有效的导航机制必然导致效率低下。更为致命的是,这种基于自然语言的自由推理方式难以沉淀出可复用的结构化知识,导致模型每次面对新问题时都需要从零开始探索。
因此,现有方法虽然培养了模型强大的直觉能力,却忽视了人类思维最本质的特征 —— 通过高层规划将零散知识系统化的能力。
CodePlan 在 5 类核心推理任务上取得显著提升。Vaniila: 不使用规划的基线方法;Natural Language Plan:基于自然语言的规划方法。
二. CodePlan:为大模型装载结构化思维引擎
面对大模型推理能力的瓶颈,研究团队提出了 CodePlan 框架,其核心创新在于引入「代码形式规划」(Code-Form Planning)作为思维的中间表征。
这一创新建立在对推理结构的精确表达之上。通过将编程语言的严谨结构引入推理过程,CodePlan 为大模型构建了一个可靠的「思维操作系统」。这个系统通过两个层次来实现思维的结构化:先用 Python 风格的伪代码勾勒出高层次的推理框架;再基于这个框架,系统性地展开具体推理步骤。
如下图所示,这种基于代码的表达方式具有四大核心优势:
-
条件分支能力:通过 if 语句动态调整推理路径,实现灵活的上下文适应;
-
循环迭代结构:利用 for 循环高效处理序列数据和重复操作;
-
模块化工具:通过函数定义和调用,增强模型对工具的创建和使用能力;
-
层次化架构:通过变量定义、子任务分解和严谨的逻辑编排,支持复杂推理任务的模块化分解。
相比传统的自然语言规划,CodePlan 的优势突出。Python 代码不仅能够以更简洁的方式传递规划信息,而且这种表达方式在预训练语料中分布更广,使模型在训练阶段就已经建立起对代码结构的深层理解。
这种与生俱来的「代码素养」让模型能够更自然地生成和理解规划信息,大大降低了学习成本。更重要的是,这种规划方式展现出惊人的通用性——从数学推理到指令理解,从符号运算到开放式问题,都能构建出清晰的代码形式规划表示。
三.广泛提升模型推理能力
为验证 CodePlan 的效果,研究团队构建了一套高效的规划信息自动挖掘方法。如下图所示,该方法包含两个关键创新:首先通过代码预训练模型精准解析文本中潜藏的推理结构,将其转化为显式的伪代码表示;其次设计了基于启发式评分的动态过滤机制,确保所提取规划的质量。
基于这一方法,团队成功构建了一个包含 200 万个「< 用户提示,代码规划,回复 >」三元组的大规模数据集。
训练数据构建流程。
实验结果令人振奋。研究团队以 Mistral 和 Llama 为基座模型,在跨越数学推理、符号运算、指令理解、多跳问答和决策等五大领域的 13 个具有挑战性的基准测试中进行了系统评估。
结果显示,相比于直接从用户指令生成推理步骤的基线方法(Vanilla)和使用自然语言形式规划的传统方法(PS Prompting),CodePlan 在所有任务上都实现了显著提升。特别是在复杂度较高的任务上,性能提升更为明显。例如,在 Last Letter 任务上,Mistral-7B 的准确率提升了超过 20 个百分点,展示出 CodePlan 在处理高难度推理问题时的独特优势。
1. 任务越复杂,提升越显著
深入分析实验结果揭示了 CodePlan 一个令人瞩目的特性:随着任务复杂度的提升,其性能优势愈发显著。研究团队以多跳问答任务为例进行了精细化分析,通过将数据集按推理步数(2 跳、3 跳、4 跳)划分,清晰地展示了这一规律。
多跳问答任务的性能对比。
如上图所示,在相对简单的 2 跳问题上,CodePlan 相比基线模型已有稳定提升;而在需要三次以上推理跳转的复杂问题中,性能差距急剧扩大。特别是在最具挑战性的 4 跳问题上,CodePlan 的优势达到最大,这充分说明其在处理深层次推理时的卓越能力。
这种「难者愈强」的特性,正是源于 CodePlan 的结构化推理框架。通过将复杂推理过程分解为清晰的代码步骤,模型能够更好地把控长程依赖关系,避免了传统方法在多步推理中常见的逻辑断裂和注意力发散问题。
2. 更高效、更稳定的后训练
研究团队在探索 CodePlan 的训练特性时,发现了另一个重要优势:它为大模型的后训练提供了一条更高效、更可靠的路径。
CodePlan 的训练曲线。
如上图所示,在 GSM8K 数学推理和 MuSiQue 多跳问答这两个具有代表性的任务上,CodePlan 展现出显著的训练优势。传统的后训练方法(蓝线)在训练过程中表现出明显的性能波动。相比之下,CodePlan(橙线)不仅实现了更快的性能提升,更重要的是保持了稳定的上升趋势。
这一现象揭示了 CodePlan 的核心优势:通过引入结构化的代码规划作为中间表示,它成功建立了一个更加普适的学习框架。这个框架能够有效降低不同任务之间的表达差异,使得模型可以更专注于学习本质的推理模式,从而实现知识的高效迁移和稳定积累。这不仅提高了训练效率,更为大模型能力的持续进化提供了可靠保障。
3. 案例分析:化繁为简的结构化思维
让我们来看看「数值比较」(9.8 和 9.11 谁更大)和「字母计数」(统计 strawberry 中字母 r 的出现次数)这两个看似简单,却常常难倒模型的问题。
如上表所示,CodePlan 通过引入代码形式的规划,优雅地解决了这些问题。与之形成鲜明对比的是,没有规划辅助的模型往往给出模糊或错误的答案。它们要么直接下结论,要么陷入冗长却不准确的解释中,反映出缺乏系统化思维方法的局限。
这个对比表明:CodePlan 不是简单地告诉模型「该做什么」,而是教会模型「如何思考」。通过将复杂任务分解为清晰的代码步骤,CodePlan 为模型提供了一个可靠的问题解决范式。
结语:开辟大模型结构化思维新思路
CodePlan 的提出为大模型推理能力发展提供了一个新思路。这项创新通过将代码形式规划引入推理过程,成功解决了自然语言表达中的结构化缺陷;更重要的是,它开创了一种全新的方法论,为大模型注入了系统化的问题解决能力。通过开源 200 万条规划数据,研究团队为整个社区贡献了资源。在此基础上,期待在金融、医疗等高要求场景中有更多激动人心的应用突破。
如何学习大模型 AI ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
第一阶段(10天):初阶应用
该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。
- 大模型 AI 能干什么?
- 大模型是怎样获得「智能」的?
- 用好 AI 的核心心法
- 大模型应用业务架构
- 大模型应用技术架构
- 代码示例:向 GPT-3.5 灌入新知识
- 提示工程的意义和核心思想
- Prompt 典型构成
- 指令调优方法论
- 思维链和思维树
- Prompt 攻击和防范
- …
第二阶段(30天):高阶应用
该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。
- 为什么要做 RAG
- 搭建一个简单的 ChatPDF
- 检索的基础概念
- 什么是向量表示(Embeddings)
- 向量数据库与向量检索
- 基于向量检索的 RAG
- 搭建 RAG 系统的扩展知识
- 混合检索与 RAG-Fusion 简介
- 向量模型本地部署
- …
第三阶段(30天):模型训练
恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。
到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?
- 为什么要做 RAG
- 什么是模型
- 什么是模型训练
- 求解器 & 损失函数简介
- 小实验2:手写一个简单的神经网络并训练它
- 什么是训练/预训练/微调/轻量化微调
- Transformer结构简介
- 轻量化微调
- 实验数据集的构建
- …
第四阶段(20天):商业闭环
对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。
- 硬件选型
- 带你了解全球大模型
- 使用国产大模型服务
- 搭建 OpenAI 代理
- 热身:基于阿里云 PAI 部署 Stable Diffusion
- 在本地计算机运行大模型
- 大模型的私有化部署
- 基于 vLLM 部署大模型
- 案例:如何优雅地在阿里云私有部署开源大模型
- 部署一套开源 LLM 项目
- 内容安全
- 互联网信息服务算法备案
- …
学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。
如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。
这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费
】
更多推荐
所有评论(0)