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

天津大学、清华大学等高校联合攻克异步AI训练的"记忆黑洞"

IP属地 中国·北京 科技行者 时间:2026-05-20 00:26:02


这项由天津大学、清华大学、北京大学以及JDT AI Infra联合开展的研究,发表于2026年的NeurIPS(第四十届神经信息处理系统年会),论文编号为arXiv:2605.12070。有兴趣深入了解的读者可以通过该编号在arXiv学术平台上查询完整论文。

你有没有遇到过这样的尴尬:教练在训练你打球时,要求你"跟昨天的自己比一比,看看有没有进步"——但你昨天的录像突然找不到了。结果教练只能硬着头皮用"大概印象"来判断你是不是真的在进步,还是在走弯路。这种感觉听起来荒唐,却恰恰是当今最顶尖的AI训练系统每天都在经历的困境。这项研究要解决的,正是这个被研究团队称为"旧概率缺失"的核心问题——一个在高速异步训练中悄然滋生、却能让整个训练过程悄悄偏航的技术漏洞。

一、AI是怎么"学习"的?先从一个快递站说起

要理解这项研究,需要先搞懂AI是怎么通过强化学习变聪明的。强化学习,可以理解为一种"不断试错、按结果打分"的学习方式。具体到大语言模型(就是ChatGPT这类AI)的训练,过程大致是这样的:AI先生成一段回答,然后系统会给这段回答打个分,AI根据分数调整自己下次回答的策略,如此循环,逐渐变得更聪明。

这个过程里有一个非常关键的工具,叫做PPO(近端策略优化)。用快递站来打比方,PPO就像是一套质检规程:快递员(AI)按照某个版本的规章手册(旧策略)发了一批件,质检组(训练系统)要判断新版规章(当前策略)和旧版规章相比,这批件发得对不对。判断的核心指标是"重要性比率"——简单说,就是同一件事情,按照新规章和旧规章,发生的概率分别是多少,两者相除就得到这个比率。比率接近1,说明新旧策略差不多;偏离1太多,说明策略变化太大,可能需要踩刹车。

问题在于,现代AI训练系统为了追求速度,早就不再是"发一批件、检查一批件"这种老方式了。

二、速度与混乱:当"出货"和"质检"不再同步

为了让大模型训练得更快,工程师们把"生成回答"(出货)和"更新策略"(质检+改规章)这两件事分配给了不同的机器去做,而且让它们同时运行,互不等待。生成回答的机器用的是vLLM、SGLang这类专门的推理引擎,更新策略的机器用的是Megatron-LM、FSDP这类训练框架。这种方式叫做"异步强化学习",好处是速度快了很多,坏处则是埋下了一个隐患。

这个隐患分两层。第一层叫"训练-推理偏差":同样一套参数,跑在推理引擎上和跑在训练引擎上,因为底层数值计算方式、精度设置、量化处理的差异,算出来的概率会有细微的不同。这就好比同一份菜谱,在家用燃气灶做出来的味道,和餐厅用工业烤箱做出来的味道,有一点点差别。第二层叫"策略陈旧":质检组拿到的那批件,可能是好几个版本之前的规章手册指导下发出去的,但现在规章手册已经更新了好几轮,用新手册去评判旧件,本身就存在偏差。

研究团队指出,处理这两层偏差的正确方式,是把"重要性比率"拆成两个独立的部分分别管理。第一个部分叫"差异修正比率",专门负责对齐"推理侧概率"和"训练侧概率"在同一版本下的差距;第二个部分叫"策略陈旧比率",专门负责约束从旧版本策略到当前版本策略的更新幅度。这两个比率分工明确,应该分别设置不同的约束标准:差异修正需要严格对称的过滤(把偏差太大的数据直接扔掉),策略陈旧则需要根据"分数是正是负"来非对称地限制更新范围。

然而,要实现这个漂亮的拆分,需要一个关键素材:旧版训练侧的概率值,也就是研究团队所说的"旧逻辑值"(old logits)。而在异步训练的现实中,这个素材往往已经不存在了。

三、黑洞的形成:旧概率是如何消失的

用具体场景来说明这个问题。假设AI在某个时间点用"版本0"的策略生成了一段对话,但这段对话排在一个很长的待处理队列里,等到真正被训练系统处理的时候,策略已经更新到了"版本3"。此时训练系统想要计算那个"旧训练侧概率",对应的是版本0的参数——但版本0的参数早就被覆盖掉了,根本找不到了。

更复杂的情况发生在"部分rollout"场景中。所谓部分rollout,是指一段对话可能跨越多个策略版本才生成完毕——前几句话是版本1生成的,后几句话是版本2生成的。这种情况下,一段对话里不同位置的旧概率来自不同版本,要全部重新计算代价极高,而且往往根本没有历史参数可以用。

旧概率一旦缺失,两个原本独立的修正任务就被强行捆绑在了一起。训练系统不得不用一个混合的比率同时承担两项本该分开处理的任务,就像让同一个人同时担任质检员和规章更新员,而且还不允许他们有不同的工作标准。研究团队把这种混乱称为"语义纠缠"——两个本质不同的东西被强行用同一套标准衡量,结果两件事都没做好。

