Mixture of Experts (MoE) - 混合専門家モデルとは何か?

大規模言語モデル(LLM)は、自然言語処理からコンピュータビジョン、さらにそれ以上の領域に至るまで、様々な分野で大きな進歩を遂げています。LLMの驚異的な能力は、そのモデルサイズ、多様なデータセット、そしてトレーニング中に活用される強力な計算能力によって支えられています。これらの要素が組み合わさることで、従来の小規模なモデルでは見られない文脈内学習(In-context Learning)などの創発的な能力を実現しています。
このような状況において、混合専門家モデル(Mixture of Experts, MoE)は、計算オーバーヘッドを最小限に抑えつつ、モデルの容量を大幅にスケールアップするための効果的な手法として登場し、大きな注目を集めています。
今回は、このMoEについて、その基本的な構造から最新の研究動向、応用例、そして今後の課題までを包括的に解説していきます。
1. はじめに
近年、Transformerアーキテクチャを基盤とする大規模言語モデル(LLM)は、自然言語処理はもとより、コンピュータビジョン、さらにはマルチモーダルなタスクに至るまで、広範な分野において目覚ましい進歩を遂げてきました。LLMの驚異的な能力は、そのモデルサイズ、学習に用いられるデータの広さと多様性、そして学習に投入される莫大な計算資源によって支えられています。これらの要素が相互に作用することで、小規模なモデルでは見られなかった文脈内学習(In-context Learning)のような創発的な能力を示すことが知られています。
このようなLLMの進化の背景には、モデルの規模を大きくするほど性能が向上するというスケーリング則の存在が認識されており、持続可能な形でLLMをスケールアップするための効率的な手法の開発と実装が喫緊の課題となっています。
この課題に対する有効なアプローチの一つとして、近年注目を集めているのが混合専門家モデル(Mixture of Experts, MoE)です。MoEは、モデルの異なる部分、すなわち「エキスパート」と呼ばれる複数のサブモデルが、それぞれ特定のタスクやデータの特性に特化するという考えに基づいています。このパラダイムにより、与えられた入力に対して関連性の高いエキスパートのみが選択的に活性化され、計算コストを抑制しながら、まるで多数の専門家の知識を活用するような効果が得られます。
特に、TransformerベースのLLMにSparse Gated MoEが統合されることで、この30年以上前から存在する技術に新たな活力がもたらされました。Sparse-MoEは、必要なエキスパートのみを活性化させることで、モデル全体のパラメータ数を大幅に増加させつつ、計算負荷の増大を抑えることを可能にします。
MoEは近年著しい成長を遂げており、2024年にはMixtral-8x7Bをはじめ、Grok-1、DBRX、Arctic、DeepSeek-V2といった産業規模のLLMが相次いで登場し、その存在感を増しています。これらの事例からも明らかなように、MoEはLLMの能力を飛躍的に向上させるための重要な技術として、ますますその重要性を増しています。

2. MoE の概要
混合専門家モデル(MoE)の概念は、比較的古くから存在し、その基本的なアイデアは、モデルの異なる部分が特定の入力やタスクに特化するというシンプルなものです。このアイデアは、大規模なモデルの能力を効率的に引き出すための有望なアプローチとして、以前から研究されています。MoEレイヤーは通常、複数の「専門家ネットワーク(エキスパート)」と、どのエキスパートを活性化するかを決定する「ゲーティングネットワーク」で構成されます。ゲーティングネットワークの設計に基づいて、MoEレイヤーは大きくDense MoEとSparse MoEの2つのカテゴリに分類できます。

