当前位置: 首页 » 资讯 » 科技头条 » 正文

Thoughtworks AI Labs研发的"AI学习路由法"

IP属地 中国·北京 科技行者 时间:2026-05-21 22:23:39


这项由Thoughtworks AI Labs(TAILS)团队完成的研究以预印本形式发布于2026年5月,论文编号为arXiv:2605.14323v1,有兴趣深入了解的读者可通过该编号查询完整论文。

从一个日常困惑说起

每个学过外语的人大概都有过这样的体验:同样是背单词,有时候脑子特别好使,一个词记住了,感觉整个句子都顺了;但有时候死记硬背半天,到用的时候还是磕磕绊绊。背后的差异,是你选择了什么样的"路线"来学习——先理解语境还是先死记字形,先听读还是先写练。好的学习路线能让效率翻倍,坏的路线则让人事倍功半。

这篇论文要解决的,正是一个和这个困境高度相似的AI问题:能不能让语言模型(也就是ChatGPT这类AI)在学习新知识时,自己给自己规划一条最合适的"学习路线",而不是像传统训练那样,被动接受统一的训练方式?

Thoughtworks AI Labs的研究团队给出了一个令人意外的答案,他们把这套方法叫做"动态潜在路由"(Dynamic Latent Routing,简称DLR)。在四个不同的知识问答测试中,对阵六款主流AI模型,DLR比传统的监督微调方式平均高出了6.6个百分点,在一些推理难度较高的任务上甚至高出将近20个百分点。更有意思的是,这套方法还能让人直接"读出"AI在思考什么,让AI的内部推理过程变得透明可观察。

一、AI学习为什么需要"路线规划"

要理解这项研究解决的问题,先从一个更简单的场景出发。

当你请一位朋友教你做一道复杂的菜,比如佛跳墙,一个好老师会根据你的基础,帮你规划学习顺序:先掌握基本刀工,再学火候控制,最后再处理食材搭配。这个顺序不是随意的,它是把整个大任务拆解成一个个小子任务,每个子任务都有明确的内容和目标。

现在的大语言模型在"微调"(也就是让它在某个特定任务上表现更好)时,本质上就像是让一个已经有基础厨艺的学生在某个特定菜系上继续深造。传统的方式是直接把所有菜谱塞给模型,让它逐字逐句地学。这种方式简单粗暴,虽然在数据量足够大的情况下也能有效,但问题是:当数据量比较少的时候,效果就会大打折扣。

研究团队发现,如果能给AI提供一种"内部导航符号",让它在处理每一段文本的时候,先规划一下"这段我用哪种处理方式最合适",再去执行,效果会好得多。这个导航符号,就是论文中所说的"离散潜在代码",简单来说就是AI自己创造的、不可见的"路线标记"。

此前已有研究者尝试在AI生成的文字序列里插入特殊的"思考符号",比如在输出文字之前加几个特殊的占位符号,让AI有时间"想一想"。但这些方法有两个核心缺陷。一是这些符号被当成额外的文字直接插入句子,破坏了模型在大量文字数据上学到的语言结构,需要大量额外训练才能让模型适应这种变化。二是这些符号要么提前固定好,要么需要另一个单独的模型来预先标注,整个过程需要多个训练阶段,效率低下。DLR的设计思路从根本上绕开了这两个问题。

二、数学游戏背后的深层逻辑:为什么"分段走"比"一口气跑"更好

DLR的理论基础来自一个在AI领域叫做"马尔可夫决策过程"(MDP)的经典框架,但研究团队对它进行了一个关键的扩展。

经典的决策理论框架把AI想象成一个棋手,在每个时刻根据当前局面选择最优的一步棋,然后在这个决定上反复迭代优化。这套逻辑的核心假设是:评价一步棋好不好的标准(也就是"奖励函数")是固定不变的。但研究团队指出,现实中有大量问题的奖励标准是随时间变化的——就像下一盘棋的目标不只是"吃掉对方的棋子",而是"先控制中心,再展开进攻,最后将军",不同阶段有不同的目标。

于是他们提出了"动态马尔可夫决策过程"(DMDP)的概念,在这个框架里,奖励标准会随时间变化。他们数学上严格证明了一个重要结论:在奖励标准会变化的情况下,任何固定不变的策略都不可能是最优的(这对应论文中的定理11)。换句话说,面对动态任务,必须有一个能适应变化的策略。

