混合専門家 (MoE) とは
混合専門家 (MoE) は、タスクをモデル内の最適な部分に振り分けて AI 推論を高速化するモデルアーキテクチャ手法です。
MoE モデルは、特定のサブカテゴリーで回答を迅速かつ高精度に提供できるよう特別にトレーニングされています。
次のように考えてみましょう。あなたは学生で、解剖学について質問があります。そんなとき、あなたは答えが得られるまであらゆる教授の部屋を順に訪ねて回るでしょうか。それとも、まずは生物学の教授のところに行くでしょうか。おそらく、あなたにとっての「混合専門家」の中で最も適した相手である生物学の教授のところへまっすぐ向かうでしょう。
その理由は、できるだけ早く正しい答えを得たいからです。
教授たちはそれぞれの専門分野に詳しいとはいえ、解剖学に関して答えを持っているのは生物学の教授であるとあなたはわかっています。だからこそ、英文学科に立ち寄ることはせず、生物学の教授に質問するのです。
MoE で使用されるロジックもこれと同じです。
混合専門家の仕組み
推論を成功させるには、AI モデルが短時間で多くの計算を行う必要があります。モデルの規模が大きくなるにつれて複雑性が増し、推論速度は低下します。モデルサイズ、ユーザー数の多さ、レイテンシーなどの要因によってパフォーマンスが制限される可能性があります。
これらの課題を克服するために、MoE では高速な大規模推論を支えるニューラルネットワークを構成します。
MoE におけるディープラーニングの使用
ディープラーニングとは、人間が知識を得る方法を模倣し、コンピュータがデータを処理して観察を通じて学習できるようにする AI 手法です。
モデルの機能を支える主な特徴として、次の 2 つがあります。
- 転移学習とは、モデルがある状況に関する情報を別の状況に適用し、内部知識を積み重ねていく仕組みです。多くの基盤モデルには数百のニューラル層があり、ディープラーニングの手法で事前トレーニングされています。これにより、モデルはデータセット内の関係性やパターンを発見できます。
- スケールとは、ハードウェア、特にグラフィックス・プロセッシング・ユニット (GPU) を指します。これにより、モデルは複数の計算を同時に実行できます。
MoE では、ディープラーニングのトレーニングと転移学習を組み合わせて、プロンプト内のパターンとサブカテゴリーを特定します。次に、MoE モデルは、入力に回答するために最適な「専門家 (エキスパート)」を素早く特定します。MoE では GPU を使用してプロンプトから回答までのパイプラインをスケーリングし、高速化します。
MoE におけるニューラルネットワークの使用
ニューラルネットワークはディープラーニングの基盤となるアーキテクチャであり、データを解釈する多数のニューロン層で構成されています。
従来の方法では、各層が入力データを解釈して次の層に送り、最終的にプロンプトに回答できるニューロンに到達するまでその処理を繰り返します。このような一般に密なニューラルネットワークは、フィードフォワード・ネットワーク (FFN) と呼ばれています。
FFN は、入力層、隠れ層、出力層のすべてを通じて、データを 1 方向に送ります。データが入力層から出力層へと流れていく間に、隠れ層は各入力のパターンと傾向を学習し、最終的な結果を生成します。
FFN と違い、MoE では出力を生成するまでに複数の経路を取ることができます。MoE がエキスパートを特定すると、最終結果までの経路が短縮され、モデルの処理能力が拡張されます。これにより、メモリ、計算リソース、時間を余分に使わなくても、モデルは新しい情報を学習してパターンを特定できます。
MoE では、同時に行われる他の計算によるノイズを遮断するためにスパース性が取り入れられています。
MoE におけるスパース性の使用
スパース性は、使用するウェイトを減らすことで、ニューラルネットワークでメモリを節約できるようにする手法です。
ウェイトとは、モデルがどのアクションを取るべきかを判断するための計算要素です。各ウェイトには、各プロンプトに回答する能力に基づいてスコアが付けられます。これにより、入力が適切なエキスパートにマッピングされます。ただし、すべてのプロンプトにあらゆるウェイトが必要なわけではありません。スパース性は、必要なウェイトを特定し、重要でないウェイトを無視します。
技術的には、これは不要なウェイトを 0 に設定することを意味します。モデルは 0 を検出すると、その計算をスキップします (0 に何を掛けても 0 になるため)。これにより、エキスパートは関連性のあるウェイトのみを処理に使用します。
不要なウェイトを除外すると、モデルのメモリに余裕が生まれ、動作がより高速になります。この方法で難しいのは、速度の向上と正確性やパフォーマンスの低下との間の適正なバランスを見つけることです。
AI テクノロジーの導入に関する 4 つのキーポイント
MoE アーキテクチャの説明
大部分の基盤モデルでは、トランスフォーマーと呼ばれるニューラルネットワークの一種を使用します。トランスフォーマーは、モデルがデータシーケンス内のコンテキストに基づく関係や依存関係を捉えるのに使用されます。開発者は、モデルの効率を高めるために、密なアーキテクチャを MoE に置き換えることが少なくありません。
MoE は、スパース・ニューラルネットワーク層とゲートネットワークという、2 つの主な要素で構成されます。
ニューラルネットワークにおける MoE スパースモデルでは、密な層よりも接続数が少なくなっています。
これらのモデルは、すべての計算を行うのではなく、必要な計算のみを行うことで、スパース性を実現します。接続数が少ないことで、ニューラルネットワークはメモリを節約でき、より高速に動作できます。
密な層は、多数のウィンドウを開いている Web ブラウザのようなものです。開いたまま使われていないタブでも多くの異なる信号が処理されるため、ブラウザの動作は遅くなります。この状態では多くのメモリが消費され、実際に必要なタブの動作も遅くなります。
スパース層はニューラルネットワーク内の不要な接続を無視するため、必要な接続を通る処理を可能な限り高速化できます。ブラウザの比喩で言えば、スパース層は、開いているタブのうち、どのタブを無視し、どのタブをスムーズに動作させる必要があるかを把握します。
MoE ゲートネットワークまたはルーターは、プロンプトを分析し、最適なエキスパートにルーティングします。これにより、MoE は複数の経路を辿って結果に到達できます。
ゲートネットワークは事前トレーニング済みのパラメーターを使用して各エキスパートにスコアを付け、リクエストに最適なエキスパートを選択します。この選択によって生まれるのがスパース性で、選択されたエキスパートのみがアクティブ化され、残りはスキップされます。これにより、モデルは本当に必要な処理に計算リソースを集中させることができます。
エキスパートにスコアが付くと、ゲートネットワークはそれに応じてプロンプトを割り当てます。
たとえば、ゲートネットワークが「オリジナルのおとぎ話を書く」という入力を受け取ったとします。ルーターは、この分野で高いスコアを持つ、創作向けにトレーニングされたエキスパートを特定します。医学、マーケティング、エンジニアリング向けにトレーニングされた他のエキスパートは、低いスコアとなります。ゲートネットワークは最も関連性の高いエキスパートを選択してアクティブ化し、他のエキスパートをスキップします。このトレーニングにより、ゲートネットワークは、最良の出力を得るには創作のエキスパートへプロンプトをルーティングすればよいと判断できます。
MoE アーキテクチャでは、複数の専門的なモデルを連携させることができます。そのため、プロンプトに素早く回答できるエキスパートが複数特定されることも少なくありません。それぞれのエキスパートがタスクを完了すると、ゲーティングネットワークが結果を収集して統合し、最終的な一貫性のある回答を提示します。
MoE のメリット
MoE を利用すると、モデルは少ないリソースで高速に動作できるようになり、次のような複数のメリットが得られます。
- 速度:学生が生物学の教授のもとに直行することで時間と労力を節約したように、MoE モデルは不要なデータを無視して最適なエキスパートに直結することで、多くの時間とリソースを節約します。そのため、MoE モデルは、あらゆるプロンプトですべてのデータセットを処理する密なモデルよりも高速に動作します。
- 専門化: MoE はより多くのプロンプトを処理するにつれて、特定のトピックにおけるパターンやデータの認識精度が向上していきます。これにより、MoE モデルは、プロンプトに対してすべてのトピックに一度に対応しようとする密なモデルよりも精度が高くなります。
- 拡張性: MoE はタスクごとに必要なウェイトのみをアクティブ化するため、高い計算需要に対応できます。密なモデルと違い、MoE は推論を行うたびに数百万ものパラメーターをアクティブ化するわけではありません。そのため、リソースに多大な投資をしなくてもインフラストラクチャを拡張できます。
MoE の課題
MoE のファインチューニング
従来型のファインチューニングには、数十億のパラメーターを更新すると、モデルが一般的なパターンを学習するのではなく特定のデータを記憶してしまう、オーバーフィッティングが発生するという難しさがあります。そして MoE にも、ルーティングの不安定さという固有の課題があります。
MoE モデルでは、ゲートネットワークを使用して情報を専門のエキスパートに送ります。しかし、ゲートが新しいデータを誤ったエキスパートに送ったり、特定のエキスパートが過度に使用されたりすると、モデルに次の問題が発生する可能性があります。
- エキスパートの崩壊:モデルが専門的な多様性を失った状態です。
- 破滅的忘却:エキスパートが元の専門知識を失った状態です。
現在の知識ベースを失ったり混乱させたりすることなく、新しいデータを学習させることは、技術上の大きなハードルになる可能性があります。
MoE の負荷分散
MoE モデルのエキスパートは、主にゲートネットワークから送られたトークンを通じて学習します。これにより、エキスパートの不均衡と呼ばれる、特定のエキスパートのみが選ばれやすくなる状態が生じます。つまり、ゲートが早い段階で適切なエキスパートを特定すると、そのエキスパートはわずかに賢くなり、結果として再びゲートに選ばれる可能性が高くなります。介入がなければ、一部のエキスパートに負荷が集中し、残りのエキスパートはトレーニング不足や活用不足の状態になります。
ただし、先進的な MoE 実装の多くには、この問題を防ぐために、負荷分散損失やルーティング戦略が組み込まれています。
MoE のメモリ要件
MoE モデルは効率的ですが、大容量のストレージが必要になります。
MoE では、大量のパラメーターを使用して、各モデルを特定のトピックについてトレーニングします。スパース性を使用していても、MoE には、ネットワーク内のすべてのエキスパートを保持するためのハードウェアが必要です。これらのエキスパートは常に使用されるわけではありませんが、それでも容量を占有します。
必要なメモリ容量が増えると、通常、ハードウェア要件が増大し、コストも高くなります。
MoE のトレーニング
MoE のトレーニングは、通常の密なモデルのトレーニングよりも複雑です。その成否は、ゲートネットワークとエキスパートが協調して動作できるかどうかに左右されます。これら 2 つのコンポーネントが協調して動作できて初めて、MoE アーキテクチャはタスクを適切にルーティングし、データを効率的に処理できるようになります。
入力のルーティングとエキスパートの選択
入力のルーティングとは、ゲートネットワークがリアルタイムで判断を下し、プロンプトに対して適切なエキスパートを正確に選択する仕組みです。
ゲートネットワークは、「top-k エキスパート」と呼ばれる上位の適格なエキスパートを特定するようにトレーニングされています。ここでの「k」は、各プロンプトに回答するためにアクティブ化する必要がある、スコア上位のエキスパート数を表すプレースホルダーです。MoE ではスパース性を使用するため、この数は少なく、通常は 1 または 2 です。他のすべてのエキスパートは 0 に設定され、無視されます。
エキスパートのトレーニング
エキスパートを適切に機能させるには、均等にトレーニングする必要があります。ここで問題となるのが、エキスパートがゲートネットワークから送られたプロンプトからしか学習できないという点です。
ネットワークは、どのエキスパートが特定のトピックでトレーニングされているかを把握するにつれて、それに従ってプロンプトをルーティングするようになります。あるエキスパートが科学分野の質問に一貫して正しく回答する場合、ゲートはそのエキスパートに、生物学、化学、物理学に関する質問をさらに送るようになります。そのようなエキスパートは時間の経過とともにニッチなトピックに関する深い知識を蓄積し、複雑なパターンを認識できるようになります。
ゲートネットワークの偏りを避ける方法
あるエキスパートがさまざまな種類のプロンプトに優れた回答をするようになると、ゲートはそのエキスパートばかりに多くの入力を送るようになる可能性があります。これにより、オーバーフィッティングに陥ったり、負荷のバランスが崩れたりします。
この問題を防ぐために、開発者は負荷分散損失、つまり補助ペナルティを使用します。これは、公平性と分散に関するルールをゲートに学習させる機械学習の手法です。1 つのエキスパートを過度に選択した場合にペナルティを受けることで、ゲートは他のエキスパートも試すようになります。時間の経過とともに、ゲートネットワークはワークロードのバランスを取り、プロンプトを複数のエキスパートに分散させるようになります。
これにより、すべてのエキスパートがそれぞれ独自の対象に専門化し、各自のニッチなトピックでデータやパターンを収集し続けるという MoE の考え方がさらに強化されます。
エキスパート並列処理とは
モデルとデータセットが大規模になると、それらを保持するために、さらに多くの GPU が必要になります。エキスパート並列処理は、MoE のモデルとアーキテクチャをハードウェア全体に拡張し、リソースをより効率的に使用できるようにします。
まず、データ並列処理について理解しておくと役立ちます。これは AI スケーリング戦略で、大きなデータセットを複数のカテゴリに分割し、それぞれのまとまりを別々のプロセッサーまたは GPU に分散させます。それらの GPU は同時に並行して動作し、一貫性のあるまとまった出力を生成します。その後、ゲートネットワークが出力を組み合わせて最終結果を生成します。
エキスパート並列処理では、同じ戦略を使用して、エキスパートを複数の GPU に分散させます。リクエストが到着すると、ゲートは、最も関連性の高いエキスパートをホストしているデバイスにトークンをルーティングします。そのデバイスは物理的に別のマシン上にあってもかまいません。各エキスパートはプロンプトを同時に処理し、その結果を組み合わせて回答が生成されます。推論処理を分割することで、モデルは大規模環境でも、入力の処理と計算リソースの使用を効率化できます。
これは、MoE モデルアーキテクチャとは異なります。エキスパート並列処理は、大規模環境のハードウェア全体でエキスパートを使用する手法であり、モデル入力ではなく、エキスパートを多数の GPU に分散させます。
MoE はグループプロジェクトのようなものです。教師がグループに課題を出し、グループ内でメンバーのスキルに応じてタスクを割り当てます。全員が課題の各自の分担を完了したら、プロジェクト全体をまとめて発表する準備が整います。
エキスパート並列処理は、学区全体で協力して募金活動をするようなものです。それぞれの学校は、同じ目的のために、異なる場所で同時に活動します。募金活動に参加する学校が複数あれば、より短い時間で多くの資金を集められる可能性が高くなります。
エキスパート並列処理でも、MoE と同様に、負荷分散が課題になることがあります。ゲートがあまりにも多くのトークンを同じ GPU 上のエキスパートにルーティングすると、使用率が不均一になり、障害が生じる可能性があります。GPU 全体を監視し、特定の GPU に負荷が集中していないかを確認することが重要です。
MoE のユースケース
MoE は AI エンジニア、モデル開発者、クラウド・サービス・プロバイダーに使用されており、機械学習やエンタープライズ AI のチームの間で広く利用されています。
MoE は通常、次のようなケースで役立ちます。
- リクエストあたりの計算リソースを大幅に増やさずに、モデル容量を増やしたい場合
- 課題に対し、モデルの異なる部分にそれぞれ異なるパターンを学習させる専門化が有効である場合
- 大規模かつ高スループットのシナリオで、より多くの計算リソースや複数のマシンが必要となる場合
- トレーニング時や推論時に、限られた計算リソースの予算を効率的に使用する必要がある場合
MoE は、次のようなシナリオのトピックで力を発揮できます。
自然言語処理 (NLP): MoE は、長い文書の要約、コメント内の肯定的または否定的な感情の検出、自動化されたバーチャルアシスタントやチャットボット向けのインサイト生成といったプロンプトで、NLP を支援できます。
たとえば、チャットボット・アシスタントは MoE アーキテクチャを使用して、別の言語での質問を、特定の自然言語でトレーニングされたエキスパートに振り分けることができます。
コンピュータビジョン: MoE は、ディープラーニング技法を使用して、人間と同じ方法で画像を認識できます。これには、顔認識や画像分類などが含まれます。
たとえば、MoE は AI 支援の医療イメージングで、X 線、MRI、CT スキャンなど、さまざまなカテゴリの画像を識別するのに役立ちます。この場合、各エキスパートは骨折や腫瘍などといった個々の異常の識別に特化させることができます。
レコメンデーション・システム: MoE は、過去の行動やコンテキストを分析してユーザーの好みを予測できます。
たとえば、Netflix や Spotify などのストリーミング・プラットフォームでは、ユーザーの行動を分析して好みを予測しています。ログインすると、サービスはすぐに、ユーザーが最も楽しめる可能性の高いコンテンツを表示します。MoE は、こうしたトレンドをより迅速かつ正確に特定することに優れています。
もちろん、密なモデルでもこれらのユースケースのすべてに対応できます。ただし、MoE ほど高速に処理できず、専門的なトピックについて十分にトレーニングされていない場合があります。MoE のメリットは、迅速かつ正確に支援できることにあります。
MoE とオープンソース
MoE は、ほとんどのオープンソースモデルで広く利用されている戦略です。2025 年にリリースされたオープンソース AI モデルの 60% 以上で採用されていることからも1、MoE の価値について業界の関心と理解が広がっていることがわかります。
オープンソース MoE には次のようなものがあります。
- Mixtral 8x7B
- OLMoE
- DBRX
- OpenMoE
MoE は、より大規模なモデルを構築し、より多くの計算リソースを投入することが常に最適な戦略とは限らないことを実証しました。MoE オープンソースモデルは、専門的なトピックをより迅速に学習できるため、密なモデルよりも速いペースでより高いインテリジェンスレベルに到達しています。
Red Hat のサポート内容
Red Hat® AI は、vLLM 搭載のサーバーを通じて、高速で柔軟かつ効率的な推論を行うように構築されています。モデルをデータと確実に接続し、専用エージェントのカスタマイズと開発を単一のプラットフォームで行うことができます。オープンソースを基盤として構築された当社の製品により、あらゆる規模で AI ワークフローをエンドツーエンドで完全に制御することができます。
Red Hat AI ポートフォリオには、Red Hat AI Inference Server が含まれています。これは、ハイブリッドクラウドのどこでも任意のアクセラレーター上であらゆるモデルを実行できるように運用制御を提供する推論スタックです。高速で効率的かつコスト効率の高い推論を大規模に実行することを目指す企業に Red Hat AI がどう役立つかをご覧ください。
1Koparkar, Shruti、「Mixture of Experts Powers the Most Intelligent Frontier AI Models, Runs 10x Faster to Deliver 1/10 the Token Cost on NVIDIA Blackwell NVL72」 NVIDIA ブログ、2025 年 12 月 3 日。
Artificial Intelligence (AI)
See how our platforms free customers to run AI workloads and models anywhere