现有的训练框架,包括Verl、ROLL、SLIME等,都没有从根本上解决这个问题,只是以某种方式绕过或忽略了它。

四、为什么不能简单"凑合一下"?

面对旧概率缺失的困境,工程实践中最常见的应对方式是"插值代理策略"——既然找不到真正的旧版本策略,就用当前策略和行为策略的某种混合来代替。比如,用"当前参数乘以某个权重,加上推理侧旧参数乘以另一个权重",得到一个看起来介于两者之间的代理策略,然后用这个代理策略来充当旧训练侧概率。

这听起来像是一个务实的工程折中,但研究团队在数学上严格证明了:无论是算术插值还是对数线性插值,这种代理方法本质上做的事情,只是把原始的约束边界重新缩放了一遍,并没有真正恢复那个缺失的参考点。换句话说,用插值代理策略,相当于把一把刻度不准确的尺子拆开、重新拼合,然后宣称现在的刻度准了——尺子的物理结构变了,但测量对象的本质没有改变,测量误差的来源也没有消除。

研究团队还专门计算了在不同版本差距(1、2、3个版本)下,两种插值方式对应的实际约束边界,结果表明,无论哪种插值方式,对总体比率施加的约束效果几乎完全一样,可以互相替换——这进一步印证了插值方法本质上只是换了一种方式表达同一个约束,而不是真正解决了问题。

五、三条找回"记忆"的精确路径

明确了问题的根源之后,研究团队从两个大方向入手:一是通过系统层面的工程手段,精确找回那个消失的旧概率;二是在工程手段代价太高时,用一种更合理的近似方法来替代。

精确找回旧概率的第一条路叫"快照版本追踪"。顾名思义,就是定期把模型的参数状态存一份快照,就像给系统做定时备份。当某批训练数据需要用到旧参数时,就把对应版本的快照重新加载进来,重新算一遍旧概率。这种方法最干净,语义上完全正确,但代价也最大:需要额外的CPU内存或存储来保存快照,版本切换本身会引入延迟,在部分rollout场景下一批数据可能横跨多个版本,切换次数更多。实验测量显示,对于40亿参数的小模型,每一训练步额外增加约95秒;对于300亿参数的混合专家模型,额外增加约178秒,还需要高达76GB的常驻内存来保存多份快照。对于大规模工业训练来说,这个代价相当沉重。

第二条路叫"专用旧逻辑值模型"。这条路的思路是单独维护一个模型实例,专门负责计算旧概率,不参与参数更新,让它与主训练模型并行运行。这样可以让旧概率计算和参数更新在时间上有所重叠,减少串行等待。但它的代价是需要额外的计算资源来供养这个"专职记忆员",资源分配的比例会影响整体效率。当资源分配比例为1:2(旧逻辑值模型:更新模型)时,总体时间可以节省约6.8%;但当比例变为1:3时,反而增加了约7.17%的时间,说明这条路的收益对资源配置高度敏感。

第三条路叫"部分rollout中断同步"。这条路更聪明一些:在策略从某个版本更新到下一个版本之前,系统主动暂停rollout工作,把已经收集到的那部分数据先送回来,利用此时模型还没被更新、旧参数仍然在内存里的窗口期,快速算完旧概率,然后再继续推进更新。这种方式不需要存储历史参数,旧概率是"趁热打铁"算出来的,语义同样正确。但它打断了rollout的连续性,引入了同步停顿,对系统的调度复杂度也有要求。

六、聪明的近似:让"移动平均"成为可靠的代理记忆

三条精确路径都有不低的工程成本。研究团队因此重点研究了一种低成本的近似方案:PPO-EWMA,即基于指数加权移动平均的代理参考策略。

所谓指数加权移动平均,是一种在时间序列分析中常用的平滑方法。通俗地说,就是不断地把"现在的状态"和"之前的加权历史"混合在一起,最近的状态权重大,越久远的状态权重越小,就像一块随时间缓慢变化的橡皮泥,既记录了历史,又不会被过去拖得太远。

研究团队对这个方法做了两个关键改进。第一个改进是针对衰减系数的选取:不是随意设定一个固定值,而是根据系统的实际异步程度(版本窗口的宽度)来自适应地推导。具体公式是把衰减系数近似设为"版本窗口宽度除以(版本窗口宽度加2)"。这样设定的目的是让这个移动平均参考策略的"记忆中心",恰好落在当前异步版本窗口的中间位置,既不太超前也不太滞后,尽可能贴近那个缺失的旧训练侧策略所处的时间位置。

第二个改进是引入了自动重置机制。随着训练推进,移动平均参考策略会积累越来越多的历史权重,逐渐与最新的rollout策略产生较大偏差。当偏差积累到一定程度,"训练-推理掩码"(用于过滤偏差过大数据的指标)的值会急剧下降,意味着大量有效数据被丢弃。研究团队设定了一个阈值(默认为90%),一旦掩码值低于这个阈值,就立即把移动平均参考策略重置为当前策略,清空历史积累,重新开始平滑过程。这个重置操作非常保守,在实验中整个训练过程只触发了两到三次,但每次触发都有效阻止了训练崩溃的发生。