更进一步,他们还证明了另一个定理(定理12):如果把整个任务拆成两段,每段都用各自最适合的策略,那么整体价值可以通过把两段价值叠加来计算。这听起来有点绕,但用做菜的比喻来说就清晰多了:处理食材的最优操作和烹饪的最优操作可以分开考虑,最终菜品的质量等于两个阶段质量的组合。

在这个理论基础之上,研究团队设计了一个叫做"广义迪杰斯特拉搜索"(General Dijkstra Search,GDS)的算法。迪杰斯特拉算法是计算机科学中寻找最短路径的经典方法,比如地图导航就用到它。GDS把这个思路迁移到策略搜索上:不是一步步地改进当前策略,而是把所有可能的"子策略组合方式"当作候选路径,找出其中价值最高的那条。这个算法被数学上证明能找到最优的目标达成策略(定理13)。这是整篇论文理论贡献的核心——它从数学层面解释了"为什么把大任务拆成小任务、每段用专属策略"这种做法在理论上是有保障的。

三、具体怎么做:给AI装上一套内部导航系统

理论有了,具体实现的工程设计同样精妙。

可以把语言模型的工作方式比作一条流水线:原始文字进来,经过多层"处理车间",最后输出答案。每一层处理车间都会对信息进行加工,提取特征、整合上下文。DLR的做法是在某一层处理车间的入口处,加装一套"路线分配系统"。

具体来说,模型处理的文字被切割成若干个"块",每个块包含固定数量的连续词语。在处理每个块之前,系统会从一个预先准备好的"代码本"里选一个代码,这个代码对应一个向量——可以把它理解成一种"调味料",被直接加入到该块文字的信息流里,改变模型对这段文字的处理方式。选哪个代码,由一个轻量级的"路由头部"来决定,它会根据当前文字的特征来做判断。

关键的创新在于:这个调味料不是加在文字本身上(不是在句子里插入新词),而是加在模型内部的"信息流"上。就像厨师不是在菜谱上写"加盐",而是直接在烹饪过程中向锅里加盐。这样做的好处是:从模型的视角看,它接收到的文字输入完全正常,没有任何奇怪的符号干扰,但内部处理方式却已经悄悄被调整过了。

训练的目标函数包含四个部分,每个部分各有用途。第一部分是"通才损失",确保模型不忘记原来学到的语言能力,相当于保留厨师的基本厨艺。第二部分是"信息增益",鼓励那些能让模型在特定条件下表现更好的代码组合,相当于奖励那些真正提升菜品口味的调味方案。第三部分是"策略优化",训练路由头部准确预测哪些代码更有用,相当于培养厨师的直觉,让他下意识就知道这道菜该怎么调味。第四部分是"边际熵正则化",防止所有块都使用同一个代码,强迫代码本的多样性,相当于要求厨师不能每道菜都加同一种调料,要学会使用整个调料架。

这四部分协同作用,形成了一个完整的学习机制。其中一个技术细节特别值得一提:路由头部在选代码时使用了"停止梯度"操作,这意味着选代码的决策和优化模型的过程是分开的,这种设计借鉴了强化学习中技能发现领域的成熟做法,能让训练过程更加稳定。

四、搜索、选择、更新:三步循环让AI越学越聪明

在实际训练时,DLR的工作方式可以用"搜索-选择-更新"三个步骤来描述,这也是它名字中"动态路由"的由来。

每处理一个训练样本,系统首先让路由头部在一定随机性下生成多个候选代码序列(默认生成8个),这就是"搜索"。然后从这8个候选方案中,选出让模型预测这段文字的准确性最高的那个方案,这就是"选择"。最后,用这个被选中的最优方案来同时更新模型参数、代码本,以及路由头部的判断能力,这就是"更新"。

这个过程之所以是"动态的",原因在于:模型参数在变化,所以好代码的定义也会随之变化。如果路由头部跟不上这个变化,它选出来的代码可能对当前的模型来说已经不是最优的了;反过来,如果只更新模型,模型可能会变得越来越适应某一种固定的代码搭配方式,失去灵活性。三者同步更新,才能保证路由判断始终与模型能力相匹配。

这个三步循环被研究团队描述为GDS算法的"神经网络松弛版":把优先级队列替换成了学习型路由头部,把精确的最优策略搜索替换成了采样加选择的近似搜索,但核心的"搜索-选择-更新"循环逻辑完全保留了下来。

