微信扫一扫,关注公众号

  • 科技行者

  • 算力行者

见证连接与计算的「力量」

首页 当AI工厂"流水线"出现时间差,Yandex与ISTA等机构找到了解决之道

当AI工厂"流水线"出现时间差,Yandex与ISTA等机构找到了解决之道

2026-07-06 12:46
分享至:
----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.-
2026-07-06 12:46 科技行者

这项由俄罗斯Yandex公司、BRAIn Lab(基础人工智能研究实验室)、俄罗斯因诺波利斯大学以及阿联酋穆罕默德·本·扎耶德人工智能大学联合开展的研究,发表于2026年第43届国际机器学习大会(ICML),论文编号为arXiv:2606.30634,于2026年6月29日公开。

训练一个大型语言模型,本质上就像在运营一条超级复杂的工厂流水线。原材料(数据)进来,经过一道道工序(神经网络的各个层),最后输出一个会写文章、能回答问题的AI系统。这条流水线分布在成百上千块GPU芯片上,每块芯片负责其中一段工序。

问题就出在这条流水线的协调机制上。

一、当流水线陷入"等待困境":同步训练的隐痛

现实中的工厂流水线有一个常见难题:如果某道工序特别慢,后面所有工序都得停下来等。AI训练也是一样。传统的"同步"训练方式要求所有GPU在完成各自的计算后,必须等大家都完成,再统一更新模型参数,然后才能开始下一轮计算。

这段等待的时间,在专业上叫做"流水线气泡"(Pipeline Bubble)。就像流水线上突然出现了一段空白的传送带,什么东西都没传,纯粹在浪费时间。研究团队计算发现,在实际大规模训练中,这种等待可能造成相当可观的计算资源浪费——以16个流水线阶段为例,依据不同的计算假设,同步方案比完全消除气泡的理想状态慢7%到94%不等。

既然等待这么浪费,为什么不让每段流水线都自己算完就自己更新,不等别人呢?这就是"异步"训练的核心思路。异步训练确实彻底消灭了流水线气泡,让每块GPU随时都在满负荷工作。但代价是,每块GPU在更新模型时用的"参考信息"(梯度)可能已经过时了——这个现象被称为"梯度陈旧"(Gradient Staleness)。

可以用一个更日常的比喻来理解这件事。假设你和几个朋友合写一本书,每个人负责不同章节。同步方式是每个人写完一段后,所有人都暂停,把彼此的修改汇总,统一更新全书风格,然后再继续写。异步方式则是每个人写完就立刻按自己当时看到的版本继续写,不等别人。后者效率更高,但每个人参考的"全书现状"可能已经落后了一步。

这个"落后一步",就是梯度陈旧问题,也是异步训练长期以来没有被大规模采用的主要障碍。

二、并非所有"过时信息"都同样糟糕:两种流水线方案的对比

在异步训练的历史上,有一个经典方案叫做PipeDream,它的做法是让每块GPU完成一次局部反向传播(即计算"这道工序该如何改进"的过程)之后,就立刻更新自己那段流水线的参数。这个方案的问题在于,不同阶段的GPU等待时间不同,离流水线入口近的GPU等待的时间短,信息更新更频繁;离出口近的GPU等待时间长,参数更新更滞后。结果就是整条流水线里,每道工序用的都是"新旧程度不一"的陈旧信息。流水线越长,最严重的那道工序的信息就越陈旧,性能下降就越厉害。

有研究发现,当流水线达到16个阶段时,原始PipeDream方案相比同步训练,验证损失(衡量模型好坏的指标,越低越好)上升超过0.2,这是一个相当严重的退步。

这项研究的核心选择是采用另一个改进方案:PipeDream-2BW。这个方案的聪明之处在于,它不让每道工序算完就立刻更新,而是等整批数据(由多个微批次组成)全部跑完一遍前向和反向传播之后,所有工序才统一更新一次参数。只要每批数据包含的微批次数量M大于等于流水线阶段数P减一,流水线上每道工序等到的更新信息的"陈旧程度"就完全相同,都恰好落后一步。

这就把"每道工序陈旧程度参差不齐"的复杂问题,简化成了一个干净利落的问题:用落后一步的信息来更新模型,会有多大的影响?

