轨迹驱动评估何时误导MoE专家缓存?重放语义、工作负载污染与运行区间

arXiv cs.LG 论文

摘要

本文研究了轨迹驱动评估如何误导对MoE专家缓存的评估,识别出重放语义、工作负载污染和运行区间三个混淆轴,它们可能颠倒策略排名。在纠正这些问题后,研究表明,离线最优差距在很大程度上高估了轻量级因果缓存机制实际恢复的收益。

arXiv:2608.07911v1 公告类型:新 摘要:混合专家(MoE)模型已超出加速器内存容量,将专家权重卸载到主机内存现已成为标准做法。这使得专家缓存管理成为一个有吸引力的杠杆:提高命中率的策略将减少每个token的专家流量。评估这一点是一个测量问题,而我们发现该测量是脆弱的。 通过在三个MoE模型(40、64、128个专家)上使用轨迹驱动、事件原子级模拟器,我们隔离出三个会改变结论(而不仅仅是数字)的评估轴。重放语义:在融合事件流量契约下,不一致的按访问重放会使基于最近性的策略膨胀27-29%,而基于频率的策略和静态策略的偏差在4%以内,从而颠倒了策略排名。工作负载污染:每个类别仅使用一个指令模板的探针集会产生逐字相同的生成前缀;一种配对渲染干预使测量的早期窗口效应移动19.4-31.9个百分点,并逆转了哪些工作负载看起来最有利于缓存的结论。运行区间:归一化未命中率不能跨模型迁移,因此必须报告每步专家并集相对于每层容量的比值——然而仅对相同事件流的时间顺序进行置换,就会将离线最优差距从44.9%变为30.8%,因此这并不充分。 经过修正,与离线最优之间的稳定差距仍然存在(在13个冻结工作负载组合上为44.2-45.9%)。一个强制准入预言机将其中84.3-96.6%归因于知道哪个驻留专家在将来最晚被使用。一个因果的下一使用预测器(用作驱逐规则)恢复了差距的-11.4%;它选择最优受害者的时间占3.4%,而随机驻留块为2.4%,LRU和LFRU为20.6-22.1%。我们的立场是狭窄的:在我们评估的设置中,大的离线最优差距在很大程度上高估了代表性轻量级因果机制实际恢复的收益。
查看原文
查看缓存全文

缓存时间: 2026/08/11 08:07

# 基于轨迹的评估何时会误导 MoE 专家缓存?

来源:https://arxiv.org/html/2608.07911 \(2026\-08\-04\)

### 摘要

混合专家(Mixture\-of\-Experts, MoE)模型已经超出了为其提供服务的加速器的高带宽内存容量,将专家权重卸载到主机内存已成为标准应对方案。这使得专家缓存管理成为一个有吸引力的杠杆:如果更智能的策略能提高命中率,那么同一模型每个 token 所需的专家流量就会减少。评估这一假设是一个测量问题,而我们发现这种测量很脆弱。使用基于轨迹的、事件原子(event\-atomic)模拟器,在三个 MoE 模型(40、64 和 128 个专家)上,我们分离出三个会改变结论(而非仅仅改变数值)的评估轴。

*重放语义*:在融合事件(fused\-event)流量契约下,不一致的按访问重放会使基于近因的策略虚增 27–29%,而基于频率的策略和静态策略仅变化 4% 以内,从而颠倒了策略排名。

*工作负载污染*:每个类别仅使用一个指令模板的探测集会产生逐字相同的生成前缀;一种配对渲染干预使测得的早期窗口效应移动了 19.4–31.9 个百分点,并逆转了哪些工作负载看起来最利于缓存的结论。

*运行区间*:归一化缺失分数不能跨模型迁移,因此必须报告每步专家并集相对于每层容量的比例——尽管仅打乱同一事件流的时间顺序(事件集和比例保持不变)就会使离线最优差距从 44.9% 变为 30.8%,因此这还不够。在修正全部三个问题后,与离线最优之间的稳定差距仍然存在(在 13 个冻结工作负载组合下为 44.2–45.9%)。一个强制准入(forced\-admission)预言机将其中的 84.3–96.6% 归因于知道哪个驻留专家会在最远的未来被使用。一个因果性的下次使用预测器作为驱逐规则使用时,恢复了 −11.4% 的差距;在决策点上,它选择最优受害者的概率为 3.4%,而随机驻留块为 2.4%,LRU 和 LFRU 为 20.6–22.1%。我们的立场是狭窄的:在我们评估的设置中,较大的离线最优差距显著高估了代表性轻量级因果机制所能恢复的收益。论文发表时,我们将发布模拟器、多样性受控探测集、污染诊断工具和报告检查清单,并遵循工件矩阵中记录的上游许可证。