五、实验结果:数字背后的真实含义

研究团队在极其严苛的条件下进行了实验:只用每个数据集官方训练集的一个完整轮次,学习率固定,有效批次大小固定,训练步数完全相同。这种设置模拟的正是实际应用中最常见的"数据有限、预算有限"场景。

对比的基准方法包括直接监督微调(SFT,把正确答案告诉模型,让它照着学),以及两种之前业界关注度较高的离散代码增强方法:暂停符号法(PauseToken,在输入序列里加特殊的"思考符号")和混合代码法(TokenAssorted,提前用另一个编码器标注数据,然后让语言模型在混合了潜在代码和普通文字的序列上训练)。

测试场景涵盖了四个风格迥异的知识问答基准。GSM8K考察数学应用题推理,ScienceQA考察跨学科科学知识,StrategyQA考察隐式推理策略,CommonsenseQA(CSQA)考察常识判断。六款被测模型包括三款Qwen3系列(0.6B、1.7B、4B参数量)和两款Llama3.2系列(1B、3B参数量),以及一款Qwen3-8B。

DLR在全部24个模型-数据集组合里都拿到了最高分,平均领先SFT6.6个百分点,在三个推理类任务上平均领先7.8个百分点。在最具挑战性的组合上,优势更为突出:Qwen3-8B在ScienceQA上,DLR比SFT高出18.8个百分点;Llama3.2-1B在GSM8K上,DLR比SFT高出10.2个百分点;Qwen3-4B在GSM8K上高出6.7个百分点。

对比方法的表现则颇为惨淡。暂停符号法在大多数任务上基本与SFT持平,但在StrategyQA上出现了断崖式下跌,比如Qwen3-0.6B的SFT准确率是47%,暂停符号法只有24.6%。混合代码法在数学和推理任务上崩得更厉害:Qwen3-0.6B的GSM8K准确率从SFT的46%跌到15.7%,ScienceQA从48%跌到13.1%。这与研究团队的分析完全吻合——在数据量只有一个训练轮次的极端低数据场景下,那些需要打破语言结构的方法根本来不及适应,表现反而还不如不加任何代码。

实验中还包含一个特别的对照组:C=1的DLR变体,即代码本里只有一个代码。这等价于学了一个静态的、固定的"调味料",类似于表示工程中直接给模型加一个固定的引导向量。结果显示C=1在大多数任务上优于SFT,但明显弱于C=32的完整DLR,证明了代码多样性和动态路由选择的必要性。

六、代码本到底学到了什么:解剖AI的内部地图

实验数字之外,更令人着迷的是研究团队对DLR学到的路由行为的分析。

首先,他们测量了代码本的多样性。在六款模型上,不同代码向量之间的平均余弦相似度都低于0.28(余弦相似度越低,意味着代码之间差异越大),代码利用率从31%到100%不等。这说明模型没有陷入"所有事情都用同一种处理方式"的陷阱,而是真正学会了用不同的方式处理不同的内容。

其次,他们分析了路由决策是否有规律可循。ScienceQA数据集恰好带有话题标签(物理、生物、化学等),研究团队用这些标签来衡量"代码纯度"——某个代码是否倾向于集中出现在某一类话题上。结果显示,不同话题下的代码序列确实有明显的话题偏向,而且随着连续代码的长度增加,这种偏向越来越强。长度为1的单个代码纯度约高于随机基线(随机情况下纯度约为0.17),而长度为5以上的代码组合,高纯度(≥0.75)的比例在大模型上可以接近100%。这意味着AI学会了用特定的"代码语言"来标记不同类型的问题。

更直接的证据来自因果干预实验。研究团队尝试了两种破坏方式:一是把引导向量的权重直接归零,二是把路由选出的代码随机替换成其他代码。前者导致ScienceQA准确率在不同模型上下降6.2到17.4个百分点,后者导致下降4.8到11.7个百分点。这说明学到的路由不是摆设,而是真正在承载有效信息。

更精细的分析发现,单独移除某一个特定代码,会在不同话题上产生方向相反的效果。以Qwen3-0.6B为例,移除代码0会让生物类题目准确率提升3.6个百分点,同时让物理类题目下降4.0个百分点。Qwen3-1.7B上,移除代码0让写作策略类题目提升4.8个百分点,Qwen3-4B上让化学类题目提升9.8个百分点。这种正负兼有的效应说明每个代码并非均匀地影响所有类型的问题,而是像一个专属的"话题开关",打开它或关掉它,会产生非常具体和定向的影响。