从数学上看,这个"固定一步延迟"的训练过程可以写成这样一个更新规则:新参数等于旧参数减去用上一步梯度计算出的优化器更新量。流水线深度不再影响陈旧程度,这是PipeDream-2BW的关键保证。此外,这个方案只需要额外保存一份模型参数的副本,在实际的大规模训练场景中,内存开销可以忽略不计。

三、真正的问题所在:不是陈旧本身,而是用什么"工具"来应对陈旧

这项研究最出人意料的发现,或许就是这一点:长期以来人们认为异步训练天然不稳定、性能下降严重,其实这个锅不该完全由"信息陈旧"来背。真正决定陈旧信息有多大危害的,是你用哪种优化器(即决定"如何根据梯度更新参数"的算法)。

研究团队在135M参数和360M参数的语言模型上,对当前主流的多种优化器进行了系统测评。测评的核心规则很简单:每个优化器都同时跑同步版本(无延迟)和异步版本(固定一步延迟),然后比较两者最终验证损失的差距。

结果令人震惊。AdamW,这个自异步流水线技术诞生以来就占据主导地位的优化器,表现极为糟糕。在360M模型上,异步训练的验证损失比同步版本高出整整0.278,训练曲线早早就偏离了正常轨道。研究人员还尝试了一种"安慰策略"——先用同步模式训练一段时间再切换到异步模式,这确实让AdamW稍微好了一点,但最终差距仍有0.046,而且在切换的瞬间,训练损失会出现一个明显的尖峰,情况相当不稳定。

与此形成鲜明对比的是Muon这个优化器。Muon是近年来新兴的一种优化器,已被多个知名大规模训练项目采用,比如Kimi K2和GLM-4.5的训练。在同步训练中,Muon的表现与AdamW旗鼓相当;但在异步训练中,Muon的损失差距只有0.012,而且无需任何特殊处理。

除了Muon,研究团队还测试了Adan、NorMuon、AdaMuon、SOAP、Lion等优化器,以及MARS和NAdam。测试结果显示,严重退步的优化器只有AdamW和MARS,其余大多数现代优化器都表现出相当强的陈旧鲁棒性,最终损失差距普遍在0.03以内。

Adan在控制损失差距方面表现最佳,这与它使用了极高的一阶动量系数(β?=0.98)密切相关。SOAP能够保持较好表现,研究人员认为可能与它使用了矩阵基变换有关——这一发现与同期另一项来自首尔大学的独立研究结论相互印证。

四、动量:抵抗陈旧的秘密武器

研究团队没有满足于记录哪些优化器表现好、哪些表现差,他们深挖背后的原因,进行了大量超参数敏感性实验。他们一次调整一个参数,观察它对"同步与异步之间的损失差距"有什么影响,覆盖了学习率、权重衰减、动量衰减系数、二阶矩系数、预热步数、梯度裁剪阈值和学习率调度器等众多设置。

在所有超参数中,有一个表现出了跨优化器一致的、清晰的规律:动量衰减系数。

在像AdamW这样的优化器里,这个系数通常叫β?;在Muon类优化器里,通常叫μ。它控制的是"历史梯度信息"在当前更新中占多大比重。用物理比喻来说,动量就像一个滑行中的球,它不会因为突然遇到一块小石头就立刻改变方向,而是继续沿着大致方向滑行,只是稍微受到影响。动量系数越大,球越"重",越不容易被当前时刻的单次梯度影响。

研究发现,对所有测试的优化器而言,提高动量系数都能一致地缩小同步与异步之间的损失差距。这背后有一个直觉上很合理的解释:当你使用的梯度信息已经落后一步时,你对"当前这一步的信息"的依赖越少越好。高动量让优化器更多地依赖历史积累的方向感,而不是单次的、可能已经不再准确的梯度方向,从而自然地抵消了陈旧带来的噪声。

这也解释了为什么AdamW特别脆弱:AdamW在正常情况下最优的β?值是0.9,但这个值对于应对陈旧来说远远不够高。如果强行把β?调到0.99,AdamW的异步性能确实会改善,但它的同步性能也会跟着崩掉——在同步训练中,β?=0.99的AdamW表现远差于β?=0.9的版本(损失从2.877变成了2.939)。这意味着AdamW没有足够宽的"最优动量区间"来同时兼顾同步稳定性和异步鲁棒性。

