Transformer 與大型語言模型內部機制
專家選擇路由(expert-choice routing)
多數 MoE 路由器是 token 選擇:每個 token 挑選自己最想要的專家。專家選擇把方向反過來——每個專家挑選它最想要的 token,至多到一個固定容量。由於每個專家都恰好填滿配額,負載「天生」平衡:沒有專家被餓著或塞爆,你也不再需要額外的平衡損失或丟棄 token。
具體上,你計算同樣的 token 對專家親和度矩陣,但不是對每個 token 在專家上取 top-k,而是對每個專家在 token 上取 top-c,其中 c 是容量。一個後果是每個 token 的計算量可變:某個搶手 token 可能被許多專家選中,另一個卻沒被任何專家選中。這與 token 選擇是相反的權衡,傾向於給出更好的負載利用率與訓練吞吐,代價是有些 token 幾乎或完全沒被專家處理。
專家選擇在訓練時很有吸引力,因為完美平衡能最大化硬體利用率。然而它對自迴歸解碼很彆扭,因為每個專家的 top-c 需要一次看到一批 token——某 token 的路由取決於它的競爭者——所以因果、一次一個 token 的推論無法乾淨地對應上它。
又稱
另見