七、六位数加减法:当AI的"思考过程"变得可以直接阅读

研究中最引人入胜的案例研究发生在六位数加减法上。这个任务有一个特别的特点:计算机科学领域的研究者此前已经通过分析神经网络内部激活信号,发现了变压器模型解决这类加法问题的内部"电路"结构,识别出了几种典型的子任务类型。

这几类子任务大致可以描述如下。对于加法,有些位置的计算很简单,两个数字加起来不超过9,不产生进位;有些位置会产生进位;有些位置的两个数字恰好加起来等于9,这是最棘手的情况,因为是否需要进位取决于更低位的计算结果,形成一种"级联不确定性";还有些位置接收来自低位的进位。减法中也有类似的结构,只是把进位换成了借位。

研究团队用了一个小模型(2层、1个注意力头、128维的变压器,参数量约0.1M)在合成数据集上训练,让DLR为每个答案数字位置分配一个代码。训练完成后,代码本里30个代码中有23个被实际使用,每个活跃代码都高度集中在某一两种子任务上,大多数代码在自己最主要的子任务上出现的比例超过70%。更有趣的是,每个代码还"锁定"在特定的答案位置上,几乎不跨位置使用。

以一道具体的算题为例,959,271加040,756等于1,000,027,这是一道四重进位级联的题目(从第二位开始连续四位都触发了等于9的级联情况)。DLR给每个答案位置分配的代码是:代码t2出现在所有级联位置,代码t6出现在产生进位边界的位置,其他代码出现在简单无进位的位置。完全不需要任何分析工具,直接读代码序列就能知道这道题哪些位置涉及了哪种计算结构。

这与此前计算机科学领域通过分析内部激活向量、PCA降维等复杂手段发现的"三态进位分类器"完全吻合:激活值分三种状态,分别对应"确定无进位"、"确定有进位"和"不确定等待低位"。DLR不需要任何事后分析,直接把这个分类器的判断结果输出为可读的代码符号。研究团队将此称为"将已知电路外显化"——模型自己把内部推理步骤转化成了外部可观察的符号。

把所有代码全部移除后,模型准确率从95.5%跌到0.1%,彻底失去计算能力,证明代码承载的不只是标注信息,而是真正的计算过程本身。

还有一个更直接的应用:研究人员可以"手术式"地修改单个代码来修正错误。对于模型预测错误的样本,在5个答案位置上各尝试用29个其他代码替换,结果发现在承担进位密集计算的位置上,有27%到31%的错误样本可以通过替换单一代码来修正,而且不需要修改任何模型权重、不需要访问任何内部激活信号。这种"代码手术"式的错误修正,在普通神经网络上是完全无法实现的。

八、消融实验:一一验证每个设计选择的必要性

研究团队做了大量控制变量实验,系统验证了设计中每个组件的重要性。

去掉策略优化这一项损失后,GSM8K准确率平均下降9.8个百分点,ScienceQA平均下降9.0个百分点,Llama3.2-1B的GSM8K甚至下降了23.7个百分点。这说明路由头部的监督训练对于稳定整个系统至关重要——如果路由头部没有学习目标,它就无法持续追踪并选出对当前模型最有用的代码。

把"通才损失+信息增益"这一对替换为单纯的"条件损失"(只优化在给定代码时的预测准确性,不保留无代码情况下的语言能力),平均下降幅度温和得多,约3到5个百分点。这说明大部分提升来自条件预测能力本身,但显式地鼓励代码带来"超越基础"的改善仍然有额外收益。

去掉边际熵正则化(控制代码多样性的部分),准确率下降2到8个百分点,且代码利用率接近崩溃——几乎所有文本块都使用同一个代码。这证实了代码多样性不会自然涌现,需要显式的正则化来维持。

搜索候选数量从默认的N=4降到N=1(等价于没有搜索,只用路由头部的直接预测),平均下降5个百分点,最大下降超过10个百分点。加到N=8几乎没有进一步提升,说明N=4是成本与收益的最优平衡点。采样温度从默认的1降到0(每次生成完全相同的代码序列,搜索意义消失),平均下降6.9个百分点,最大下降15.5个百分点;升到2(代码序列接近随机),平均下降4.1个百分点。这说明适度的随机性是有效搜索的必要条件,太确定和太随机都会损害性能。

