篇章四 · 4.3
Quantile Balancing · 负载均衡
选谁和占多少,分开
896 个专家最怕扎堆:热门的挤爆、冷门的闲置、GPU 互相等。QB 的精妙在于偏置只动选谁、不动权重。
选谁变了,但每个被选专家占多大比重没变——模型判断不被破坏。
扎堆为什么是问题。 模型容易反复选少数热门专家,由此产生三个连锁问题:热门专家收到大量 token,拖慢整轮训练;冷门专家几乎没有 token,训练不充分;不同 GPU 分到的专家不同,工作量不均,整轮都在等最慢那张卡。
偏置怎么算。 QB 给每个专家维护一个偏置值,用分位数动态算。被选太多的热门专家,偏置往负走,抬高它进 Top-k 的门槛;被选太少的冷门专家,偏置往正走,降低门槛。门槛高了就少被选、低了就多被选,形成一个自动反馈:越热门越难选、越冷门越容易选,token 流向被动态拉向均衡。
为什么只影响选择不影响权重。 关键在于:偏置只加在"选谁"那一步的分数上。选专家时把原始分数加上偏置再排序取 Top-k——偏置改变了排序,于是改变了谁被选中。但一旦专家被选中,最后混合各专家输出时,用的是没有偏置的原始 Score。所以选谁变了,但每个被选专家占多大比重没变,模型本来的判断不被破坏。
点上面按钮亲手切换
分位数是什么
不是固定阈值,而是看当前所有专家的负载分布,按分位数(比如 75% 分位)动态确定偏置——分布变了偏置就跟着变,自动适应。