相比之下,Muon的工作原理使得它天然就处在一个高动量的运作模式下,而且这个模式既适合同步训练,也适合异步训练,两者兼得。

其他超参数方面,学习率、权重衰减和预热长度的效果与人们的直觉基本一致:更激进的设置(大学习率、短预热、极端的权重衰减)会放大不稳定性,而延迟进一步放大了这种不稳定性,因此适度保守的超参数设置通常能缩小异步差距。梯度裁剪和学习率调度器的选择则几乎没有系统性影响。批量大小是个特殊情况:减小批量大小可以大幅缩小差距,但这与硬件利用率直接挂钩,在实际大规模训练中往往不是自由变量,且极小的批量大小对同步训练本身也不是最优选择。

五、进一步弥补差距:误差反馈校正机制

即便Muon在异步场景下已经相当稳健,研究团队仍然希望把那剩余的0.012差距进一步压缩。他们尝试了几种策略。

先从失败的尝试说起。基于Taylor展开的延迟补偿方法(DC-ASGD)在理论上很优雅,思路是用当前梯度和参数变化量来近似估计"如果用新梯度会得到什么结果",然后补偿这个差值。但在实际的大型语言模型训练中,梯度的量级约为10??,参数更新量约为10??,两者的乘积实在太小,校正项几乎可以忽略不计。研究团队把补偿系数从10?一路扩大到10?,小值完全没有效果,大值反而破坏训练。同步冷却策略(训练快结束时切换回同步模式)只带来了可以忽略不计的微小改善。

真正有效的方案是一种受"误差反馈"(Error Feedback)思想启发的更新级别校正机制。

误差反馈最早是在数据压缩领域被提出的:当你必须传输一个有损压缩的信号时,把"这次压缩损失了多少信息"记录下来,下次传输时把这个欠账补上,这样积累的误差就不会越来越大。

研究团队将这个思路迁移到延迟梯度场景中,推导过程如下:在第t步,标准异步训练使用的是第t-1步的旧更新量。但换个角度看,这个旧更新量恰好是第t-1步缺失的信息——在第t-1步,算法实际用的是第t-2步的更新量,而本应该用第t-1步的更新量。两者之差,就是上一步欠下的"债"。把这笔债加到当前步的更新里,就得到了校正后的更新公式:

新参数 = 旧参数 - 2×(当前旧更新量)+(上上步旧更新量)

这个公式实现起来非常简单,只需要额外存储一份模型大小的缓冲区(在分布式训练中,这是每块GPU上的局部模型分片,实际内存开销很小)。

实验结果显示,这个校正方法对大多数优化器都有一致的帮助。对于Muon,它把0.012的差距进一步压缩到了0.005,恢复了约71%的剩余差距。SOAP的差距从0.027降到了0.009,恢复了约67%。即便是表现最差的AdamW,校正后也恢复了约90%的损失差距,从2.890降到了2.640(同步基线是2.612)。唯一有轻微负面效果的是Adan和NAdam,但幅度很小。

研究团队还测试了把这个校正系数设为不同数值(从0到3)的效果,发现存在一个U形关系,默认值1附近就是大多数优化器的最优区间,因此在所有实验中统一使用默认值1,不引入额外的调优负担。

值得一提的是,研究团队后来发现这个方法与另一篇来自数据并行领域的工作SAPipe-WP在数学上有深度关联。SAPipe-WP从"预测下一步参数位置"的角度出发,推导出了本质上相同的参数位移量。两个来自不同系统背景的研究殊途同归,这从侧面印证了这个校正方法的合理性。

六、理论保障:为什么这套方法不只是"碰巧有效"

除了实验验证,研究团队还为这套方法提供了理论收敛性保证,这是针对LMO(线性最小化预言机)类算法在梯度延迟下的首个理论分析。

Muon优化器的工作方式可以被纳入"非欧几里得信赖域"框架来理解。具体来说,它在每步求解一个约束优化问题:在当前参数的某个"邻域"内,找到最能降低目标函数的方向。这个过程使用的是算子范数和核范数,而不是普通的欧几里得距离,这就是它与普通梯度下降最根本的区别。

