给定 n 个专家,平均分布在 m 张 NPU 上(每张卡上一组,组内专家编号连续)。算法分三步:
按组取代表 组大小为 g=n/m。对每一组,找到组内最大概率以及对应的专家编号,作为该组代表值。
选路由目标 NPU(选 p 个组)
将所有组按“代表概率”从大到小排序,取前 p 个组(对应的 NPU)。若 p>m,直接输出 error
。
MOE 模型训练时,token 根据概率发送到 topk 个不同的专家进行计算。这些专家分布在多个 NPU 卡上。Device−Limitedr outing 算法将 token 的路由目标限制在 P 个 NPU 上,可以有效降低通信成本。具体的:
把 n 个专家平均分配在 m 个 NPU 上,每个 NPU 上的专家为一个组;设 n 个专家的编号为 N=[0,1,2,…,n−1] ,同一个专家组上的专家编号是连续的;
每个专家对应一个概率,表示被路由到的可能性;用每个组中的最大概率作为本组代表,从所有组中选择概率最大的 p 个组,其所在的 NPU 即为路由目标限制 NPU ;
再从上述 p 个 NPU 对应的所有专家概率中选择 k 个最大的概率对应的专家编号作为最终路由目标。