2.1 Dense MoE
Dense MoE モデルでは、入力データがすべての専門家ネットワークへと同時に送られ、それぞれが独自の計算処理を行います。その後、ゲーティングネットワークが各専門家の出力結果に重み付けをして最終的な出力を生成します。この仕組みでは、すべての専門家が常に計算プロセスに関与するため「密(Dense)」な構造と呼ばれています。
Dense MoEは非常に高い表現力を持つモデルですが、その代償として計算コストが極めて高くなるという特徴があります。すべての専門家が常にアクティブであるため、特に大規模モデルでは計算資源の消費量が膨大になり、実用性の面で課題となっています。
2.2 Sparse MoE
一方、Sparse MoE モデルでは、ゲーティングネットワークが入力データを分析し、その特性に最も適した少数の専門家のみを選択します。選ばれた専門家だけが実際に計算を行い、他の専門家は完全にスキップされます。この選択的なアプローチにより「疎(Sparse)」な構造が実現され、効率的な計算処理が可能になります。
Sparse MoEの最大の強みは、計算効率の高さです。専門家の選択を適切に行うことで、Dense MoEと同等かそれ以上の表現力を保ちつつ、はるかに少ない計算リソースで動作させることができます。例えばMixtral 8x7Bのような最新のモデルは、この疎なMoEアーキテクチャを採用することで優れた性能と効率性を両立しています。
しかし、このアプローチにも課題があります。ゲーティングネットワークの精度がモデル全体の性能を大きく左右する点や、専門家間の負荷分散、過学習の防止など、学習プロセスの安定化が難しいケースもあります。
なお、以降のセクションでは、特に明記がない限り、「MoE」という用語は「Sparse MoE」を指すものとします。
3. MoE の分類
MoE(Mixture of Experts)アーキテクチャは、計算コストを抑えつつモデルのパラメータ数を効果的にスケールアップする手法です。MoEは、専門化された複数のモデル(エキスパートネットワーク)と、入力に応じて適切なエキスパートを動的に選択するゲーティング機構を活用します。これにより、必要な場合にのみ計算リソースを割り当てる「条件付き計算」が可能になります。大規模言語モデル(LLM)においてMoEアーキテクチャの導入は一般的であり、パラメータの著しいスケールアップと能力向上が実現されています。
例えば、Mixtral 8x7Bは8つのFFN(エキスパート)を持ち、130億のアクティブパラメータでLlama-2-70BやGPT-3.5と同等以上の性能を示します。DeepSeekMoE 16Bは約40%の計算量削減でLlama 2 7Bと同等の性能を達成。Qwen1.5-MoEは27億のアクティブパラメータながら、Mistral 7BやQwen1.5-7Bなどの主要な70億パラメータモデルに匹敵する性能を発揮します。
以降、LLMにおけるMoEアーキテクチャの研究を整理するため、アルゴリズム設計、システム設計、およびアプリケーションの3つの視点からモデルを分類する分類法を紹介します。
4. MoEアルゴリズム
本章では、MoEモデルのアルゴリズムについて、ゲーティング関数、エキスパート、パラメータ効率の高い混合専門家モデル(MoPEs)、訓練と推論のスキーマ、派生手法の観点から解説します。
4.1 ゲーティング関数
ゲーティング関数は、MoEアーキテクチャの中核をなし、入力の処理方法に基づいて、Sparse、Dense、Softの3つのタイプに分類されます。
- Sparse Gating: Sparse Gating 関数は、入力トークンに対して選択されたエキスパートのサブセットのみを活性化します。Top-k戦略やエキスパートプロトタイピングなどの手法が存在し、補助損失を用いたエキスパート間のトークン分布の公平化や、負荷不均衡問題への対処も行われています。近年では、非学習型のトークン選択ゲーティングや、エキスパート選択ゲーティングも研究されています。
- Dense Gating: Dense MoEは、すべてのエキスパートを活性化する方式です。計算効率は低いものの、LoRA-MoEファインチューニングなど、特定の状況下で有効です。
- Soft Gating: Soft MoEは、すべてのエキスパートを活用しつつ、トークンマージやエキスパートマージによって計算需要を軽減します。SMEARやLoryなどのフレームワークが存在し、自己回帰言語モデルの事前トレーニングへの応用も進んでいます。