研究团队证明了,在这个框架下,带有一步梯度延迟的Muon仍然会收敛。与无延迟版本相比,收敛保证中多出来的代价项与延迟相关,但只要选择适当的学习率和动量参数,这个额外代价可以保持在可控范围内。带有误差反馈校正的版本同样有收敛保证,校正版本的代价项包含一个与延迟步数成比例增长的因子,但这符合直觉:校正操作引入了更多的参数历史信息,需要更宽松的条件来保证收敛。

这些理论结果的意义在于,它们告诉研究者和工程师:使用Muon加上误差反馈进行异步训练,不是在赌运气,而是有严格数学保证的稳健方案。

七、真正的考验:在百亿参数模型上的实战验证

从理论和小模型实验走向大规模实战,是完全不同的挑战。研究团队首先在一个20亿参数(其中5亿活跃参数)的MoE(混合专家)模型上进行了验证,训练规模从500亿到2000亿个token不等。

MoE模型是一种特殊的大模型架构,每次处理数据时只激活模型中的一小部分"专家"模块,其余部分处于休眠状态。这种架构在降低计算量的同时,维持了超大规模的参数量,是当前最先进大模型(如DeepSeek-V3)的核心技术之一。由于MoE层大幅增加了各GPU之间的通信开销,流水线并行对MoE模型的价值比对普通模型更大,消除流水线气泡的收益也更为显著。

在2B模型的实验中,研究团队关注了一个关键问题:随着训练时间越来越长、模型越来越接近收敛,梯度陈旧带来的危害会不会越来越大?一步之差在训练初期可能无所谓,但在模型已经相当优秀、每一步都需要非常精确的梯度信息时,这一步延迟会不会成为致命伤?

实验结果令人宽心:从500亿到2000亿token,同步训练曲线和异步训练曲线始终保持近乎平行的走势,两者之间的差距没有随训练深入而扩大。误差反馈在每个训练阶段都稳定地恢复了大部分剩余差距。

随后,研究团队将挑战推进到了100亿参数的MoE模型,这是他们实验条件下最大的验证规模。这个模型采用了受Qwen3启发的混合架构,结合了标准注意力机制和一种叫做"门控Delta网络"的线性注意力机制,规模达到512个专家、top-10路由,在2000亿token上训练,批量大小400万token。

最终结果如图1所示(即文章开头提到的那张图):标准异步训练的验证损失为1.911,而同步基线为1.906,差距只有0.005。加上误差反馈之后,异步训练的验证损失降至1.906,与同步基线完全持平,且使用了完全相同的超参数,无需任何针对异步模式的特殊调整。

研究团队还在八个下游任务基准上(包括常识推理、问答、语言理解等)对三个版本的模型进行了评估,结果同样显示异步+误差反馈版本与同步版本的表现几乎无法区分,验证了相同的验证损失确实对应相同的实际能力,而不只是数字上的巧合。

研究团队指出,100亿参数规模的实验使用的批量大小略大于理论最优值,这理论上对异步训练不利(因为每个token预算内的优化步数更少,从梯度陈旧中恢复的机会也更少)。换言之,真实场景中的效果很可能比实验数字显示的还要好一些。

八、与原始PipeDream方案的正面对比

既然已经证明了PipeDream-2BW加上合适的优化器可以近乎无损地进行异步训练,研究团队还做了一个很有价值的对比实验:用找到的这些鲁棒优化器去跑原始PipeDream方案(即每道工序各自更新、延迟程度参差不齐),看看是优化器的改进能弥补可变延迟的问题,还是固定延迟的调度方案本身更重要。

实验在4个、8个、16个流水线阶段下分别测试了Muon(两种动量设置)、SOAP和NAdam。结果非常清晰:在浅层流水线(4个阶段)时,Muon加上μ=0.99和误差反馈,可以把损失差距压缩到2.840,与同步基线2.841几乎持平,SOAP也能达到与基线相差无几的水平。然而当流水线加深到16个阶段时,所有方案都显著退步,即便是表现最好的组合(Muon,μ=0.99,加误差反馈),损失差距也超过了0.03。