### 1. 引言

服务前沿混合专家模型已不再适配为其设计的内存。一个当代大型 MoE 将约 1.3 TiB 的内存用于路由专家权重,而每个 token 仅激活其中一小部分,因此近期系统将一部分专家子集驻留在设备内存中,其余专家按需从主机内存流式加载。这一思路的变体出现在开源原型、研究系统和推理引擎提案中;它们的执行契约和性能目标各不相同([https://arxiv.org/html/2608.07911#bib.bibx20 (https://arxiv.org/html/2608.07911#bib.bibx20)];[https://arxiv.org/html/2608.07911#bib.bibx10 (https://arxiv.org/html/2608.07911#bib.bibx10)];[https://arxiv.org/html/2608.07911#bib.bibx8 (https://arxiv.org/html/2608.07911#bib.bibx8)];[https://arxiv.org/html/2608.07911#bib.bibx23 (https://arxiv.org/html/2608.07911#bib.bibx23)];[https://arxiv.org/html/2608.07911#bib.bibx21 (https://arxiv.org/html/2608.07911#bib.bibx21)])。这种设计还催生了一个明显的假设。如果专家被缓存,那么更好的缓存策略应能提高命中率、降低主机到设备流量,并让同一模型在更少的加速器上运行。那么,一个感知工作负载的控制器——能够学习客户流量实际触及哪些专家——就值得构建。大量近期工作通过预取、学习路由预测和专门替换策略来追求这一想法的变体([https://arxiv.org/html/2608.07911#bib.bibx7 (https://arxiv.org/html/2608.07911#bib.bibx7)];[https://arxiv.org/html/2608.07911#bib.bibx9 (https://arxiv.org/html/2608.07911#bib.bibx9)];[https://arxiv.org/html/2608.07911#bib.bibx13 (https://arxiv.org/html/2608.07911#bib.bibx13)];[https://arxiv.org/html/2608.07911#bib.bibx26 (https://arxiv.org/html/2608.07911#bib.bibx26)])。该假设是否成立是一个实证问题,回答它需要测量一个策略有多少空间:即最佳因果策略与离线最优之间的距离。我们正是着手测量这一点。我们首先发现的是,测量本身在某些方面不稳定,这些方面容易被忽视,并且会改变答案,而不仅仅是精度。

**三个轴。**在我们的基于轨迹的研究中,我们识别出三个评估选择,每个单独看都合理,且每个都可能逆转结论。它们的适用性并不相同:轴 I 涉及对声称的融合事件契约的重放,并不追溯适用于真实的端到端系统,因为其实现定义了自身的传输语义(§12);轴 II 和 III 更广泛地涉及工作负载构建和运行区间报告。

*重放语义。*在本研究采用的融合事件流量契约下,一个调度步骤在某层触及的专家构成一个已提交的执行单元。将这一单元展平为单独访问的模拟器可以在事件中途驱逐一个在事件开始时驻留且稍后需要的专家,然后计算一次人工重新获取。这种扭曲并非均匀噪声。在 Qwen3\-30B\-A3B 上,ρ=40%、B=8 时,顺序重放使 LRU 虚增 27.4%,LFRU 虚增 28.5%,Least\-Stale 虚增 27.4%,但 LFU 仅虚增 3.4%,Belady 虚增 4.3%,而同一轨迹的静态诊断则完全没有虚增。因为它恰恰惩罚了某一类策略,所以颠倒了它们的排名:在顺序重放下,同一轨迹的静态诊断看起来胜过所有动态策略;在事件原子重放下,LFRU 以 5.7% 的优势胜过它。这是一个重放不变性比较,而非可部署的静态基线(§2.3)。在我们自己早期的测量中,修正这一语义使两个模型上的稳态预填充差距从看似算法空间的范围降至 0.155–3.169%。

*工作负载污染。*研究工作负载条件下的路由需要按任务划分的探测集。自然的构建方式——每个类别一个指令模板,填入不同负载——结果证明是危险的。在原始续写下,或在较短的解码窗口内,模型在产生任何任务特定内容之前会先复现共享模板,因此并发请求会在相同的解码位置产生逐字相同的前缀。在我们自己的一个探测类别中,16 个请求中有 4 个生成了字节相同的 63 token 输出。由此产生的专家重叠很容易被误认为是语义局部性:将比较限制在生成文本几乎不重叠的请求对上,会将该类别内的类内专家 Jaccard 指数从 0.229 降至 0.092,而跨类别基线为 0.078。我们引入了一种配对设计——相同的源记录分别用多样化模板和固定模板渲染——使早期窗口效应改变了 19.4–31.9 个百分点。与共享生成前缀对齐的突然衰减是表面重复的诊断信号,尽管真实任务效应也可能随响应阶段而变化。修正构建方式会逆转点估计排序;六个修正后的类别效应中只有两个在两个请求抽样中清晰复现。

*运行区间。*归一化缺失分数经常在不同专家数量的 MoE 模型之间进行比较。它们本不应如此。相关变量是每步每层专家并集与每层缓存容量之比。随着超过容量的事件比例增加,容量强制的流量增加,策略空间可能崩溃——因此较小的差距可能意味着“容量下限主导”,而非“现有策略已足够”。保持模型和工作负载固定,仅改变缓存比例,就会使差距从 7.4% 变为 33.3%。该比例是必要的但并不充分:仅打乱事件流的时间顺序(事件集和比例严格保持不变)就会使差距从 44.9% 变为 30.8%,并改变哪个因果策略最优。

**修正之后仍留下的内容。**在控制所有三个因素后,与离线最优之间仍存在较大差距:在 ρ=40%、B=8 的 13 个冻结工作负载组合下为 44.2–45.9%,在 B=2 时为 50.4%。自然的解读是,一个可观的机会正在等待更好的在线策略。我们直接检验了这一解读。Belady 相对因果策略的优势有两个来源:拒绝准入一个在可能被驱逐前不会再次使用的块,以及知道哪个驻留块会在最远的未来被使用。只有第一个有清晰的在线对应物。用一个强制准入每个缺失块的预言机替换原预言机,可以分离它们:绕过准入在 B=8 时占差距的 15.7%,在 B=2 时占 3.4%,其余 84.3% 和 96.6% 归因于未来受害者知识。然后,我们在驱逐时可用的因果特征上训练了一个下次使用距离预测器——近因、频率、门控质量、并发路由多重性、层和流行度比率——在一个轨迹上拟合,在另一个不相交轨迹上评估。它以 R²=0.24 迁移,并且在相同的驱逐和准入机制中替换预言机的输入后,恢复了差距的 −11.4%:它比本应改进的因果基线更差。

**立场。**我们的主张是狭窄的。我们并未表明专家缓存是一个已解决的问题,未来受害者知识原则上不可预测,或者在线 MoE 缓存控制器没有未来;关于专家*预取*的现有工作预测的是不同的量——接下来会路由到哪些专家,而非缓存块将保持闲置多长时间——并且不被我们的结果所反驳。我们表明的是,在我们评估的设置中,较大的离线最优差距显著高估了代表性轻量级因果机制所能恢复的收益,并且如果不分解就报告这样的差距,会引发无根据的推断。我们同时提供了三个限定范围的负面结果和一个失效的机制实验——稳态预填充驱逐、热缓存工作负载转换、语义缓存分区和因果亲和力批处理——每个都标注了测量时所用的模型、缓存比例、并发度、调度纪律和等待约束,因为我们发现其中至少有一个机制失效的原因无法外推。

**贡献。**

1. 我们形式化并实现了一个用于我们基于轨迹评估中所用融合事件流量契约的*事件原子重放协议*,表明不一致的展平重放会选择性惩罚基于近因的策略并颠倒策略排名,并提供了一个可手工验证的参考轨迹(§2, §4)。
2. 我们引入了一种*配对方法*,用于量化工作负载条件下路由研究中的提示模板污染,同时提供提示侧和路由侧诊断,并发布一个为此而构建的多样性受控探测集(§5)。
3. 我们表明,*跨模型比较* MoE 缓存结果需要显式控制运行区间,给出并集\-容量比作为必须报告的一阶变量,并通过消融证明它是必要的但不充分(§6)。
4. 我们将*离线最优差距*分解为在线可近似和未来依赖两个部分,并表明在代表性因果机制下,预言机界限与可实现收益之间存在较大差距(§7, §8)。
5. 我们将上述内容提炼为面向未来 MoE 缓存评估的*报告检查清单*(§10),并将在论文发表时发布模拟器、探测集、污染工具、冻结清单,以及在上游许可证允许的情况下发布路由工件和包含失败标准的预注册文档(§13)。

**范围。**所有结果都是基于轨迹的模拟;我们不测量真实的主机到设备传输、内核时间或互连拓扑。我们的主要结果使用单个模型,另外两个较小模型用于跨模型检查,并且我们只评估严格无损的策略——没有专家替换、剪枝或降低精度回退。第 11 节完整陈述了这些限制。我们认为 §10 中的检查清单,而非任何单个数字,是本工作最具可移植性的结果。

**与先前评估的关系。**我们审计了十篇代表性论文的公开报告(§12)。其中七篇是端到端系统,因此我们的重放失败不适用于它们的实际执行;一篇是基于轨迹的,但未报告足够细节来重建我们的融合事件契约,并假设批大小为 1;两篇研究架构或预测目标。没有一篇直接报告了将其结果置于 §6 运行区间所需的测量并集\-容量比,并且提示模板的多样性通常未报告。这些遗漏并不会使结果不正确。它们阻碍了在共同评估契约下的直接比较,这正是 §10 检查清单的动机。

## §2 评估模型

该领域的结果难以比较,因为底层的重放模型很少被明确说明。因此,在报告任何数字之前,我们先确定符号和语义。§4–§8 中的所有内容都基于该模型定义,并且随工件发布一个可手工验证的参考轨迹。

### 2.1 轨迹与事件

一个模型有 L 个 MoE 层,每层有 N 个路由专家,并将每个 token 路由到每层的 k 个专家。缓存管理的单位是一个*专家块* b = (l, e),其中 l ∈ [L],e ∈ [N];块全集大小为 L·N。请求在先到先服务的连续批处理下得到服务。在调度步骤中,A(s) 表示活动请求集。对于本文评估的融合事件流量契约,对内存流量重要的量不是每 token 的专家分配,而是其在并发批次上的并集:

> 定义 1(事件)。*事件*是一对 (s, l)。其专家集为 E(s, l) = union_{r ∈ A(s)} topk(r, l, s),即步骤 s 在层 l 触及的不同专家块。*轨迹*是按 (s, l) 字典序排列的事件序列。事件内部的去重是执行单元的一个属性,而非任何缓存策略的属性:被五个并发请求选中的专家只获取一次。因此我们将其视为免费,并且不将其归功于任何策略(§2.4)。

### 2.2 事件原子重放

> 定义 2(事件原子重放)。设 C 为缓存内容。对于轨迹顺序中的每个事件 (s, l):
> 1. 在事件开始时取快照 C;
> 2. 根据该快照对 E(s,l) 中的每个成员进行分类:hits = E ∩ C,misses = E \ C;
> 3. 服务*所有* misses(无部分服务);
> 4. 仅在事件完成后,应用准入和驱逐以获得 C′。

排序约束在步骤 4。准入和驱逐被推迟到事件边界,因此 E ∩ C 中的任何成员都不能在其需要的事件完成之前被驱逐。这会将每个缺失专家计数一次,并假设执行工作空间可以流式加载该专家、计算所有路由到它的 token、并在选择保留的缓存内容之前释放临时状态。它*不*假设 E 的所有成员能同时放入缓存。*顺序重放*——我们在 §4 中考察的替代方案——将 E(s,l) 展平为有序的单独访问列表,并在每次访问后应用准入和驱逐。当 |E(s,l)| 超过该层的配额时,事件中较晚的一次访问可能会驱逐 E ∩ C 中*同一*事件尚未消费的一个块,而这正是我们试图避免的。

相似文章

多层级MoE缓存

Reddit r/LocalLLaMA

讨论MoE模型的多层级缓存策略,通过将频繁激活的专家保留在GPU上来提升推理速度,参考了PowerInfer和llama.cpp分支等现有实现。

粘性路由:训练MoE模型以实现内存高效推理

arXiv cs.LG

StickyMoE提出了一种可微的路由一致性损失函数,鼓励相邻token在MoE模型中激活相同的专家,从而在边缘设备推理过程中将专家交换开销和缓存未命中率降低高达3.92倍,同时改善困惑度。

重放差距:LLM智能体中模型切换的静态评估打分于错误的世界

arXiv cs.LG

本文证明,基于重放的LLM智能体模型切换静态评估存在根本缺陷:在轨迹中途更换模型时,环境与后续动作会与记录的轨迹产生巨大偏差,从而使大多数基准测试结果失效。作者提出分支展开(branching rollouts)作为一种更忠实的评估方法,并公开了其测试框架与轨迹数据。

LURE:通过真实使用回放评估降低评估意识

arXiv cs.CL

本文提出了LURE(真实使用回放评估),一种通过回放真实的智能体交互轨迹并在末尾附加评估提示来构建类似部署环境的真实评估的方法,与现有基准相比,降低了评估的可检测性。