Type | Subtype | Models |
---|---|---|
Dense | DS-MoE, EvoMoE, MoLE, LoRAMoE | |
Sparse | Token-Choice | Shazeer et al., GShard, Switch Transformer, ST-MoE, M6-t, Mod-Squad, StableMoE, ModuleFormer, OpenMoE, Skywork-MoE, Base Layer, DSelect-k, V-MoE, Z-code M3, S-Base, Sentence-level MoE, NLLB, MMoE, Task-level MoE, X-MoE, Uni-Perceiver-MoE, Mixtral-8x7B, DeepSeekMoE, Jamba, DBRX, MoA, JetMoE, Yuan 2.0-M32, DS-MoE, AdaMoE, SCMoE, DYNMoE, FLEXTRON |
Non-trainable Token-Choice | Hash Layer, THOR, DEMix, Task-MoE, M2M-100, Pangu-Σ | |
Expert-Choice | Expert-Choice MoE, Brainformers | |
Soft | Token Merging | Soft MoE, HOMOE |
Expert Merging | SMEAR, Lory, MoV, SMoLA, MEO |
4.2 エキスパート
MoEフレームワーク内のエキスパートネットワークのアーキテクチャについて解説します。
- ネットワークの種類: TransformerアーキテクチャへのMoEの統合以来、FFNモジュールの代替としてエキスパートが利用されるのが主流です。FFNのスパース性が高いことが、この傾向の背景にあります。
- ハイパーパラメータ: スパースMoEモデルのスケールは、エキスパート数、エキスパートのサイズ、MoEレイヤーの配置頻度によって制御されます。近年では、より大きなエキスパート次元や、微細粒度のエキスパート分割が採用される傾向にあります。
- 活性化関数: ReLUからGeLU、GeGLU、SwiGLUなど、より高度な活性化関数が採用されるようになっています。RM-SNorm、GQA、RoPEなどの技術も組み込まれています。
- 共有エキスパート: Residual-MoEアーキテクチャやConditional MoE Routing(CMR)など、固定のFFNとスパースMoEを統合する共有エキスパートの利用が普及しています。

Category | Type | Models |
---|---|---|
Network Types | FFN | GShard, Switch Transformer, ST-MoE, EM, Branch-Train-MiX, DS-MoE, MoEfication |
Attention | MoA, JetMoE, DS-MoE, ModuleFormer | |
Others | pMoE, ADVMOE, Chen et al., DeepMoE | |
Hyperparameters | Count | GShard, Meta-MoE, GLaM, Mixtral-8x7B, Switch Transformer, ST-MoE, DeepSpeed-MoE |
Hyperparameters | Size | GLaM, LLAMA-MoE, DeepSeek-V2, DBRX, Qwen1.5-MoE, DeepSeekMoE, PEER |
Frequency | ST-MoE, OpenMoE, V-MoE, MoE-LLaVA, DeepSeekMoE, Brainformers, Jamba | |
Activation Function | ReLU, GeLU, GeGLU, SwiGLU | |
Shared Expert | DeepSpeed-MoE, NLLB, DeepSeekMoE, OpenMoE, ScMoE, Qwen1.5-MoE, MoCLE, Arctic, PAD-Net, HyperMoE | |
PEFT | FFN | LoRAMoE, AdaMix, MixDA, MixLoRA, LLaVA-MoLE |
Attention | MoELoRA, MoCLE, SiRA | |
Transformer Block | MoV, MoLoRA, UniPELT, SMoLA, MoLA, MOELoRA, MoR1E, MeteoRA | |
Every Layer | MoLE |
4.3 パラメータ効率の高い混合専門家モデル(MoPEs)
MoPEsは、MoEとパラメータ効率の高いファインチューニング(PEFT)を統合し、マルチタスクシナリオにおけるPEFTのパフォーマンス向上を目指します。FFN、アテンション機構、Transformerブロックへの応用が存在し、LoRAMoE、MoELoRA、MoVなどのフレームワークが開発されています。

