解决边缘计算资源紧张,需要 Offloading 的问题。
其核心在于如何将 MoE 的 Experts 卸载到外部储存中。
关键洞察: ^b61153
- Non-expert weights(attention、router、normalization 等)体量小但每 token 必用,是“热权重”;expert weights 体量大但稀疏激活,是“冷权重”。这天然匹配设备的存储层次(快速 RAM vs. 大容量 Disk)。
- 给定前若干层的激活专家,当前层某专家被激活的条件概率高度集中
- 跨层组成的激活路径高度偏斜
所以设计了 “离线量化 + 在线管理” 两段架构:
- 离线评估每个专家对量化的敏感度,在提供的可容忍精度损失 $P$ 约束下,将最不重要的专家逐步分配更低位宽(INT2/INT4/INT8 混合精度),直到精度损失逼近阈值(基于洞察 1)
- 构建条件概率字典,键为前两层的激活专家状态,值为当前层各专家的激活概率(基于洞察 2),利用该字典,提前从外存加载预测概率最高的 1–3 个专家到 buffer,实现 I/O 与计算的流水线并行。若预测失败,则回退到按需加载。
- 当缓存满了,动态利用当前状态下的激活概率和已知的激活频率,卸载最低的那些 Experts。