Mixture of Experts (MoE) とは何ですか? 現代の LLM を支えるアーキテクチャ
- Aisha Washington

- 6月5日
- 読了時間: 7分
Mixture of experts MoE AIは、複数の専門化されたサブネットワーク(エキスパートと呼ばれる)に計算を分割するニューラルネットワークアーキテクチャです。軽量のゲーティングネットワークが、各入力トークンを処理するエキスパートを選択します。常に少数のエキスパートのみが活性化します。この選択的ルーティングが、すべてのパラメータをすべてのトークンに使用する従来の密なモデルとMoEを区別します。
この設計が注目を集めている理由は、総パラメータ数が数百億に達しても、推論コストをはるかに小さなモデルと同等に抑えられる点にあります。Mixtral 8x7BやGPT-4の複数バージョンがこのパターンを採用しています。仕組みを理解することで、モデル規模や効率に関する主張を評価しやすくなります。
Key Takeaways
Mixture of experts MoE AIは、単一の大規模フィードフォワードネットワークを、多くの小さなエキスパートネットワークと、適切なサブセットを選択するルーターに置き換えます。
スパース活性化により、各トークンを処理するエキスパート数は固定されるため、総パラメータ数が増えてもトークンあたりの計算量はほぼ一定に保たれます。
Mixtral 8x7Bなどのモデルは、MoE版が推論時に同程度のアクティブパラメータを使いながら、ベンチマークで密なベースラインと同等かそれ以上の性能を発揮することを示しています。
エキスパート間の負荷分散やルーターの安定性に追加の手法が必要となるため、トレーニングは密なモデルより複雑になります。
同じアーキテクチャはオープンなモデルとプロプライエタリなシステムの両方に登場しており、この手法が研究から大規模言語モデルの本番環境へ移行したことを示しています。
Mixture of Experts Definition
mixture of expertsモデルは、エキスパートサブネットワークの集合とゲーティング関数で構成されます。ゲーティング関数はエキスパートと同じ入力を受け取り、エキスパートプール上の確率分布を出力します。スコアが最も高い上位k個のエキスパートのみが入力を受け取り、出力に寄与します。その他のエキスパートはそのトークンに対して非活性のままです。
主な特性として、モジュール性、スパース性、条件付き計算が挙げられます。モジュール性は、各エキスパートが異なるデータパターンやタスクタイプに特化できることに現れます。スパース性は、トークンあたりの活性パラメータの割合が低いことに現れます。条件付き計算は、活性化するエキスパート集合がトークンごとに変化することに現れます。
これらの特性により、MoEモデルは密なトランスフォーマーと区別されます。密なモデルではすべての重みがフォワードパスに参加しますが、MoEモデルでは任意のトークンに対して大部分の重みがアイドル状態になります。その結果、トークンあたりの計算量をほぼ一定に保ちつつ、より高い総容量を実現できます。
How Mixture of Experts Works
アーキテクチャは、ルーター、エキスパートプール、出力結合ステップの3層に分解されます。
Router network - selecting experts
ルーターは小さな線形層または浅いMLPで、入力の隠れ状態をエキスパートスコアのベクトルにマッピングします。ソフトマックスがスコアを確率に変換します。システムはこれらの確率に従って上位k個のエキスパートを選択します。エキスパート総数が8以上であっても、kは通常1または2に設定されます。
Expert networks - specialized computation
各エキスパートは通常、標準的なトランスフォーマーブロック内の位置ごとのFFNと同じ構造のフィードフォワードネットワークです。エキスパートは単一の大規模FFNより小さいため、トレーニング時のメモリ予算を超えずに多数を保持できます。トレーニング中に異なるエキスパートが異なるデータ分布からの勾配を受け取ることで、専門化が生まれます。
Output combination - weighted summation
選択されたエキスパートの出力は、ルーターの確率で重み付けされて合計されます。これによりMoE層からの最終的な寄与が生成されます。アテンションを含むトランスフォーマーブロックの残りの部分は変更されません。
スパース活性化により、活性パラメータ数を低く抑えられます。7BパラメータのFFNに相当するサイズのエキスパートを8つ持つモデルでも、k=1の場合、活性化される計算量は約7Bモデル程度に留まります。残りのエキスパートはメモリに常駐しますが、そのトークンに対する行列乗算には参加しません。
Mixture of Experts Explained Through Examples
Mixtral 8x7Bは各層に8つのエキスパートを持ち、トークンごとに2つを活性化します。したがって推論時のアクティブパラメータ数は12〜13Bの密なモデルに相当しますが、総パラメータ数は46Bを超えます。標準ベンチマークでは、生成時のメモリ帯域幅を抑えつつ、複数のカテゴリでLlama 2 70Bを上回る性能を発揮します。
GPT-4はより多くのエキスパートと高い総パラメータ数を持つMoE設計を採用していると広く報告されています。公開情報は限定的ですが、高い総容量と制御された推論コストを両立させるパターンは同じ原理に基づいています。GoogleのSwitch TransformerやGLaMなどの他の本番システムも、さらに大規模な同じ構造に従っています。
これらのモデルに共通するパターンは、ルーターが異なるトークンタイプを異なるエキスパートに振り分けることを学習する点です。コードトークンはあるエキスパート群へ、自然言語トークンは別の場所へルーティングされることがあります。この暗黙の専門化により、トレーニング時のサンプル効率が向上します。
Real-World Applications
オープンウェイトのチャットモデルでは、この設計により管理可能なコストで長いコンテキストをサポートできます。アクティブメモリ使用量が密な13Bモデルに近いため、ユーザーはMixtral 8x7Bをローカルまたは控えめなクラウドGPU上で実行できます。社内アシスタントを展開する企業は、提供ハードウェアを比例的に増やさずに高い出力品質を得られます。
スケーリング則を研究するグループは、密なトレーニングが非現実的になる総パラメータ数を超えた後も性能が向上し続けるかを検証するためにMoEを使用しています。Switch Transformerに関する論文では、補助的な負荷分散損失を組み合わせることで、1兆パラメータを超えるMoEモデルが安定してトレーニング可能であることが示されました。
Common Questions About mixture of experts MoE AI
Q: mixture of experts MoE AIは、同じ総サイズの密なモデルと比べて推論コストをどのように削減しますか?
A: 選択されたエキスパートのみが行列乗算を実行します。ルーターのコストは小さく、メモリ帯域幅は総重みではなく活性重みによって決まります。その結果、生成速度は活性エキスパートのサイズに比例します。
Q: mixture of experts MoE AIには特殊なハードウェアが必要ですか?
A: 標準的なGPUで十分です。効率的な推論にはゼロ寄与のエキスパートをスキップするカーネルが役立ちますが、アーキテクチャ自体はモデル重みがロードされれば既存のトランスフォーマーランタイム上で動作します。
Q: トレーニングは密なトランスフォーマーとどのように異なりますか?
A: ルーターはエキスパートと並行してトレーニングする必要があります。補助損失によりエキスパートの利用率を均等に保ちます。これらの項がない場合、一部のエキスパートがほとんどトークンを受け取らず、有用な表現を学習できません。
Q: mixture of experts MoE AIは密なモデルと同じようにファインチューニングできますか?
A: はい。同じ教師ありファインチューニングや選好最適化のパイプラインが適用できます。各サンプルではルーターと活性エキスパートのみが勾配を受け取るため、バックワードパス時のメモリ使用量を実際に削減できます。
Q: ルーターがすべてのトークンを同じエキスパートに送信するとどうなりますか?
A: そのエキスパートが不均衡な勾配を受け取り、他のエキスパートは未学習のままになります。事前トレーニング時には負荷分散損失とルータージッタを追加し、単一エキスパートへの崩壊を防ぎます。