4.4 訓練と推論のスキーマ
MoEモデルの訓練と推論のスキームについて、Dense-to-Sparse、Sparse-to-Dense、Expert Models Mergingの3つのカテゴリに分けて解説します。
- Dense-to-Sparse: Denseモデルのトレーニングから開始し、徐々にSparse MoE構成に移行する手法です。RMoE、EvoMoE、DS-MoEなどが存在します。
- Sparse-to-Dense: Sparse MoEモデルをDenseモデルに蒸留する手法です。Switch TransformerやOneSなどが存在します。
- Expert Models Merging: 複数の事前トレーニングされたDenseなエキスパートモデルを統合して、統一されたMoEモデルを作成する手法です。BTMやBTXなどが存在します。

Approach | Models |
---|---|
Original | Shazeer et al., GShard, Switch Transformer, ST-MoE |
Dense2Sparse | RMoE, Dua et al., Sparse Upcycling, DS-MoE, EvoMoE, MoE-LLaVA, SMoE-Dropout, Skywork-MoE, MoEfication, MoEBERT, LLAMA-MoE, EMoE |
Sparse2Dense | OneS, MoE-Pruning, ModuleFormer, EWA, He et al. |
Expert Models Merging | Branch-Train-Merge, Branch-Train-MiX, FoE |
Derivatives | Lifelong-MoE, MoT, MoD, WideNet, SUT, SMoP |
4.5 派生手法
MoEフレームワークから派生した様々なモデルについて解説します。WideNet、Sparse Universal Transformer(SUT)、Mixture of Tokens(MoT)、Sparse Mixture-of-Prompts(SMoP)、Lifelong-MoE、Mixture-of-Depths(MoD)などが存在し、ゲーティングメカニズムの条件付き計算の側面を統合したり、プロンプトチューニングや生涯学習などのタスクとMoE構造をマージしたりする傾向が見られます。