代码本大小从1增加到32,性能单调提升,之后增到64几乎没有变化,说明32是这个任务规模下的合理选择。块大小K(每个代码控制的词语数量)在K=4时最优,太小(K=1,每个词都有独立代码)或太大(K=8,代码太粗粒度)都会下降约1到3个百分点。

注入层的选择对不同大小的模型有不同的最优位置:小模型偏好很早的层(第1层),中等模型偏好中间层,大模型偏好更深的层,在自己最优层上比最差层高出5到10个百分点。

九、还有什么没做到:研究者自己的坦诚评估

这项研究的局限性同样值得关注,研究团队在论文结尾做了坦诚的评估。

从理论层面看,GDS最优性定理的成立需要两个条件:有限状态和动作空间,以及奖励函数由外部环境决定。但在DLR里,奖励函数(即模型在给定代码时对文本的预测准确性)本身依赖于模型参数,而模型参数在训练中持续变化。因此,GDS的理论保证并不直接适用于DLR,它更多扮演的是"理论动机"而非"理论保证"的角色。

从实验层面看,当前的测试仅覆盖了低数据量的单轮微调场景。研究团队明确指出,搜索机制的价值在数据量更大、序列更长的预训练或持续预训练场景下可能会更加显著,但这部分工作留待未来。此外,实验只覆盖了两个开源模型家族(Llama-3.2和Qwen3)在0.6B到8B参数范围内的模型,无法代表整个大语言模型生态的多样性。

归根结底,这项研究的核心价值在于证明了一件此前被认为很难的事情是可能的:在非常有限的数据和计算预算内,让AI在学习时自己规划内部处理路线,而且这种路线是结构化的、有意义的、因果上必要的,同时可以被人直接观察和干预。这为未来更大规模、更多样化场景下的探索打开了一扇窗。

对于普通的AI用户来说,这意味着什么?在具体应用层面,当你需要在一台普通设备上部署一个专用的AI助手——比如医院里的问诊辅助、学校里的个性化答疑系统——但没有海量专业数据来训练时,DLR这样的方法提供了一种更高效的路径。更深远地说,当AI的推理过程可以用符号来表达,而这些符号可以被人读懂、修改甚至手术式地替换,AI就不再只是一个黑箱,而成为了一个可以被细致调试的工具,这对于AI安全和可靠性研究都有深刻的意义。

Q&A

Q1:动态潜在路由(DLR)方法为什么比传统监督微调(SFT)效果更好?

A:传统监督微调是把正确答案直接"喂"给模型让它照着学,但模型没有内部规划机制,尤其在数据量少时容易表现欠佳。DLR在模型内部加了一套"路线分配系统",让模型在处理每段文字时先选一个代码(内部调味料),用这个代码来调整处理方式,再执行。因为是在模型信息流上调整而非改动文字序列,不破坏模型已有的语言能力,所以在低数据场景下大幅优于传统方法,平均高出6.6个百分点。

Q2:DLR里的"代码"到底是什么,它是怎么学会分配任务的?

A:DLR里的代码是模型内部的一个向量(一串数字),被加到模型处理信息的中间层,相当于一种隐形的"调味料",让模型用特定方式处理当前这段文字。代码本里有32个不同的代码,由一个轻量级的路由头部根据当前文字特征来选择。训练时,系统会生成多个候选代码方案,选出效果最好的那个,再反过来优化路由头部的判断、更新代码内容,以及改进模型本身,三者同步学习,最终自发形成有意义的分工。

Q3:DLR声称能让AI的推理过程"透明可读",具体是怎么实现的?

A:因为每个代码都是一个明确的离散符号,在处理每段文字时都会生成一个可以直接看到的代码序列。在六位数加法测试里,DLR自发让代码分别对应"简单加法"、"产生进位"、"进位级联"等不同计算子任务,直接读代码序列就能知道每个答案位置发生了什么。研究者甚至可以手动替换某一位置的代码来修正错误,在进位密集位置有27%到31%的错误可以靠换一个代码来修复,完全不需要访问模型内部权重或激活信号。

免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其内容真实性、完整性不作任何保证或承诺。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。