純粋なTritonだけで、Mixture-of-Expertsモデルのフォワードパス全体を処理する fused MoE dispatch カーネルを構築しました。CUDAなし、ベンダー固有のコードなし。
Mixtral-8x7B(A100)では、推論に関係するバッチサイズで Stanford の Megablocks を上回ります(32トークンで131%、128トークンで124%)。より大きいバッチでは、期待どおり Megablocks の手でチューニングされたCUDAが先行します。
主な貢献は2つです:
- ゲート+アップ投影の融合 - 両方のGEMMで同じ入力タイルのロードを共有し、SiLUはレジスタで計算します。フォワードパスあたり中間バッファを約470MB削減(メモリ転送35%削減)。
- ブロックスケジュールされたグループ化GEMM - precomputed block_id を(expert_id, offset)へマッピングすることで、パディングなしで単一のカーネル起動において可変サイズのエキスパートバッチを処理します。
Mixtral-8x7B、DeepSeek-V3(256エキスパート)、Qwen2-MoEでテスト済み。コード変更なしで AMD MI300X 上のフルテストスイートにパスします。
コード:https://github.com/bassrehab/triton-kernels
解説:https://subhadipmitra.com/blog/2026/fused-moe-dispatch-triton/
[リンク] [コメント]