5. MoE のシステム設計
MoEモデルは大規模言語モデルの効率的な拡張手法ですが、そのスパースで動的な計算特性により、システム設計に特有の課題があります。
5.1 計算効率の課題
MoEモデルの主な計算上の課題は、計算負荷の不均衡にあります。分散環境では、特定のエキスパートに負荷が集中し、同期処理によるオーバーヘッドが発生します。この問題に対処するため、最適化されたゲーティングメカニズム、エキスパート容量の調整、動的なエキスパート配置戦略などが開発されています。また、FasterMoEのようにエキスパートを複数のデバイスに複製するDynamic Shadowed Expert Strategyも効果的な解決策となっています。
さらに、ゲートルーティングや入出力処理といったMoE特有の操作は、一般的なGPUでは最適化されておらず効率が低いという問題があります。これに対応するため、MegaBlocksのようなブロックスパース演算向けの専用GPUカーネルや、PITのようなMoEの動的スパース性に最適化された深層学習コンパイラ、ScatterMoEのようなメモリ効率を重視した実装などの研究が進められています。
5.2 通信オーバーヘードの課題
エキスパート並列処理では、MoEレイヤー内の計算過程で複数回のAll-to-All通信が必要となり、大きなオーバーヘッドが発生します。この問題に対しては、階層的なAll-to-All通信戦略やトポロジー認識ルーティングが導入されています。また、通信と計算を同時に実行するパイプライン処理技術や、非MoE計算のパイプライン組み込み、通信依存関係を分離するMoEアーキテクチャの再構築なども効果的なアプローチです。
5.3 ストレージの課題
MoEモデルのパラメータ増大は、デバイスのメモリ容量に大きな負担をかけます。エキスパート並列処理によりパラメータを分散させる方法が一般的ですが、特に制約の厳しいエッジデバイスでは問題が残ります。
階層型ストレージを活用するアプローチとして、GPU内には必須パラメータとアクティブなエキスパートパラメータのみを保持し、非アクティブなパラメータをCPUメモリやSSDにオフロードする手法があります。エキスパート選択の予測とパラメータのプリフェッチ技術も組み合わせることで効率化を図っています。
また、テンソルのパーティション間でバッファを共有したり、必要なアクティベーションを再計算したりすることで、メモリオーバーヘッドを削減する戦略も導入されています。
MoEモデルの効率的なシステム設計には、これらの計算・通信・ストレージの各側面での継続的な最適化が不可欠です。
Aspect | Models |
---|---|
Computation | FastMoE, DeepSpeed-MoE, Tutel, SE-MoE, FasterMoE, DeepSpeed-TED, HetuMoE, FlexMoE, SmartMoE, MegaBlocks, ScatterMoE, PIT |
Communication | DeepSpeed-MoE, HetuMoE, FasterMoE, ExFlow, Tutel, DeepSpeed-TED, TA-MoE, SE-MoE, MPipeMoE, Skywork-MoE, Lancet, ScMoE, Arctic, PipeMoE, ScheMoE, Punniyamurthy et al. |
Storage | SE-MoE, Pre-gated MoE, EdgeMoE, MPipeMoE |
6. MoE の応用
Transformerベースの大規模言語モデル(LLM)が主流となる現代において、MoEパラダイムは、トレーニングおよび推論段階での計算需要の急増を回避しつつ、モデル容量を大幅に拡張する魅力的な手法を提供しています。これらのモデルは、さまざまな下流タスクにおけるLLMの性能向上に貢献しており、一部のアプリケーションでは人間の性能を凌駕する結果を達成しています。GPT-4も多様なデータセットとタスクで学習された8×220Bのエキスパート群と16回の推論プロセスを利用したMoEアーキテクチャを採用していると噂されています。
MoEは、自然言語処理、コンピュータビジョン、推薦システム、マルチモーダルアプリケーションといった幅広い分野で広く採用されています。これらの応用の本質は、条件付き計算を活用してモデルパラメータ数を大幅に増加させ、固定された計算コストでモデル容量を増強したり、ゲーティングメカニズムを通じて動的なエキスパート選択を行い、効率的なマルチタスク学習を実現したりすることにあります。
以下に、さまざまな分野におけるMoEの代表的な応用例を挙げます。
- 自然言語処理(NLP): MoEは、大規模言語モデルのスケーリングにおいて重要な役割を果たしています。例えば、Mixtral-8x7Bは、130億のアクティブパラメータのみを使用しながら、Llama-2-70BやGPT-3.5を凌駕する性能を示しています。DeepSeekMoEは、より少ない計算量でLlama 2 7Bに匹敵する性能を達成しています。NLLBは、多言語機械翻訳タスクにおいて、M2M-100よりも優れた性能を発揮しています。
- コンピュータビジョン(CV): MoEは、視覚タスクにおけるモデルのスケーリングと効率化にも応用されています。V-MoEは、少ないMoEレイヤーで計算速度を大幅に向上させながら、最小限の性能低下に留めることを示しています。Swin-MoEなどのモデルも、MoEをVision Transformerに統合しています。
- 推薦システム(RecSys): MoEは、マルチタスク学習による推薦性能の向上に活用されています。MMoEやPLEは、複数のタスク間の関係性をモデル化するためにMoEアーキテクチャを採用しています。AdaMCTやM3oEなど、より進んだMoEベースの推薦フレームワークも開発されています。
- マルチモーダルアプリケーション: MoEは、複数のモダリティからの情報を効率的に処理し、融合するために利用されています。LIMoEやMoE-LLaVAは、テキストと画像を組み合わせたタスクにおいて、MoEを活用してモデルの表現力を高めています。Uni-MoEは、統一されたマルチモーダルLLMをMoEでスケーリングする試みです。
これらの応用例は、MoEがさまざまな分野において、モデルのスケーラビリティ、計算効率、マルチタスク学習能力を向上させるための強力なツールであることを示しています。今後も、MoEの応用範囲はさらに拡大していくと予想されます。
Domain | Models |
---|---|
NLP | Shazeer et al., GShard, Switch Transformer, Meta-MoE, GLaM, Mixtral-8x7B, NLLB, DeepSpeed-MoE, ST-MoE, DeepSeekMoE, MoGU |
CV | V-MoE, Swin-MoE, ADVMOE, pMoE |
RecSys | MMoE, PLE, AdaMCT, M3oE |
MultiModal | LIMoE, Shen et al., PaCE, MoCLE, MoE-LLaVA, Uni-MoE, MM1, LLaVA-MoLE |
7. MoE の今後の課題
MoEモデルは、計算コストを一定に保ちながらモデル容量を大幅に増加させる有望なアプローチですが、いくつかの本質的な課題が残されており、アルゴリズム、システム、応用の各側面におけるさらなる共同設計とエンジニアリングが必要です。
- トレーニングの安定性と負荷分散: スパースゲーティングを利用するMoEモデルは普及していますが、固定数のエキスパートへのトークンの離散的な割り当ては、さまざまな入力にわたってエキスパートのワークロードのバランスを維持し、トレーニングの安定性を確保する上で大きな課題をもたらします。一部のエキスパートが過剰に利用され、他が十分に活用されない負荷の不均衡は、エキスパートの専門化を妨げ、モデルの性能を低下させる可能性があります。既存の補助損失関数はトークンの均等な分散を促すものの、トレーニングの不安定性につながる可能性があり、異なるトークンの相対的な重要性を考慮していないことが多いです。今後の研究では、より効果的な正則化技術や、エキスパート間の公平な負荷分散を促し、モデルのトレーニング安定性を高める革新的なゲーティングアルゴリズムに焦点を当てるべきでしょう。
- スパースアクティベーションと計算効率: MoEモデルの主要な利点の一つは、スパースアクティベーションの能力であり、理論的には計算効率を高めます。しかし、これを実際に実装するには大きな課題があります。これは、ハードウェアアクセラレータ内でのスパース演算の非均一性に起因します。さらに、プール全体から選択された上位k個のエキスパートをアクティブ化することと、全体の最適化とのバランスを取るには、複雑な調整が必要です。これは、各エキスパートが専門的なニッチを開発するために重要な要素です。したがって、スパース計算をより適切に処理できるハードウェア最適化技術に関するさらなる研究が急務となっています。このような進歩は、モデルの容量を維持するだけでなく、MoEモデルの性能と効率を大幅に向上させる可能性があります。
- 汎化性能とロバスト性: MoEモデルは、事前トレーニング段階で計算効率の向上を示していますが、スパースMoEアーキテクチャは、特定のタスクやデータセットに過学習する傾向があり、有効に汎化する能力を損なう可能性があります。未知のデータや多様な入力変動に遭遇した際のMoEモデルの汎化性能とロバスト性を高めるために、ドロップアウトやトークンドロップなどの正則化技術、およびマルチタスクインストラクショントレーニングなど、さまざまな戦略が検討されてきました。今後はこの課題においてさらなる進歩の可能性があります。将来の研究では、革新的な正則化手法、洗練されたマルチタスク学習フレームワーク、あるいはMoEモデルのロバスト性を高め、より広範な下流タスクにわたって汎化能力を拡張するメタ学習の概念の組み込みを探求することができるでしょう。
8. おわりに
今回は、混合専門家(MoE)モデルの概念、その主要な構成要素、進歩の歴史、さまざまな応用、そして今後の研究課題について包括的に概観しました。特に2024年にはMixtral-8x7Bをはじめとする産業規模のLLMが登場し、MoEへの関心が急速に高まっていることを示しました。
MoEアーキテクチャは、モデルのパラメータ数を効率的にスケールアップし、条件付き計算を通じて計算コストを管理するための重要な手法として確立されています。ゲーティング関数、エキスパートネットワーク、そしてそれらを効率的にトレーニング・推論するためのアルゴリズム設計とシステム最適化における近年の進展を詳細に解説しました。
しかし、トレーニングの安定性、負荷分散、スパースアクティベーションの効率的な処理、汎化性能とロバスト性の向上といった課題も依然として残されており、今後の研究開発が期待されます。
MoEは、自然言語処理、コンピュータビジョン、推薦システム、マルチモーダル学習といった広範な分野でその有効性を示しており、今後のAIモデルのスケーリングと効率化においてますます重要な役割を果たすと考えられます。
More Information
- arXiv:2407.06204, Weilin Cai, Juyong Jiang, Fan Wang, Jing Tang, Sunghun Kim, Jiayi Huang, 「A Survey on Mixture of Experts」, https://arxiv.org/abs/2407.06204