モデルアーキテクチャ
専門家混合モデル(MoE)
一部の密なサブレイヤーを多数のエキスパートネットワークと学習済みルーターに置き換え、各トークンではそのうち少数だけを有効にします。
理解のためのモデル
トークンごとのスパースな活性化による大規模パラメータ容量;スパースな計算とは、必ずしも小さなメモリや簡単な配信を意味するものではありません。
データフロー
- トークン隠れ状態
- ルーターは専門家へのスコア付与
- トップkの専門家へのディスパッチ
- 専門家による変換
- 重み付きマージ + 残差パス
学習方法
主要タスクの損失関数は、専門家とルーターを同時に訓練します。負荷分散またはルーティング正則化は、少数の専門家への集約を防ぎます。分散実装ではトークンディスパッチを調整する必要があります。
推論の実行方法
各トークンは選択された専門家を訪問します。計算はスパースであり続けても、モデルの重み、デバイス間通信、ルーティングの不均衡、バッチングなどがレイテンシとコストに影響を与えます。
強み
- トークンごとにすべてのパラメータを活性化せずに大規模なパラメータ容量を実現可能
- 学習されたルーティングによって専門家が特化する可能性がある
- Transformerのフィードフォワードブロック内で自然にスケール可能
トレードオフ
- 大きな重みメモリと分散通信が必要
- ルーティングの不均衡と容量オーバーフローは訓練を複雑にする
- 報告される総パラメータ数は、アクティブな計算または配信効率を反映していない可能性がある
適する場合
- 大規模な訓練および配信インフラストラクチャがスパースルーティングを活用できる場合
- トークンごとの演算よりも容量が制限されている場合
- 実際のハードウェアトポロジーをベンチマークできる場合
避ける・再検討する場合
- 単一デバイスまたはメモリ制約のあるデプロイメントが必要な場合
- “Sparse”(スパース)という言葉が、必ずしも低レイテンシを保証すると想定される場合
- 運用上の単純性が、追加の容量よりも重要な価値を持つ場合
公開された方式の例
- • Switch Transformer
- • 言語モデルやマルチモーダルモデル内部のスパース専門家層
よく組み合わせる要素
DecoderのみのTransformerEncoder–Decoder型Transformer拡散Transformer(DiT)