七、实验结果:哪条路走得最稳?

研究团队在两种主流大模型架构上验证了上述方法:一种是有40亿参数的密集型模型Qwen3-4B,另一种是有300亿参数但实际激活参数只有30亿的混合专家型模型Qwen3-30B-A3B。评测场景覆盖了多个真实世界的智能体任务,包括模拟零售、航空、电信服务场景的τ?-Bench基准,以及覆盖实体店和配送业务的VitaBench基准。

从最终任务表现来看,精确快照方案(Snapshot)毫无疑问给出了最好的修正效果,是其他方法的"理想天花板"。在它之下,PPO-EWMA方案在绝大多数测试场景中都优于简单的解耦PPO和线性插值代理策略,有时甚至非常接近快照方案的表现。以40亿模型为例,PPO-EWMA在零售场景的pass@4指标上达到了90.35,略高于快照方案的89.47;在VitaBench的实体店场景,pass@2达到50,也是所有实用方法里最高的。以300亿模型为例,PPO-EWMA在航空场景拿到了pass@4的82分,高于快照方案的80分,也高于其他方法。

从系统成本来看,PPO-EWMA的代价极低:对于40亿模型,额外占用内存仅约7.9GB,额外耗时约8秒;对于300亿模型,额外内存约15.2GB,额外耗时约34秒。相比之下,快照方案需要的内存和时间分别是前者的五倍左右。

研究团队还专门分析了两个约束阈值之间的相互影响。实验发现,差异修正的过滤阈值和策略陈旧的约束阈值并非独立运作:如果把策略陈旧的约束放得比较松,早期会有更多数据参与更新,训练进展快,但也会引入更多噪声,导致后期掩码值下降,间接改变差异修正过滤的效果;反之,如果把差异修正的过滤设得很严,许多数据在进入策略陈旧约束环节之前就被剔除了,训练信号减少,早期进展慢,但轨迹更平稳。这个发现印证了研究团队的核心论点:两种修正机制即使在精确旧概率可用的情况下,也会通过"最终有效数据集"相互干扰,因此分开设计阈值是必要的。

八、这项研究意味着什么

归根结底,这项研究揭示并解决了一个在AI大规模训练领域长期被忽视的隐患。当越来越多的AI系统依赖异步并行训练来追求效率时,训练过程中的"版本对齐"问题变得越来越不可回避。如果不加处理,训练系统会用一个语义含混的比率来同时处理两种本质不同的误差,就像用同一把尺子测量温度和重量,结果两个都测不准。

研究团队提供的解决思路,从工程层面的精确恢复到算法层面的智能近似,覆盖了从"愿意付出高成本换取精确性"到"希望低成本实现大部分收益"的不同需求。对于绝大多数实际训练场景,PPO-EWMA加上自动重置机制提供了一个务实而有效的选择:不需要额外存储历史参数,不需要专门的计算资源,只需要维护一个轻量的移动平均状态,就能让训练过程中的两种修正任务重新回归各自的语义边界。

当然,这项研究也坦诚地指出了它尚未触及的边界。目前的验证规模限于几十亿参数量级,数百亿乃至千亿级别的工业训练系统是否会呈现同样的规律,还有待进一步探索。此外,PPO-EWMA始终是一种近似方案,在系统异步程度极高或版本差距极大的场景下,它与真实旧概率之间的偏差可能超出可控范围。这些开放问题也为后续研究指明了方向。

对AI大规模训练感兴趣的读者,可以通过arXiv编号2605.12070找到这篇论文的完整版本,里面包含了所有数学推导、系统测量数据以及详尽的实验分析。

Q&A

Q1:异步强化学习中的"旧逻辑值缺失"问题具体是怎么产生的?

A:在异步训练系统里,AI生成回答和更新策略由不同机器并行处理。当训练系统拿到一批旧数据时,生成这批数据时对应的模型参数可能已经被新版本覆盖,导致训练侧旧概率值无法重新计算,这个"记忆黑洞"就是旧逻辑值缺失问题的根源。

Q2:PPO-EWMA和普通插值代理策略有什么本质区别?

A:普通插值代理策略只是把原有约束边界重新缩放,数学上等价于换了个形式,并没有恢复真正的旧参考点。PPO-EWMA则基于训练历史的加权平均来追踪策略的变化轨迹,其参数还根据实际异步程度自适应设定,更接近真实的旧训练侧策略,同时引入了自动重置机制防止历史积累导致的偏移崩溃。

Q3:为什么对差异修正和策略陈旧需要分别设置不同的约束标准?

A:差异修正处理的是推理引擎和训练引擎之间的数值计算偏差,这种偏差是对称的、无方向性的,需要严格的双向过滤。策略陈旧处理的是新旧策略之间的更新幅度,需要根据当前数据打分的正负来非对称地限制,防止过大的策略跳变。两种需求的性质根本不同,强行共用一套标准会让两者相互干扰,都做不好。

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