这个结果给出了一个清晰的结论:鲁棒优化器和误差反馈可以让原始PipeDream在浅层流水线下勉强可用,但无法从根本上解决其可变延迟随流水线深度扩大的内在问题。在深层流水线场景下,固定延迟的PipeDream-2BW调度方案本身就是必要条件,不是可以用更好的优化器绕开的。

附录中还讨论了另一种叫WPipe的混合调度方案。这种方案适用于一块GPU上可以运行多个逻辑流水线阶段的场景,它让模型后半部分完全无延迟,只有前半部分承受一步延迟,相当于把延迟压力对半减轻。实验显示,WPipe在Muon和SOAP上都能进一步小幅改善异步性能,且同样受益于误差反馈。研究团队认为,在系统条件允许的情况下,WPipe是比PipeDream-2BW更优的实践选择,但两者在优化器层面的结论完全一致。

归根结底,这项研究讲述的是一个关于"用对工具"的故事。流水线并行异步训练的性能问题,长期以来被归咎于"梯度陈旧本身是个无法克服的物理障碍"。但当研究团队换掉那个在异步场景下天然脆弱的AdamW,选用Muon这类动量特性更强的优化器,再配合一个简单的误差累积补偿机制,一步延迟带来的性能损失就几乎消失了。在一个百亿参数的实际大模型训练中,这套方案让异步训练和同步训练达到了完全相同的最终效果,同时彻底消除了流水线等待气泡。

这对AI基础设施的意义不难理解:消除气泡意味着同样的硬件能在相同时间内完成更多有效计算,或者说用更少的时间训练出同样好的模型。在当前大型模型训练动辄耗费数百到数千万美元的背景下,这不是一个可以忽视的改进空间。

当然,这项研究也留下了一些尚未解开的谜题。高动量为什么能抵御梯度陈旧,目前只有直觉上的解释,缺乏严格的机理分析。批量大小与延迟的交互关系只在135M模型上做了细致测试,在更大规模模型上的规律还有待探索。WPipe调度方案也只在有限的附录实验中出现,其完整潜力尚未充分发掘。对万亿token训练规模下的行为验证,同样是未来研究的重要方向。

对普通的AI研究爱好者而言,这项工作传递的信息是:训练AI的效率问题,很大程度上是一个"工具与方法匹配"的问题,而不是一个纯粹的物理限制问题。有兴趣深入了解的读者可以通过arXiv编号2606.30634检索到完整论文,或者在ICML 2026的论文集(PMLR 306)中找到这篇研究。

Q&A

Q1:PipeDream-2BW与原始PipeDream在异步训练中的核心区别是什么?

A:原始PipeDream让每道流水线工序算完就各自更新参数,导致不同工序的梯度陈旧程度参差不齐,流水线越深问题越严重。PipeDream-2BW则要求等整批数据全部完成前向和反向传播后,所有工序才统一更新一次,这样无论流水线多深,每道工序的参数都只落后整整一步,陈旧程度完全相同。这个"固定一步延迟"的特性,是让异步训练在深层流水线下保持稳定的关键前提。

Q2:Muon优化器为什么比AdamW更能抵抗梯度陈旧?

A:核心原因在于动量特性。Muon天然工作在高动量模式下,让每步更新更多依赖历史积累的方向感,而不是单次可能已经过时的梯度。AdamW的最优动量系数约为0.9,这个值在正常训练中效果很好,但面对延迟梯度时抵御能力不足;如果强行把AdamW的动量调高,它在同步训练中的性能反而会大幅下降。Muon没有这个两难困境,它的高动量模式对同步和异步训练都是最优的。

Q3:误差反馈校正方法在实际使用中有什么额外的代价?

A:误差反馈方法需要额外存储一份与模型大小相当的缓冲区,用于记录上一步的更新量。在分布式训练中,这个缓冲区只存储在每块GPU负责的局部模型分片上,而不是整个模型,实际内存开销非常小。研究团队在实际的100亿参数实验中测量,误差反馈带来的总额外内存消耗不超过1.5GB,不到单块80GB GPU显存的2%。计算方面几乎没有额外开销,只需多保存和引用一个之前已经计算过的更新量。

分享至
0赞

好文章,需要你的鼓励

推荐文章
----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.-