※本記事は、Stanford CS336「Language Modeling from Scratch」講義の内容を基に作成されています。講義の詳細情報は https://stanford-cs336.github.io/spri... でご覧いただけます。本記事では、講義の内容を要約しております。なお、本記事の内容は原著作者の見解を正確に反映するよう努めていますが、要約や解釈による誤りがある可能性もありますので、正確な情報や文脈については、オリジナルの講義をご視聴いただくことをお勧めいたします。
スタンフォード大学のオンラインAIプログラムについての詳細は https://stanford.io/ai にてご確認いただけます。また、このコースへの登録に関する情報は https://online.stanford.edu/courses/c... をご参照ください。
【登壇者情報】 Tatsunori Hashimoto(橋本達典):スタンフォード大学コンピューターサイエンス准教授
スタンフォードオンラインはスタンフォード大学全体の学校や部門が提供する学術的・専門的教育へのポータルであり、スタンフォード工学部のEngineering Center for Global & Online Education (CGOE)によって運営・管理されています。詳細は https://online.stanford.edu/ をご参照ください。
1. イントロダクションと概要
1.1 MoEの定義と重要性
橋本教授:今日は、Mixture of Experts(MoE)について取り上げます。昨年、これは私が投げ込んだ楽しいボーナス講義でしたが、今年は多くの研究者の取り組みのおかげで、より重要な講義となりました。最近の開発や、最後にはDeepSeek V3の構成要素を詳しく見ていく予定です。
Mixture of Expertsは、現代の高性能システムの多くが採用しているアーキテクチャです。面白いことに、NvidiaのリークでGPT-4が実際は「GPTOE1-BT」と呼ばれている可能性が示唆されました。さらに広く見れば、Grock、DeepSeek、そして最近ではLlama 4もMoEアーキテクチャを採用しています。2025年の現時点では、計算量を同じにした場合、MoEアーキテクチャがdenseアーキテクチャより明らかに優位にあります。適切に実装すれば、MoEモデルのトレーニングは密なモデルよりもメリットがあり、東西問わず、皆がこのアプローチを採用しているようです。
Mixture of Expertsは非常にシンプルですが、とても誤解されやすい名前です。「Mixture of Experts」という名前を聞くと、異なる領域に特化した専門家がいて、例えばコーディングの専門家、英語の専門家、他の言語の専門家などが異なることをしていると想像するかもしれません。しかし、実際はそのような考え方とはかけ離れています。
Mixture of Expertsとは、「エキスパート」と呼ばれるサブコンポーネントがスパース(疎)に活性化される、一種の高度なアーキテクチャです。特に、MoEについて考えるときは、MLPs(多層パーセプトロン)に注目すべきです。ここがすべての活動が行われる場所なのです。MoEアーキテクチャと非MoEアーキテクチャは、ほとんどの構成要素が同じです。異なるのは一つの点だけ。標準的なトランスフォーマーの構成要素を見ると、セルフアテンションとFFN(フィードフォワードネットワーク)があります。密なモデルでは、フィードフォワード部分は単に一つの大きなブロックですが、スパースモデルではこのFFNを分割し、複数のコピーを作り、ルーターがそれらの中からより少数のものを選択します。
これが基本的な考え方です。密なモデルのフィードフォワードネットワークを、選択層と多くの小さなフィードフォワードネットワークに置き換えるのです。このアーキテクチャの利点は何でしょうか?スパース活性化であれば、例えば一つのエキスパートだけを選ぶとして、そのエキスパートが元の密なFFNと同じサイズだとすると、左側(密なモデル)と右側(MoEモデル)のフロップス(計算量)は同じになります。フォワードパスで同じ行列計算を行うことになるからです。
したがって、フロップスに影響を与えることなく、より多くのパラメータを持つことができます。もし世界についての事実を記憶するためにより多くのパラメータが必要だと考えるなら、これは素晴らしいアーキテクチャです。この直感的な理解が明確になったことを願います。
1.2 現代のAIシステムにおけるMoEの採用状況(GPT-4、Grock、DeepSeek、Llama 4)
橋本教授:Mixture of Expertsは現在、最も先進的な高性能システムの構築・デプロイ方法として広く採用されています。面白いことに、NvidiaからGPT-4が実際には「GPTOE1-BT」と呼ばれている可能性が漏洩しました。これは単なる憶測ではなく、より広い文脈で見ると、Grock、DeepSeek、そして最近ではLlama 4も含め、多くのシステムがMoEアーキテクチャを採用しています。
2025年の現時点では、MoEアーキテクチャがdenseアーキテクチャより明らかに優位にあると言えます。適切に実装されたMoEモデルのトレーニングは、同じ計算量のdenseモデルよりも優れた性能を発揮します。この傾向は東西問わず見られ、利用可能な計算リソースを最大限に活用するために、ほぼすべての主要なAI開発者がこのアプローチを採用しています。
特に中国の研究グループが注目すべき成果を上げています。QuenとDeepSeekが昨年、多くの先駆的な研究を行い、オープンソースの世界ではこれらの成果が先に公開されていました。西洋のオープンソースグループがMoEに本格的に取り組み始めたのはごく最近のことです。Mixtral、Grock(Grockはオープンソースではありませんが)、そして最近Llama 4もMoEアーキテクチャを採用しています。
Quenのケースを見てみましょう。Quen 1.5は、大規模でよくテストされ、十分に文書化されたMoEモデルとして私が知る最初のものの一つでした。彼らは巧妙な方法でQuen 1.5のdenseモデルをMoEにアップサイクル(変換)しました。これはdenseモデルを取り、MoEに変換する賢い手法です。彼らは7Bモデルと比較して、計算効率の面で大幅な改善を示しつつ、総パラメータ数を削減することに成功しました。
DeepSeekも、現在は有名になりましたが、これらの論文が最初に出た時点ではそれほど知られていませんでした。彼らはオープンソースの世界で、私が考える本当に基礎的な研究を行いました。今日の講義の大部分は、実際にDeepSeek MoEアーキテクチャの進化を追跡することになります。彼らの最初のDeepSeek論文では、特定のフロップス量で密なモデルを訓練した場合と、非常に単純なルーティングを使用したMoEモデル、そしてスイッチと呼ばれるより賢いルーティングを使用した場合の比較が示されています。これらの注意深く管理された比較をすると、密からスパースに移行するにつれて(左端の列から右端の列に移動すると)、ベンチマークの指標が一貫して向上していることがわかります。これは固定量のフロップスに対する結果です。
そして現在、ほぼ誰もが聞いたことがあるであろうDeepSeek V3が登場しました。これはある意味、この一連の研究の集大成です。しかし、もしあなたがこの神経ネットワークと言語モデリングの分野に興味を持ち、追跡していたなら、V3が人気になるずっと前からDeepSeekについて知っていたでしょう。講義の最後に見ていきますが、実際にDeepSeek V3は、最も初期のバージョンとアーキテクチャ的にはそれほど違いがありません。彼らは小規模な20億パラメータモデルを訓練していた頃にすでにアーキテクチャをほぼ完成させていました。V3で彼らが行ったのは、エンジニアリングを正しく行い、実際に非常に優れたモデルを作ることでした。
1.3 MoEが2025年時点でdenseモデルより優位である理由
橋本教授:MoEが持つ優位性についての疑問があるかもしれません。より多くのパラメータをフロップスあたりに詰め込めるという理論的な利点が、実際にトレーニングするモデルの性能向上につながるのかという点です。現時点では、同じフロップス数、つまり同じトレーニング計算量で、MoEが密なモデルよりも優れた性能を発揮することを示す多数の論文が発表されています。
今日は、この分野を形作ったGoogleの古典的な論文をいくつか紹介します。その一つがFetisらによる2022年の論文です。彼らは、トレーニングのフロップス数を一致させた場合(つまり、トレーニングに使用される計算量が同じ場合)、エキスパートの数を増やすにつれて、言語モデルのトレーニング損失が下がり続けることを示しています。より多くのエキスパートを持つことで、性能が向上するのです。
もちろん、エキスパートはタダではありません。これらのエキスパートのためのメモリを確保する必要があり、並列処理を行う場合は、データを256の個別のエキスパートにルーティングすることを考慮しなければならないため、システム的な複雑さが生じます。しかし、フロップスだけを考えると、これは素晴らしいグラフと言えます。同じフロップス数でありながら、テスト損失が「無料で」改善されているのです。右側のグラフにも同じことが反映されています。トレーニングを長く続けるほど、128エキスパートを持つスイッチベースのモデル、つまりより多くのエキスパートを持つモデルは、より速く良いパープレキシティを得ています。
この結果は2022年の論文からですが、現代のアーキテクチャや規模でも依然として当てはまるのかという疑問があるかもしれません。実際、それは非常に当てはまります。AI2は「OMO」という非常に優れた論文を発表し、密なアーキテクチャとその他のアーキテクチャを比較する多くのアブレーションと制御された比較を行いました。彼らも全く同じ結果を観察しています。
左側はまだFetisらの論文からのグラフで、多くのエキスパートを持つことによる7倍の速度向上を示しています。右側はOMOの比較結果で、ピンク色がMoE、ティール色が密なモデルを表しています。密なモデルのトレーニング損失はMoEよりもはるかに遅く減少しています。
もう一つ、多くの企業が本当に気に入っている理由は、このようなグラフを提示できることです。DeepSeek V2の論文からのグラフを見てください。X軸は活性化されたパラメータのみを表しています。つまり、計算に使用されるパラメータだけで、非活性化のエキスパートは無視しています。Y軸はMMLL(多言語多タスク学習)の性能です。DeepSeek V2を見ると、活性化されたパラメータが非常に少ないにもかかわらず、MMLL性能が非常に良いことがわかります。トレーニングとインファレンスの両方のフロップスに関心があるなら、活性化されたパラメータが重要です。ここで非常に良い性能が得られています。
これは単なるアブレーション研究ではなく、誰かが多額の費用をかけてトレーニングし、実際に世界に展開した実システムです。他の例でもこのようなパターンが繰り返されることがわかるでしょう。
システム面でも利点があります。MoEは並列処理の新たな軸を提供します。システム講義でモデルを多くの小さなピースに切り分け、多数のデバイスに分散する方法について詳しく説明する予定ですが、今は高レベルの概要だけお話しします。エキスパートがある場合、エキスパートレベルで並列化する非常に自然な方法があります。異なるフィードフォワードブロックが複数あれば、これらのエキスパートをそれぞれ異なるデバイスに配置できます。エキスパートはスパースに活性化されるため、トークンを適切なデバイスにルーティングするだけで、そのデバイス上で計算が行われます。これはモデルを異なるデバイスに分割するための自然な切断点です。これはエキスパート並列性と呼ばれ、MoEが人気がある理由の一つです。本当に大きなモデルを並列化したい場合、これは必須の手法となります。
興味深いことに、この手法はGoogleやフロンティア研究所などのクローズドな研究所で開発されましたが、実際にオープンな成果をもたらしたのは中国の研究者たちでした。QuenとDeepSeekが昨年、多くの研究を行い、西洋のオープンソースグループがこれらの研究に着手し始めたのは最近のことです。Mixtral、Grock(オープンではありませんが)、そして最近ではLlamaもMoEアーキテクチャを採用しています。
2. MoEの基本構造
2.1 MoEの誤解されやすい命名とその実態
橋本教授: Mixture of Expertsは非常にシンプルですが、とても誤解を招きやすい名前がついています。「Mixture of Experts」という名前を聞くと、異なる領域に特化した専門家がいて、異なることを行っていると想像するかもしれません。例えば、コーディングの専門家、英語の専門家、他の言語の専門家などがいると思うでしょう。しかし、実際はこのような考え方とはまったく異なります。
Mixture of Expertsとは、「エキスパート」と呼ばれるサブコンポーネントがスパース(疎)に活性化される、一種の高度なアーキテクチャです。MoEについて考えるときは、特にMLPs(多層パーセプトロン)に注目すべきです。ここがすべての活動が行われる場所なのです。
MoEアーキテクチャと非MoEアーキテクチャは、ほとんどの構成要素が同じです。違いは一つだけです。標準的なトランスフォーマーの構成要素を見ると、セルフアテンションとFFN(フィードフォワードネットワーク)があります。拡大してみると、密なモデルではフィードフォワード部分は単に一つの大きなブロックですが、スパースモデルではこのFFNを分割するか、あるいは複製します。設定方法によって異なりますが、FFNの複数のコピーを作成し、ルーターがそれらの中からより少数のものを各フォワードパスまたはインファレンス時に選択します。
これが基本的な考え方です。左側の一つの大きなフィードフォワードネットワークを、選択層と多くの小さなフィードフォワードネットワークに置き換えるのです。このアーキテクチャの利点は何でしょうか?スパース活性化であれば、例えば一つのエキスパートだけを選択し、そのエキスパートが元の密なFFNと同じサイズだとすると、左側(密なモデル)と右側(MoEモデル)のフロップス(計算量)は同じになります。フォワードパスで同じ行列乗算を行うことになるからです。
したがって、フロップスに影響を与えることなく、より多くのパラメータを持つことができます。もし世界についての事実を記憶するためにより多くのパラメータが必要だと考えるなら、これは素晴らしいアーキテクチャです。
2.2 基本的なアーキテクチャ:FFN(Feed Forward Network)のスパースルーティング
橋本教授: Mixture of Expertsの基本的なアーキテクチャは、標準的なトランスフォーマーアーキテクチャのFFN(フィードフォワードネットワーク)部分をスパースにルーティングされた複数のFFNに置き換えるというものです。通常のトランスフォーマーの構成要素を見ると、セルフアテンションとその後のFFNがあります。密なモデルでは、このFFN部分は単に一つの大きなブロックとして存在していますが、MoEモデルではこのFFNを複数のコピーに分割します。
スパース活性化がポイントです。例えば、トークンごとに1つのエキスパートだけを選ぶとし、そのエキスパートが元の密なFFNと同じサイズだとすると、密なモデルとMoEモデルのフロップス(計算量)は同じになります。フォワードパスで同じ行列乗算を行うことになるためです。つまり、計算量を増やすことなく、パラメータ数を増やすことができるのです。
理論的には、アテンション層にも同様のスパースルーティングアプローチを適用できます。実際、いくつかの論文やリリースでこのアプローチが採用されています。しかし、主要なモデルリリースでこれを見ることは実際にはかなり稀です。インターネット上では、このアプローチはさらに不安定で、一貫してトレーニングするのが非常に難しいと言われています。これを裏付けるアブレーション研究はあまり見ていませんが、確かにアテンションをスパースにルーティングするようなモデルをトレーニングしている例はあまり多くありません。
基本的なアーキテクチャはとてもシンプルです。何らかのルーターがあり、そのルーターがトークンをルーティングし、異なるMLPs(複数のフィードフォワードネットワーク)があります。このアーキテクチャでは、いくつかの重要な設計上の選択肢があります:
- どのようにルーティングするか - ルーティング関数は明らかに重要な選択です。
- エキスパートの数と大きさをどうするか - これは別の選択です。
- このルーターをどのようにトレーニングするか - これは微分不可能な目的関数であり、トレーニングが非常に難しく見えます。
これらは非常に重要な設計上の質問であり、それぞれについて詳しく見ていきます。
トークンをエキスパートにマッチングする、つまりルーティングする方法を考えてみましょう。これはMoEの核心部分です。MoEでは、トークンのシーケンスが処理され、それらのシーケンスはエキスパートに割り当てられます。すべてのエキスパートがすべてのトークンを処理するわけではありません。それがスパースにルーティングされるMoEの全要点です。
ルーティング決定がどのように行われるかについて、三つの異なる選択肢があります:
- トークン選択 - 各トークンが異なるエキスパートに対する「選好」を持ち、各トークンに対して上位K個のエキスパートを選択します。
- エキスパート選択 - 各エキスパートがトークンに対する順位付けされた選好を持ち、各エキスパートに対して上位K個のトークンを選択します。これはエキスパート間でバランスが取れるという大きな利点があります。
- グローバル割り当て - エキスパートとトークン間のマッピングが何らかの形でバランスが取れるように、複雑な最適化問題を解決する方法です。
予告しておくと、ほぼすべてのMoEはトークン選択のTop-K方式を採用しています。MoEの初期には、ルータートークン設計空間のスペクトル全体にわたる多くの異なる方法が試されました。しかし、大きなリリースを見ると、それらはすべて基本的に一つのクラスのルーティングメカニズム、つまりトークン選択Top-Kに収束しています。各トークンはエキスパートを親和性によってランク付けし、それぞれに対してTop-K選択が行われます。
2.3 パラメータ数vsフロップス(計算量)のトレードオフ
橋本教授: Mixture of Expertsの最も重要な利点の一つは、パラメータ数と計算量(フロップス)の間に興味深いトレードオフを提供することです。MoEでは、フロップスに影響を与えることなく、より多くのパラメータを持つことができます。
これがどのように機能するか考えてみましょう。通常の密なトランスフォーマーモデルでは、各トークンがすべてのパラメータを使用して処理されます。一方、MoEモデルでは、各トークンは利用可能なエキスパートのうちのごく一部(通常はK個)だけを通過します。例えば、モデルが合計8つのエキスパートを持ち、各トークンがそのうちの1つだけを使用する場合、各トークンの処理に使われるパラメータは全体の1/8だけです。しかし、モデル全体としては、8倍多くのパラメータを持つことができます。
ここで重要なのは、フォワードパスやインファレンス時に行われる実際の計算量(フロップス)は増加しないということです。これは、各トークンが同時に全エキスパートを通過するわけではなく、少数の選択されたエキスパートのみを通過するためです。例えば、1つのエキスパートだけを選択し、そのエキスパートが元の密なFFNと同じサイズだとすると、密なモデルとMoEモデルのフロップスは同じになります。
この特性は、特にモデルのスケーリングにおいて非常に価値があります。同じ計算予算で、より多くのパラメータを持つモデルを構築できるのです。そして、世界の事実を記憶するためには多くのパラメータが必要だという考え方に基づけば、これは大きな利点です。
Fetisらの2022年の論文で示されているように、同じフロップス数でトレーニングした場合、エキスパートの数を増やすにつれて言語モデルのトレーニング損失が継続的に減少します。右側のグラフにも同様のパターンが見られます。トレーニングを長く続けるほど、128エキスパートを持つスイッチベースのモデル(より多くのエキスパートを持つモデル)は、より速く良いパープレキシティを達成しています。
もちろん、エキスパートにもコストがあります。これらのエキスパートのためのメモリを確保する必要があり、並列処理を行う場合は、データを多数の個別のエキスパートにルーティングすることを考慮しなければならないため、システム的な複雑さが生じます。しかし、計算量だけを考えれば、MoEは明らかに優位にあります。
AI2による「OMO」の研究も、同様の結果を示しています。彼らは密なアーキテクチャと他のアーキテクチャを比較する詳細なアブレーションと制御された比較を行い、全く同じパターンを観察しました。Fetisらの論文からのグラフでは、多くのエキスパートを持つことによる7倍の速度向上が示されています。OMOの比較では、MoE(ピンク色)の方が密なモデル(ティール色)よりもトレーニング損失の減少が速いことが明確に示されています。
このパラメータ効率の優位性は、DeepSeek V2のような実際のシステムでも確認されています。彼らの論文では、活性化されたパラメータ数(実際に計算に使用されるパラメータのみを計上)とMMLL性能の関係を示すグラフを提示しています。DeepSeek V2は、非常に少ない活性化パラメータ数で優れたMMLL性能を達成しています。トレーニングとインファレンスの両方のフロップスを重視する場合、活性化されたパラメータ数が重要な指標となります。
3. MoEの性能検証
3.1 Fetis et al. 2022の研究成果
橋本教授: MoEの性能優位性について、より多くのパラメータをフロップスあたりに詰め込めるという理論的な利点が、実際にトレーニングするモデルの性能向上につながるのかという疑問があるかもしれません。この疑問に答えるために、まずこの分野を形作った古典的なGoogleの論文をいくつか紹介したいと思います。
Fetisらによる2022年の論文は、MoEの性能優位性を明確に示した重要な研究です。彼らは、トレーニングのフロップス数を一致させた場合(つまり、トレーニングに使用される計算量が同じ場合)、エキスパートの数を増やすにつれて言語モデルのトレーニング損失が継続的に減少することを実験的に示しました。
彼らの研究では、フロップスを一致させた条件下で、エキスパート数を増加させるとトレーニング損失が下がり続けることを示すグラフを提示しています。これは非常に強力な証拠です。同じ計算量を使用しても、より多くのエキスパートを持つことで性能が向上し続けるのです。
もちろん、エキスパートは無料ではありません。これらのエキスパートのためのメモリを確保する必要があり、並列処理を行う場合は、データを例えば256の個別のエキスパートにルーティングすることを考慮しなければならないため、システム的な複雑さが生じます。しかし、純粋に計算効率だけを考えると、これは素晴らしい結果です。同じフロップス数でありながら、「無料で」テスト損失が改善されているのです。
この研究の別のグラフでは、トレーニング時間と性能の関係も示されています。トレーニングを長く続けるほど、128エキスパートを持つスイッチベースのモデル、つまりより多くのエキスパートを持つモデルが、より速く良いパープレキシティを達成しています。これも一貫してMoEの優位性を示す証拠です。
Fetisらの論文では、多くのエキスパートを持つことによる7倍もの速度向上が示されています。これは計算効率という観点から見ると、非常に大きな改善です。トレーニングに必要な時間を大幅に削減できるということは、研究開発サイクルの短縮やリソースの効率的な使用につながります。
この2022年の研究は、MoEアーキテクチャが単なる理論的な可能性ではなく、実際のトレーニングシナリオで大きな利点をもたらすことを明確に示しました。同じ計算リソースでより良い性能を達成できるという事実は、限られたコンピューティングリソースで最大の成果を得たいと考える研究者や組織にとって非常に魅力的です。Fetisらの研究は、後続の多くのMoE研究の基礎となり、その後のモデル設計に大きな影響を与えました。
3.2 フロップスを一定にした場合のエキスパート数と性能の関係
橋本教授: Fetisらの2022年の研究で特に興味深いのは、フロップス(計算量)を一定に保ちながらエキスパート数を増加させた場合の性能変化を詳細に分析している点です。彼らの研究は、エキスパート数と言語モデルの性能との間に明確な相関関係があることを示しています。
彼らの論文で提示されているグラフを見ると、トレーニングフロップスを一致させた条件下で(つまり同じ量の計算を使用した場合)、エキスパート数を増やすにつれて言語モデルのトレーニング損失が継続的に減少していることがわかります。これは非常に説得力のある結果です。より多くのエキスパートを導入するほど、トレーニング損失はさらに低下し続けるのです。
重要なのは、この実験設定では計算量が一定に保たれているということです。通常、モデル性能を向上させるためには計算量を増やす必要がありますが、MoEではエキスパート数を増やすだけで、追加の計算コストなしに性能が向上しています。これは計算効率という観点から見ると、非常に大きな利点です。
また、トレーニング時間と性能の関係を示すもう一つのグラフでは、より多くのエキスパート(例えば128エキスパート)を持つスイッチベースのモデルが、より少ないエキスパート数のモデルや密なモデルと比較して、同じトレーニング時間でより良いパープレキシティを達成していることが明確に示されています。つまり、トレーニングを進めるにつれて、エキスパートの多いモデルの優位性がさらに顕著になるのです。
このような結果は、単に理論的な可能性を示すだけでなく、実際のトレーニングシナリオにおいてMoEが持つ具体的な利点を明確に示しています。同じ計算リソースでより優れた性能を達成できるという事実は、特に大規模モデルのトレーニングにおいて重要です。計算リソースは常に制限要因となるため、その効率的な使用は極めて重要です。
Fetisらの研究では、多くのエキスパートを持つことによる7倍もの速度向上が示されています。これは実用的な観点から見ても非常に大きな改善です。同じ性能のモデルを得るためのトレーニング時間を大幅に短縮できることを意味し、研究開発サイクルの加速や資源の効率的な利用につながります。
これらの結果は、MoEアーキテクチャが計算効率と性能のバランスを取る上で優れた選択肢であることを強く示唆しています。エキスパート数を増やすという比較的単純な変更だけで、追加の計算コストなしに性能を向上させることができるのです。この知見は、限られた計算リソースで最大の効果を得たいと考える研究者や組織にとって非常に価値があります。
3.3 AI2のOMO比較研究結果
橋本教授: Fetisらの2022年の研究結果は印象的ですが、これが2022年の論文であることから、現代のアーキテクチャや大規模なモデルでも同様の結果が得られるのかという疑問が生じるかもしれません。この疑問に答えてくれるのがAI2による「OMO」研究です。
OMOは密なアーキテクチャとその他のアーキテクチャを比較するための多くのアブレーション(特定要素の効果を分離するための実験)と厳密に管理された比較を行った非常に優れた研究です。彼らはFetisらと全く同じパターンを観察しています。
Fetisらの研究では、多くのエキスパートを持つことによる7倍の速度向上が示されていました。これに対してOMOの比較結果を見ると、ピンク色の線がMoEモデル、ティール色の線が密なモデルを表しており、密なモデルのトレーニング損失はMoEよりもはるかに遅く減少していることが明確にわかります。
AI2の研究が特に価値があるのは、それが独立した検証を提供している点です。彼らは自分たちの環境、自分たちのモデル実装、自分たちのデータセットを用いて実験を行い、Fetisらが報告したのと同じ基本的な結果を再現しています。これは科学的な観点から非常に重要です。一つの研究チームだけでなく、複数の独立したチームが同様の結果を観察しているということは、その結果の信頼性が高いことを示しています。
OMOの研究ではさらに、様々な設計選択肢の効果を詳細に分析しています。例えば、エキスパートの数、エキスパートのサイズ、共有エキスパートの使用などが性能にどのように影響するかを綿密に調査しています。このような詳細なアブレーション研究は、MoEアーキテクチャの設計空間をより深く理解する上で非常に有用です。
OMOの比較結果は、モダンなアーキテクチャと大規模なデータセットを用いた場合でも、MoEの優位性が依然として維持されることを示しています。これは2022年以降の研究開発環境においても、MoEが計算効率と性能のバランスを取る上で優れた選択肢であり続けていることを意味します。
AI2の研究者たちはまた、トレーニングの安定性や収束性など、MoEの実用的な側面についても調査しています。彼らの結果は、適切に設計されたMoEモデルが密なモデルと同様に安定してトレーニングできること、そして同じ計算予算でより良い性能を達成できることを示しています。
OMO研究の詳細なアブレーションと比較は、MoEアーキテクチャを実装する際の具体的な設計判断に役立つ貴重な情報を提供しています。これらの知見は、研究コミュニティ全体にとって価値があり、MoEの普及と発展に大きく貢献しています。
3.4 DeepSeek V2のパラメータ効率性
橋本教授: 多くの企業が本当に気に入っている理由の一つが、DeepSeek V2のような説得力のあるグラフを提示できることです。DeepSeekの論文から非常に興味深いグラフを見てみましょう。
このグラフではX軸が「活性化されたパラメータ」を表しています。これは少しマジックのようなトリックが使われていて、実際に計算に使用されるパラメータのみを計上しています。つまり、非活性化のエキスパートは無視されています。Y軸はMMLL(多言語多タスク学習)の性能を示しています。
グラフでDeepSeek V2を見ると、活性化パラメータが非常に少ないにもかかわらず、MMLL性能が非常に優れていることがわかります。このようなグラフは、トレーニングとインファレンスの両方のフロップスを重視する場合、活性化パラメータが重要な指標であることを示しています。このアプローチで驚くほど良い性能が得られるのです。
ここで強調したいのは、これが単なるアブレーション実験ではなく、実際に誰かが多額の費用をかけてトレーニングし、実際に世界に展開した実システムだということです。これは、MoEアーキテクチャの理論的な可能性だけでなく、実際の商用展開における成功を示す重要な例です。
DeepSeek V2のケースでは、モデル全体では膨大なパラメータ数(236億)を持ちながら、実際に活性化されるパラメータは21億程度です。これにより、メモリ要件は大きくなりますが、インファレンス時のフロップス消費はそれほど多くありません。このアプローチにより、大規模なモデルの能力を保持しながら、計算効率を大幅に改善することができます。
DeepSeek V2は、MoEアーキテクチャの主な利点を明確に示しています。それは、活性化パラメータを少なく保ちながら、大規模なパラメータプールから選択的に活性化することで、計算効率と性能のバランスを最適化できるということです。このようなアプローチは、特に推論時の効率性が重要な実用的な展開において非常に価値があります。
DeepSeek V2の成功は、MoEが単なる研究上のアイデアではなく、実際の商用モデルにおいても大きな価値を提供できることを示しています。彼らのパラメータ効率性に関するデータは、MoE設計の実践的な利点を裏付ける強力な証拠となっています。これは今後のモデル開発において、MoEが標準的なアプローチになっていく可能性を示唆しています。
このような実世界の成功例を通じて、理論的な研究成果が実際のシステムに変換され、具体的な価値を生み出していることがわかります。DeepSeek V2の例は、MoEアーキテクチャが大規模言語モデルの未来において中心的な役割を果たす可能性があることを示す重要な事例です。
4. MoEによるパラレリズムの拡張
4.1 エキスパートパラレリズムの概念
橋本教授: MoEアーキテクチャのもう一つの大きな利点は、新たな並列処理の軸を提供することです。この並列処理の側面については、システムについての講義でより詳細に取り上げる予定です。その講義では、モデルを多くの小さなピースに分割し、それらを多数のデバイスに分散配置する方法について説明します。
しかし、現時点で高レベルの概要を説明しましょう。MoEには「エキスパート並列性」と呼ばれる自然な並列化方法があります。エキスパート並列性は、複数のフィードフォワードブロックが存在するという特性を活用します。これらのエキスパートをそれぞれ異なるデバイス上に配置することができるのです。
この並列化の美しさは、エキスパートがスパースに活性化されるという性質にあります。トークンを処理する際、そのトークンを適切なデバイスにルーティングするだけで、そのデバイス上で計算が行われます。つまり、すべてのトークンがすべてのデバイスを通過する必要はないのです。これは、モデルを異なるデバイスに分割するための非常に自然な切断点を提供します。
このエキスパート並列性は、特に大規模なモデルを効率的に並列化したい場合に非常に価値があります。例えば、256個のエキスパートを持つモデルがあり、それぞれのエキスパートを別々のGPUに配置できるとすると、各トークンは通常1つまたは少数のエキスパート(たとえばTop-2選択)だけを使用するため、ほとんどのGPUはそのトークンの処理に関与しません。これにより、GPU間の通信を最小限に抑えながら、モデルを効率的に分散させることができます。
従来のモデル並列化では、各層を複数のデバイスに分割する必要があり、デバイス間で大量のデータを転送する必要がありました。一方、エキスパート並列性では、トークンは必要なエキスパートがあるデバイスにのみ送られるため、通信オーバーヘッドが大幅に削減されます。
この特性は、MoEが大規模モデルのトレーニングと推論において非常に魅力的な選択肢となっている主な理由の一つです。エキスパート並列性を活用することで、何千億というパラメータを持つ巨大なモデルでも効率的に分散させることができます。
さらに、エキスパート並列性は他の並列化技術と組み合わせることができます。データ並列性、モデル並列性、そしてエキスパート並列性を組み合わせることで、利用可能なハードウェアリソースを最大限に活用する柔軟なスケーリング戦略を構築できます。これにより、通信速度、データ量、バッチサイズ、エキスパート数、メモリ容量などのすべてのリソースを適切にバランスさせることができます。
このように、エキスパート並列性はMoEアーキテクチャの重要な利点であり、大規模モデルのスケーリングにおける新たな可能性を開きます。システム講義ではこの概念をさらに深く掘り下げる予定ですが、現時点でもエキスパート並列性がMoEの魅力的な特性の一つであることは理解いただけたと思います。
4.2 中国と西洋におけるMoE研究の発展
橋本教授: MoEアーキテクチャの発展において興味深い側面の一つは、中国と西洋における研究開発の軌跡の違いです。この手法は当初、Googleや他のフロンティア研究所、クローズドな研究所で開発されましたが、オープンな成果という観点では、実際には中国の研究グループからの貢献が顕著でした。
特に注目すべきは、QuenとDeepSeekが昨年(2024年)行った多くの先駆的な研究です。一方、西洋のオープンソースグループがMoE研究に本格的に取り組み始めたのは比較的最近のことです。Mixtral、Grock(Grockはオープンソースではありませんが)、そして最近ではLlama 4も、MoEアーキテクチャを採用するようになりました。
Quen 1.5は、私が知る限りでは、大規模でよくテストされ、十分に文書化されたMoEモデルの最初の一つでした。彼らは非常に斬新なアプローチを取り、Quen 1.5の密なモデルをMoEにアップサイクル(変換)する巧妙な手法を開発しました。これは既存の密なモデルを取り、それをMoEに変換する革新的な方法です。彼らはこの手法により、7Bモデルと比較して計算効率の面で大幅な改善を示しつつ、総パラメータ数を削減することに成功しました。
一方、DeepSeekも現在は広く知られていますが、これらの論文が最初に発表された時点ではそれほど有名ではありませんでした。彼らはオープンソースの世界で本当に基礎的な研究を行いました。DeepSeekの最初の論文では、特定のフロップス量で密なモデルを訓練した場合と、単純なルーティングを使用したMoEモデル、そしてより洗練されたルーティング手法を使用した場合の詳細な比較が提示されています。これらの注意深く管理された比較によって、密からスパースに移行するにつれて(左端の列から右端の列に移動すると)、ベンチマークの指標が一貫して向上することが示されました。
興味深いことに、現在広く知られているDeepSeek V3の技術的基盤は、彼らがまだ小規模な20億パラメータモデルを訓練していた初期の段階ですでに確立されていました。アーキテクチャ的には、DeepSeek V3は初期のバージョンと大きく異なるわけではありません。彼らが行ったのは、そのアーキテクチャを大規模に適用し、エンジニアリングを正しく行うことで、実際に非常に優れたモデルを作り上げることでした。
西洋では、Meta AIによるMixtralの発表や、最近のLlama 4のリリースなど、MoEへの取り組みが活発化しています。しかし、中国の研究グループが先行して積み重ねてきた実践的な知見が、現在のMoE設計に大きな影響を与えていることは注目に値します。
この発展パターンは、AI研究の国際的な性質と、異なる地域のグループが独自の方法で貢献できることを示しています。中国の研究グループによる初期の実験と実装、そして西洋のグループによる最近の採用と拡張は、グローバルなAI研究コミュニティ全体の進歩に貢献しています。異なるアプローチと視点がMoEアーキテクチャの発展と成熟に役立っているのです。
4.3 Quen 1.5とDeepSeekの先駆的役割
橋本教授: オープンソースの世界におけるMoEの発展において、QuenとDeepSeekの中国企業は特に先駆的な役割を果たしました。これらの企業が行った研究と実装は、単に学術的な貢献にとどまらず、実用的なMoEモデルの設計と展開において重要な道標となりました。
Quen 1.5は、大規模でよくテストされ、十分に文書化されたMoEモデルの最初の一つでした。彼らの革新的なアプローチの一つは、既存の密なモデルをMoEモデルに変換する「アップサイクリング」手法の開発です。この技術は非常に画期的で、すでにトレーニングされた密なモデルの知識を活用しながら、MoEアーキテクチャの効率性を取り入れることを可能にしました。
Quenのアプローチでは、7Bモデルと比較して計算効率を大幅に向上させつつ、総パラメータ数を削減することに成功しました。これは、計算効率とパラメータ効率のバランスを取るという観点から非常に重要な成果です。彼らの研究は、MoEモデルが理論的な可能性を超えて、実際のシステムで実用的な価値を提供できることを示しました。
一方、DeepSeekの貢献も非常に重要です。DeepSeekは現在は広く知られていますが、彼らのMoE関連の論文が最初に発表された時点ではそれほど有名ではありませんでした。彼らはオープンソースの世界でMoEの基礎的な研究を徹底的に行いました。私の講義の大部分は、実際にDeepSeek MoEアーキテクチャの進化を追跡することになるでしょう。
DeepSeekの初期の論文では、特定のフロップス量で密なモデルを訓練した場合と、単純なルーティングを使用したMoEモデル、そしてより洗練された「スイッチ」と呼ばれるルーティング手法を使用した場合の詳細な比較が提示されています。これらの注意深く管理された比較によって、密からスパースに移行するにつれて(左端の列から右端の列に移動すると)、ベンチマークの指標が一貫して向上することが明確に示されました。これらの結果は、MoEアーキテクチャの基本的な有効性を確立する上で非常に重要でした。
特に注目すべきは、DeepSeek V3を含む現在のDeepSeekモデルのアーキテクチャ的基盤が、彼らが比較的小規模な20億パラメータモデルを訓練していた初期の段階ですでに確立されていたという点です。DeepSeek V3は、彼らの初期のモデルとアーキテクチャ的にはそれほど違いがありません。彼らがV3で成功したのは、そのアーキテクチャを大規模に適用し、エンジニアリングを正しく行うことで、実際に非常に優れたモデルを作り上げたからです。
QuenとDeepSeekの両社が行った徹底的なアブレーション研究、詳細な性能比較、そして実装の洗練は、MoEの実用的な設計空間を理解し、最適化する上で非常に価値のある情報を提供しました。彼らのオープンな研究発表は、他の研究者やエンジニアがMoEアーキテクチャを自分たちのモデルに採用する際の道筋を示しました。
これらの企業の先駆的な役割は、AI研究における国際的な協力と競争の重要性を示しています。彼らの成果は、後に西洋のオープンソースコミュニティにも採用され、Mixtral、そして最近ではLlama 4などのモデルにMoEアーキテクチャが取り入れられるようになりました。このような知識の流れと技術の進化は、グローバルなAI研究エコシステムにとって非常に有益です。
5. MoEの課題と複雑性
5.1 インフラストラクチャの複雑さ
橋本教授: ここまでMoEの利点について多くを語ってきましたが、なぜMoEがもっと広く普及していないのか、なぜそれが標準的なNLPや言語モデリングのクラスで教えられていないのかという疑問があるかもしれません。その理由は、MoEが非常に複雑で扱いにくいからです。今後数年でシンプル化されることを期待していますが、現時点ではかなり厄介なままです。
MoEの最大の課題の一つはインフラストラクチャの複雑さです。MoEの最大の利点は、マルチノードトレーニング、つまりモデルを複数のデバイスに分割する必要がある場合に本当に発揮されます。その段階になると、エキスパートを異なるモデル(デバイス)に分散することが理にかなっています。これは非常に自然なことですが、その段階に達するまでは、MoEは従来のアーキテクチャほど優れていない可能性があります。
初期のGoogleの論文では、このトレードオフについて詳しく説明されています。彼らは、分割する必要がある非常に大きなモデルに到達した場合、エキスパート並列性が特に有効になると主張しています。しかし、そこに至るまでの道のりは容易ではありません。
MoEの実装において、インフラストラクチャの複雑さは様々な形で現れます:
- エキスパートの分散配置:各エキスパートを異なるデバイスに配置する場合、デバイス間の通信を効率的に管理する必要があります。トークンが適切なエキスパートに到達し、結果が適切に集約されるようにする必要があります。
- ロードバランシング:一部のエキスパートが他のエキスパートよりも多くのトークンを受け取る場合、デバイスの利用率が不均衡になる可能性があります。これは、一部のデバイスが過負荷になり、他のデバイスがアイドル状態になることを意味します。
- トークンのドロッピング:あまりにも多くのトークンが特定のエキスパートに割り当てられた場合、一部のトークンはドロップされる可能性があります。これはトレーニング中に発生する可能性があり、結果の品質に影響する可能性があります。
- 複雑な通信パターン:トークンをエキスパートに送信し、結果を集約するには、複雑な集合通信操作(all-to-allなど)が必要です。これらを効率的に実装するには、深い分散システムの知識が必要です。
これらの課題は、特に大規模なクラスタでMoEモデルをトレーニングする場合に顕著になります。しかし、フィードフォワード計算が十分に大きく重いものであれば、エキスパート並列性のコストを相殺することができます。
つまり、MoEは小規模なモデルや限られたコンピューティングリソースを持つ環境では必ずしも最適な選択ではないかもしれませんが、大規模なモデルと多くのコンピューティングリソースを持つ環境では非常に強力になります。これが、GoogleやDeepSeekなどの大規模なリソースを持つ組織がMoEの採用に先駆けた理由の一つです。
インフラストラクチャの複雑さは実際の障壁ですが、計算効率の大幅な向上と引き換えに克服する価値のあるものです。MoEをより簡単に実装できるようにするフレームワークやツールが開発されるにつれて、この技術はより広く採用されるようになるでしょう。
5.2 非微分可能なルーティング決定の最適化問題
橋本教授: MoEにおけるもう一つの重要な課題は、トークンをどのエキスパートにルーティングするかという決定が本質的に非微分可能であるという点です。この問題は見過ごされがちですが、MoEの効果的な訓練において中心的な課題となります。
深層学習では、微分可能な目的関数、つまり勾配を取ることができる非常に滑らかな関数を好みます。しかし、ルーティング決定は微分可能ではありません。なぜなら、特定のエキスパートを選択し、その選択にコミットする必要があるからです。エキスパートを選ぶという離散的な選択は、連続的な勾配を持ちません。
これがどれほど難しい問題かを考えてみましょう。通常のニューラルネットワークでは、すべてのパラメータに対して勾配を計算し、その勾配に基づいてパラメータを更新します。しかし、MoEでは、どのエキスパートが特定のトークンに最適かを決定するルーターがあります。このルーターも学習する必要がありますが、その決定の結果(どのエキスパートが選択されたか)は離散的であり、勾配を逆伝播させることができません。
つまり、「このエキスパートではなく別のエキスパートを選ぶべきだった」という情報を、どのようにルーターに伝えれば良いのでしょうか?これは非常に難しい最適化問題です。
この問題に対処するために、いくつかのアプローチが提案されています:
- 強化学習(RL):離散的な決定を学習するためにRLを使用する方法です。しかし、これは複雑で計算コストが高く、不安定になる可能性があります。
- 確率的近似:ルーティング決定にノイズを加えることで、探索を促進する方法です。しかし、これはエキスパートの専門性を低下させる可能性があります。
- ヒューリスティックな損失関数:エキスパート間でトークンをバランス良く分配することを奨励する特別な損失関数を追加する方法です。
後の講義で詳しく説明しますが、実際のところ、ほとんどの現代的なMoE実装はトップKトークン選択と、何らかのヒューリスティックなバランシング損失を使用しています。これは完全に原理的なアプローチではありませんが、実際には十分に機能しているようです。
しかし、この非微分可能性の問題は依然としてMoEの安定性と性能に影響を与えています。たとえば、ファインチューニング中にMoEモデルが突然崩壊することがあるのはこのためです。また、一部のエキスパートが「死んでしまう」(ほとんどのトークンが他のエキスパートにルーティングされ、特定のエキスパートがほとんど使われなくなる)現象も、この問題に関連しています。
非微分可能なルーティング決定の問題は、MoEを標準的な深層学習のクラスで教えることを難しくしている主な理由の一つです。それは、微分可能性と連続的な最適化に大きく依存している分野に、根本的な不連続性をもたらすからです。しかし、この課題にもかかわらず、現実的な実装ではMoEが非常に効果的であることが証明されています。完璧な解決策はまだありませんが、実用的な妥協点が見つかっています。
我々が望むのは、ルーティング決定を改善するための、より原理的で安定したアプローチの開発です。これにより、MoEモデルのトレーニングとデプロイメントが簡素化され、この強力な技術がより広く採用されるようになるでしょう。
5.3 トレーニングの不安定性
橋本教授: MoEモデルのもう一つの重要な課題は、トレーニングの不安定性です。これはMoEの実装を困難にしている主要な要因の一つです。
MoEのトレーニングの不安定性はいくつかの要因から生じています。まず第一に、先ほど説明した非微分可能なルーティング決定の問題があります。ルーターはトークンをどのエキスパートに送るべきかを決定し、この決定は離散的であるため、勾配ベースの学習が難しくなります。この離散性が、トレーニング中のモデルの振る舞いを予測しにくくし、時には不安定にします。
もう一つの要因は、エキスパートの不均衡利用です。トレーニング中、一部のエキスパートが他のエキスパートよりも頻繁に選択されると、「エキスパートの崩壊」と呼ばれる現象が発生する可能性があります。これは、少数のエキスパートがほとんどのトークンを処理し、他のエキスパートが「死んで」しまう状態です。これはモデルの容量を効果的に減少させ、性能を低下させる可能性があります。
さらに、MoEモデルを微調整する際に特有の問題があります。明日MoEモデルの訓練を始めようとするとしたら、システム面で少し苦労するかもしれませんが、安定性の面でも問題が生じる可能性があります。MoEモデルは微調整が非常に難しく、時には突然崩壊することもあります。
BarrettらやDeepSeekの研究者たちはMoEのトレーニングを安定化させるための研究を行いました。Barrettらの論文はMoEの訓練を安定化させることに特化しており、いくつかの重要な技術を提案しています。
安定化のための主要な技術の一つは、ルーターのソフトマックス計算をすべてfloat32精度で行うことです。これは前回の講義で話した安定性の問題に関連しています。ソフトマックスは常に注意が必要な操作です。MoEのルーター計算では、数値的な安定性を確保するためにfloat32精度を使用します。
また、Z-lossと呼ばれる補助的な損失関数を追加することもあります。これは前回の講義でも触れましたが、ソフトマックスの正規化項(指数関数の和の対数)を二乗し、それを追加の損失として加えるものです。これにより、正規化値が1に近くなり、数値的な安定性が向上します。Z-lossはMoEのトレーニングでも使用され、その後より一般的になりました。
このような安定化技術の効果は明らかです。Barrett論文のグラフを見ると、ルーターからZ-lossを除去すると、検証損失に大きなスパイクが発生し、モデルが一時的に不安定になることがわかります。モデルは最終的に回復しますが、Z-lossを使用した場合と比較すると、最終的な検証損失にも明確な差があります。
また、MoEモデルのファインチューニングも問題となります。過学習が発生しやすいのです。BERTやT5の時代に行われた初期の研究では、MoEモデルでトレーニングと検証の間に大きなギャップがあることが示されました。特に密なモデルと比較すると、MoEモデルは過学習しやすい傾向がありました。
この過学習問題に対する一つの解決策は、すべての層をMoE層にするのではなく、密な層とMoE層を交互に配置するアーキテクチャを設計することです。そうすれば、密な層だけをファインチューニングすることができ、密なモデルと同様の振る舞いを示します。ただし、この方法は現在あまり一般的ではありません。
DeepSeekなどの企業は、単純に大量のデータを使用するという別のアプローチを採用しています。過学習が問題であれば、多くのSFT(教師付きファインチューニング)データを投入すれば良いのです。DeepSeekの場合、140万のトレーニング例を使用しており、これにより過学習の懸念が軽減されています。
これらの安定化技術とデータ量の増加により、MoEモデルのトレーニングは以前よりも管理しやすくなりましたが、密なモデルと比較するとまだ複雑さと不安定性が残っています。これらの課題は、MoEが広く採用される前に克服する必要があるものですが、その潜在的な利点を考えると、これらの課題に取り組む価値は十分にあります。
6. ルーティングメカニズム
6.1 トークン選択 vs エキスパート選択 vs グローバル割り当て
橋本教授: MoEの核心部分であるルーティングメカニズムについて詳しく見ていきましょう。ルーティングとは、入力トークンをどのエキスパートに割り当てるかを決定するプロセスです。MoEでは、すべてのエキスパートがすべてのトークンを処理するわけではなく、各トークンは一部のエキスパートのみによって処理されます。これがスパース活性化の本質です。
ルーティングの決定をどのように行うかについて、主に3つの異なるアプローチがあります:
- トークン選択(Token Choice):各トークンが異なるエキスパートに対する「選好」あるいはルーティングの優先順位を持ち、各トークンについて上位K個のエキスパートを選択します。例えば、トークンがすべてのエキスパートに対してスコアを計算し、最も高いスコアを持つK個のエキスパートを選びます。この方法は直感的で、各トークンが最も適したエキスパートによって処理されることを保証します。
- エキスパート選択(Expert Choice):各エキスパートがトークンに対する順位付けされた選好を持ち、各エキスパートについて上位K個のトークンを選択します。この方法の大きな利点は、エキスパート間で自然にバランスが取れることです。各エキスパートが正確に同じ数のトークンを処理するため、デバイスの利用率が均等になります。
- グローバル割り当て(Global Assignment):エキスパートとトークン間のマッピングが何らかの形でバランスが取れるように、複雑な最適化問題を解決する方法です。これには線形割り当て問題や最適輸送問題などが含まれます。このアプローチは理論的には最も洗練されていますが、計算コストが高くなる傾向があります。
実際のところ、ほとんどの現代的なMoE実装はトークン選択のTop-K方式を採用しています。これは、MoEの初期には様々なルーティング手法が試みられましたが、大規模なリリースを見ると、基本的に一つのクラスのルーティングメカニズム(トークン選択Top-K)に収束していることを意味します。
OMOの研究では、トークン選択ルーティングとエキスパート選択ルーティングを比較するアブレーション実験が行われました。結果として、トークン選択の方がバリデーション損失において、はるかに良い振る舞いを示し、損失の減少も速いことが示されました。
トークン選択が広く採用されている理由は、その直感的な理解のしやすさと実装の容易さにあります。各トークンが利用可能なエキスパートの中から「最適な」選択を行うという考え方は、自然に理解できます。また、トークン選択はトークンベースの処理に自然に適合し、各トークンが独立して最適なエキスパートを選択できます。
一方、エキスパート選択の主な利点は負荷分散です。各エキスパートが同じ数のトークンを処理するため、計算リソースの使用が均等になります。これは特に並列処理環境で価値があります。エキスパートを異なるデバイスに配置する場合、すべてのデバイスが同様に使用されることを保証するからです。
グローバル割り当てアプローチは理論的には最も優れていますが、実装コストが高く、大規模なモデルでは実用的ではない場合があります。いくつかの研究論文でこのアプローチの探索が行われていますが、現時点での標準的な実装ではあまり採用されていません。
まとめると、トークン選択、特にTop-K方式は、その直感的な理解のしやすさ、実装の容易さ、そして実際のパフォーマンスの良さから、現代のMoEアーキテクチャにおいて主流のルーティングメカニズムとなっています。次のセクションでは、このTop-K手法の詳細と実装について掘り下げていきます。
6.2 トークン選択におけるTop-K手法の普及
橋本教授: ルーティングメカニズムの設計空間を探索した結果、トークン選択のTop-K手法がほぼすべてのMoE実装で採用されるようになりました。この普及の背景と詳細を見ていきましょう。
MoEの初期には、様々なルーティング手法が試みられました。ルータートークンの設計空間のスペクトル全体にわたる多くの異なる方法が検討されましたが、主要なリリースを見ると、それらはほぼ例外なくトークン選択のTop-K手法に収束しています。この手法では、各トークンがすべてのエキスパートに対してスコアを計算し、最も高いスコアを持つK個のエキスパートを選択します。
トークン選択Top-K手法は、Switch Transformer、GShard、Grock、Mixtral、DBRx、DeepSeekの全バージョンなど、多くの主要なMoE論文やモデルで採用されています。これらの異なる実装間には細かな違いはあるものの、基本的なアプローチは同じです。
実際のルーティング処理は次のように機能します:まず、トークンの隠れ状態(hidden state)が入力としてルーターに渡されます。ルーターはこの入力に対して、アテンション操作に似た計算を行います。具体的には、線形内積(linear inner product)を計算し、ソフトマックス関数を適用して、各エキスパートに対する「選好スコア」を生成します。次に、これらのスコアの中から最も高いK個のスコアを持つエキスパートが選択されます。選択されたエキスパートの出力は、これらのルータースコアによって重み付けされることもあります。
Top-K手法の人気の理由は複数あります:
- シンプルさ: この手法は概念的にシンプルで、実装も比較的容易です。
- 計算効率: 各トークンは少数のエキスパートだけを活性化するため、計算効率が高いです。
- 直感的な解釈: 各トークンが最も「適合した」エキスパートを選ぶという考え方は直感的に理解しやすいです。
- 経験的な成功: 多くの研究でこの手法が良好なパフォーマンスを示しています。
実装の詳細に関しては、初期のMoE論文で探索された様々なバリエーションの中で、より高度なルーティング手法も試みられました。例えば、ハッシュベースのルーティングや強化学習(RL)を使用したルーティング、線形割り当て問題を解く方法などです。
興味深いことに、単純なハッシュベースのルーティング(トークンの意味的内容ではなく、単純なハッシュ関数に基づいてルーティング)でも、MoEの利点は依然として得られるという研究結果があります。これは非常に驚くべきことで、ルーターが完全にランダムであっても、MoEアーキテクチャの基本的な利点は保持されることを示唆しています。
強化学習(RL)を使用したルーティングは、初期のMoE研究で試みられました。離散的な決定を学習するためにRLを使用するというアイデアは理論的には優れていますが、計算コストが高く、安定性の問題もあり、現在ではほとんど使用されていません。
線形割り当て問題や最適輸送スタイルの問題を解く方法も研究されています。これらは理論的には洗練されていますが、得られる利益に比べて計算コストが高すぎるため、広く採用されてはいません。
最終的に、ほとんどの実装はシンプルなTop-K手法に落ち着きました。これは、その簡潔さ、効率性、そして実際の性能の良さからです。次のセクションでは、このTop-K手法がどのように具体的に実装されるかをより詳細に見ていきます。
6.3 ルーティングの数学的表現と実装
橋本教授: それでは、Top-Kルーティングがどのように実際に実装されるか、その数学的表現と詳細を見ていきましょう。これはDeepSeek V1からV2、Quen、Grockなどで使用されている標準的なTop-Kルーティングの実装です。DeepSeek V3、Mixtral、DBRXなども非常に似たアプローチを採用していますが、細部に若干の違いがあります。
基本的なルーティング処理のステップを説明します。まず、入力として、隠れ層の状態ベクトル(residual stream input)があります。これをUと表記します。このUを使用して、どのエキスパートを活性化するかを決定する必要があります。
その決定方法は以下の通りです:
- Uを受け取り、各エキスパートの特徴ベクトルE_iとの内積を計算します。これは、各エキスパートと入力の「親和性」を計算するステップです。数式で表すと: S_i(t) = U・E_i
- これらのスコアをソフトマックス関数に通して正規化します: S(t) = softmax(U・E_i)
- S(t)に対してTop-K関数を適用し、最も高いK個のスコアだけを選択します。その他はゼロにします。これがゲートの値G(t)になります。
- 各エキスパートの出力に、このゲートの値を掛け合わせて重み付けします。つまり、選択されたK個のエキスパートの出力の重み付き平均を計算します。
- この結果を元の入力(residual stream)に加算して返します。これは、トランスフォーマーブロックの残差接続を維持するためです。
この処理の唯一の特殊な部分は、Top-K選択の操作です。これによって、K個の最高スコアを持つエキスパートだけが活性化され、他のすべてのスコアはゼロになります。この離散的な選択が、MoEのスパース性を実現する鍵となります。
このルーティング処理の数学的表現を見て疑問に思うかもしれないのは、ソフトマックスとTop-Kの組み合わせです。ソフトマックスは通常、単一の最大値へのプッシュを促す関数です。それをTop-Kと組み合わせるのは直感に反するように見えます。しかし、ここでのソフトマックスの主な目的は、スコアを正規化して合計が1になるようにすることです。これにより、エキスパート出力の加重平均が適切に計算されます。
実際、一部のMoE実装では、Top-K選択後の値を再正規化する方法も採用しています。しかし、これは必須ではありません。なぜなら、スケールは後続の層で調整できるからです。
興味深いことに、Kの値はハイパーパラメータであり、異なるMoE実装では異なる値が選択されています。初期のMoE論文では、Kは2以上であるべきだと主張されていました。なぜなら、K=1だと常に「最良」のアームだけを選択し、他の可能性を探索できないからです。K=2であれば、2番目のアームが探索情報を提供できます。K=2は現在も非常に一般的な選択ですが、これはフロップス(計算量)を2倍にすることに注意してください。
このTop-Kルーティングに基づいた実装は、DeepSeek、Quen、Mixtral、DBRx、Grockなど、ほぼすべての現代的なMoEモデルで採用されています。細部に違いはあっても、基本的な構造は同じです。例えば、DeepSeek V3では、ソフトマックスの位置を変更し、シグモイド関数を使用するなどの微調整が行われていますが、概念的には同じTop-Kルーティングを採用しています。
実際のコードでは、このルーティング処理は通常、効率的な行列演算として実装されます。特に大規模なモデルでは、このルーティング操作の効率が重要です。なぜなら、トレーニング中に何兆回も実行されるからです。
このように、Top-Kルーティングはシンプルながらも効果的なメカニズムであり、MoEモデルの中核を形成しています。その直感的な理解のしやすさと実装の容易さが、広範な採用につながっています。
7. エキスパートの設計
7.1 エキスパート数とサイズの検討
橋本教授: MoEアーキテクチャを設計する際の重要な決定の一つは、エキスパートの数とそれぞれのサイズをどうするかという点です。これらの選択は、モデルの計算効率、性能、そしてパラメータ効率に大きな影響を与えます。
基本的な考え方としては、エキスパートの数を増やすほど、モデルの表現能力は向上します。Fetisらの2022年の研究では、エキスパートの数を増やすにつれて、言語モデルのトレーニング損失が継続的に減少することが示されています。これは直感的にも理解できます。より多くのエキスパートがあれば、より多様なパターンや知識を捕捉できるからです。
しかし、エキスパートの数を増やすことにはトレードオフがあります。より多くのエキスパートを持つということは、より多くのパラメータを保存するためのメモリが必要になることを意味します。また、エキスパートを異なるデバイスに分散させる場合、デバイス間の通信やロードバランスなど、システム面での複雑さも増加します。
エキスパートのサイズについても、重要な設計上の検討事項があります。最初期のMoE実装では、各エキスパートは通常のフィードフォワードネットワーク(FFN)と同じサイズでした。例えば、標準的なトランスフォーマーモデルでFFNの隠れ層のサイズがdの4倍である場合、MoEモデルでも各エキスパートの隠れ層のサイズはdの4倍でした。
しかし、近年の研究、特にDeepSeekやOMOなどの研究では、「細分化エキスパート(fine-grained experts)」という考え方が導入されています。これは、各エキスパートを小さくし、その代わりにより多くのエキスパートを持つという戦略です。例えば、標準的なFFNの隠れ層がdの4倍のサイズである代わりに、各エキスパートの隠れ層をdの2倍や1倍にサイズダウンし、その代わりにエキスパートの数を2倍や4倍に増やすというアプローチです。
このアプローチの利点は、同じパラメータ総数でより多くのエキスパートを持つことができる点です。これにより、モデルの表現能力を維持しながら、より多様なパターンを捕捉するためのエキスパートのセットを増やすことができます。
実際の実装では、エキスパート数とサイズのバランスをどう取るかについて、様々なアプローチが採用されています。例えば:
- Google初期のGShard、Switch Transformerなどは、多数のルーティングエキスパート(数十から数百)を採用していました。
- Mixtral、DBRx、Grockなどは、8-16個のエキスパートで、各エキスパートにつき2つを活性化するアプローチを採用しています。
- DeepSeek V1は、64個の細分化エキスパートと2つの共有エキスパートを持ち、各トークンにつき6つを活性化するというパターンを導入しました。この場合、各細分化エキスパートは標準サイズの1/4程度です。
- Quen 1.5、DeepSeek V3などは類似のパターンを採用していますが、エキスパートの具体的な数とサイズに違いがあります。
- 最近のLlama 4も細分化エキスパートを採用していますが、エキスパートの比率は他のモデルとは異なります。
実際の選択は、利用可能な計算リソース、必要なモデルの性能、デプロイメントの制約など、多くの要因によって左右されます。一般的に、より大きなモデル(例えばDeepSeek V3やLlama 4)では、より多くのエキスパートを採用する傾向があります。これは、大規模モデルではパラレリズムの恩恵をより受けやすいためです。
エキスパートの数とサイズの選択は、理論的な考慮だけでなく、実際のトレーニングとデプロイメントの経験に基づいて行われることが多いです。各組織は自分たちの特定のニーズとリソースに合わせて、これらのパラメータを調整しています。
7.2 共有エキスパートと細分化エキスパートの概念
橋本教授: DeepSeekやQuenなどの中国のAI企業によって導入された革新的なアイデアの一つが、「共有エキスパート」と「細分化エキスパート」の組み合わせです。これらの概念は、MoEアーキテクチャの性能と効率性を大幅に向上させました。
まず、標準的なMoEアーキテクチャを考えてみましょう。最初期の単純な実装では、密なアーキテクチャのフィードフォワードネットワーク(FFN)を複数のエキスパートに複製するというものでした。例えばTop-2ルーティングを使用する場合、元の密なモデルの2倍のパラメータが活性化されることになります。これを「バニラMoE」や基本的なMoEと考えることができます。
しかし、研究者たちはすぐに「より多くのエキスパートは良い」ということに気づきました。そこで次の論理的なステップは、「より多くのエキスパートを持ちたいが、そのためのパラメータコストを払いたくない」というものでした。
そこでDeepSeekが提案したのが「細分化エキスパート(fine-grained experts)」という革新的なアイデアです。これは、各エキスパートを小さな断片に分割するというものです。前回の講義で説明したように、標準的なルールでは、隠れ層のサイズを4倍に拡大し、それをプロジェクション層とするものです。しかし、細分化エキスパートでは、この倍率を例えば2倍に減らします。これにより、行列が小さくなり、より多くの細分化エキスパートを持つことができます。同様の論理をさらに極端に適用することも可能で、例えば倍率を1/4や1/8にして、エキスパートの数をさらに増やすこともできます。
この細分化エキスパートのアプローチには、いくつかの利点があります:
- 同じパラメータ数でより多くのエキスパートを持つことができる
- より多様なパターンを捕捉できる
- エキスパートの専門化が促進される
しかし、これにはトレードオフもあります。エキスパートを小さくすると、各エキスパートの表現能力が低下する可能性があります。また、多数のエキスパートを持つと、ルーティングの複雑さとシステム負荷が増加します。
もう一つの重要な概念が「共有エキスパート(shared experts)」です。研究者たちは、トークンの種類に関係なく常に必要な共通の処理がある可能性があることに気づきました。例えば、基本的な構文解析や一般的な言語パターンの処理などです。そのような場合、すべてのルーティング作業と専門的なパラメータを分散させるのは無駄です。代わりに、一つまたは少数の「共有エキスパート」を持ち、これらが共通の処理を担当するという方法が効率的です。
このように、共有エキスパートと細分化エキスパートの組み合わせという設定は、元々DeepSeekによって提案され、その後Quenやその他の企業によっても採用されました。DeepSeek V1以降のほぼすべてのリリースは、これらのイノベーション、特に細分化エキスパートを採用しています。これは、細分化エキスパートが本当に効果的だからです。
DeepSeekの論文には、これらの手法の有効性を示すアブレーション実験が含まれています。彼らのグラフによると、基本的なMoE(G-Shard)と比較して、共有エキスパートを追加すると一部のタスクで大幅な改善が見られます。さらに、細分化エキスパートを追加すると、さらなる改善が見られます。これらの改良を組み合わせると、元のMoEと比較して大きな性能向上が得られます。
これらの概念、特に細分化エキスパートは、現代のMoEアーキテクチャの標準的な一部となっています。DeepSeek、Quen、Mixtral、OMO、そして最近のLlama 4など、ほぼすべての主要なMoEモデルが細分化エキスパートを採用しており、多くは共有エキスパートも使用しています。これらのアイデアは、MoEアーキテクチャの実用的な実装における効率性と有効性を大幅に向上させました。
7.3 DeepSeekとOMOによる実証研究
橋本教授: 共有エキスパートと細分化エキスパートの概念がMoEアーキテクチャにどのような影響を与えるかを理解するために、DeepSeekとOMOによる詳細な実証研究を見てみましょう。これらの研究は、MoEの設計選択の効果を体系的に評価しており、非常に価値のある知見を提供しています。
DeepSeekの論文では、異なるMoE構成の効果を示す詳細なアブレーション研究が含まれています。彼らは、基本的なMoE実装(G-Shard)、共有エキスパートを追加したバージョン、そして細分化エキスパートを追加したバージョンを比較しています。結果は非常に説得力があります。
青色のバーはG-Shardという基本的なMoE実装を表しています。オレンジ色のバーは1つの共有エキスパートを追加した場合を示しており、一部のタスクでは大幅な改善が見られる一方、他のタスクではあまり影響がないことがわかります。緑色と紫色のバーは細分化エキスパートを導入した場合を示しており、さらなる改善が見られます。青色(基本的なMoE)とオレンジ色(すべての改良を組み合わせたもの)を比較すると、これらの違いを組み合わせることで大きな性能向上が得られることがわかります。
一方、OMOの研究もDeepSeekの結果を裏付けるような証拠を提供していますが、いくつかの興味深い違いもあります。OMOの研究では、下部のグラフが特に決定的であり、細分化エキスパートの効果を明確に示しています。このグラフでは、8個から32個、さらに64個へと細分化エキスパートの数を増やすことで、損失やその他のメトリクスが明確に改善していることがわかります。細分化エキスパートがより多いほど、性能が向上しているのです。
しかし、上部のグラフで紫色(共有エキスパートなし)とティール色(共有エキスパートあり)を比較すると、OMOの設定では共有エキスパートによる明確な性能向上は見られませんでした。彼らはこの結果を受けて、共有エキスパートを使用しないことを選択しました。これはDeepSeekの結果とは対照的で、設定や評価方法の違いが影響している可能性があります。
これらの実証研究から得られる重要な知見は以下の通りです:
- 細分化エキスパート:両方の研究で、細分化エキスパートの数を増やすことによる一貫した性能向上が示されています。これは、より多くのエキスパートを持つことで、モデルがより多様なパターンを捕捉できるようになることを示唆しています。
- 共有エキスパート:共有エキスパートの効果については、研究間で結果が分かれています。DeepSeekでは一部のタスクで大きな改善が見られましたが、OMOでは明確な利点は観察されませんでした。これは、タスクの性質、データセット、または他の設計上の違いによる可能性があります。
- トレードオフ:細分化エキスパートを過度に小さくしたり、数を増やしすぎたりすると、通信コストやシステムの複雑さが増加する可能性があります。最適な構成は、利用可能なリソースとシステム制約によって異なります。
これらの実証研究の結果は、実際のMoEモデルの設計に直接影響を与えています。DeepSeek V1以降のほとんどのモデルは細分化エキスパートを採用しており、多くは共有エキスパートも使用していますが、その具体的な構成(エキスパートの数、サイズ、活性化数)はモデルによって異なります。
特にDeepSeekのケースでは、彼らの初期の研究成果が後のモデル(V2およびV3)の基盤となりました。彼らは早い段階で効果的なMoE構成を特定し、それを大規模に適用することでDeepSeek V3などの高性能モデルを開発することができました。
これらの実証研究は、理論と実践の架け橋となるものであり、MoEアーキテクチャの設計に関する貴重な指針を提供しています。細分化エキスパートの有効性と、場合によっては共有エキスパートの利点を示す強力な証拠を提供しているのです。
8. 代表的なMoE実装の比較
8.1 Google初期論文(GShard、Switch Transformer)の設計
橋本教授: MoEの分野を振り返る際、Google初期の論文は基礎的かつ影響力のある研究として重要です。今日のMoEアーキテクチャの多くの原則と設計選択は、これらの初期の研究に由来しています。
GShard(2020年)とSwitch Transformer(2021年)は、大規模なMoEモデルのトレーニングに関する重要な開拓的研究でした。これらの論文は、スケールにおけるMoEの可能性と課題を初めて体系的に探求したものです。
GShard(Lepikhin et al., 2020)は、大規模なニューラルネットワークをトレーニングするための自動シャーディングシステムを紹介したGoogle Researchによる論文です。この研究ではMoEを翻訳タスク向けのTransformerモデルに適用し、パラメータ効率と計算効率の両方を大幅に向上させました。
GShard MoEの主な特徴は:
- トークン選択ルーティング:各トークンが異なるエキスパートへのルーティング選好を計算し、システムがトークンごとに上位K個のエキスパートを選択します。
- 大量のエキスパート:GShard実装では、レイヤーごとに100を超えるエキスパートを持つ構成が探求されました。
- 負荷バランシング損失:エキスパート間でトークンをバランスよく分配するための補助的な損失関数が導入されました。これは今日でも、ほとんどのMoE実装で採用されている重要な要素です。
- 効率的なシャーディング:モデルを複数のデバイスにシャードする方法が研究され、エキスパート並列性の概念が導入されました。
Switch Transformer(Fedus et al., 2021)はGShardの研究を拡張し、言語モデリングに特化したMoEアーキテクチャを提案しました。彼らは複雑なルーティングアルゴリズムよりも、単純なアプローチでスケールすることに重点を置きました。
Switch Transformerの主な貢献は:
- スイッチルーティング:各トークンが単一のエキスパート(K=1)にルーティングされる、より単純なルーティングメカニズム。これにより、パラメータ効率と計算効率が最大化されました。
- 安定化技術:大規模MoEモデルのトレーニングを安定させるための様々な技術が導入されました。例えば、ルーター計算での高精度(bfloat16ではなくfloat32)の使用や、補助的なルーター損失などです。
- スケーリングの実証:彼らは1.6兆パラメータを持つモデルまでスケールし、同じ計算量でトレーニングされた密なモデルと比較して、トレーニング速度と性能の両方で大幅な向上を示しました。
- エキスパートの崩壊への対処:「エキスパートの崩壊」(一部のエキスパートが過度に使用され、他のエキスパートが使用されなくなる問題)に対処するための戦略が提案されました。
両論文とも、MoEのトレーニングにおける共通の課題を特定し、それに対処するためのソリューションを提案しました:
- 数値安定性:MoEトレーニングは数値的に不安定になりやすいため、高精度計算やその他の安定化技術が必要です。
- 負荷バランシング:エキスパート間のワークロードを適切に分配するためには、専用の損失関数が必要です。
- 通信コスト:分散トレーニング環境では、エキスパートとトークンの間の通信が性能ボトルネックになる可能性があります。
- エキスパートの数とサイズ:GShard、Switch Transformerともに、多数(数十から数百)のエキスパートを持つ構成を探求しました。
これらの初期のGoogle論文は、現代のMoE実装の多くの側面を形作りました。特に、トークン選択ルーティング、負荷バランシング損失、安定化技術は、今日のほとんどのMoEモデルで標準的な要素となっています。
また、これらの論文はMoEのスケーリング法則についての重要な洞察を提供しました。彼らは、モデルサイズが大きくなるにつれて、MoEによる計算効率の利点がさらに顕著になることを示しました。これは、今日の大規模モデル(数千億パラメータ規模)でMoEが広く採用されている理由の一つです。
8.2 DeepSeek、Quen、Mixtral、DBRx、Grock等の構成
橋本教授: 現代の主要なMoEモデルの具体的な構成を比較してみましょう。これらのモデルはGoogle初期の研究をベースにしていますが、重要な革新と改良を取り入れています。特に注目すべきなのは、細分化エキスパートと共有エキスパートの採用です。
DeepSeek V1(DeepSeek MoE)は、MoEの基本アーキテクチャに重要な革新をもたらしました。その構成は:
- 総パラメータ数:160億
- 活性化パラメータ数:28億
- エキスパート構成:64個の細分化エキスパート + 2個の共有エキスパート
- 活性化エキスパート数:トークンごとに6個(2個の共有 + 4個の細分化)
- エキスパートサイズ:標準サイズの約1/4
- ルーティング:ソフトマックスに基づくトークン選択Top-K
- バランシング手法:エキスパートレベルとデバイスレベルの両方での補助的バランシング損失
この構成は、細分化エキスパートと共有エキスパートを組み合わせるという革新的なアプローチを導入しました。これにより、より多くのエキスパートを持ちながらも、活性化パラメータ数を管理可能に保つことができました。
Quen 1.5は、DeepSeekに似た戦略を採用しましたが、アップサイクリング手法(既存の密なモデルをMoEに変換)を利用した点が特徴です:
- エキスパート構成:28個の細分化エキスパート + 4個の共有エキスパート
- 活性化エキスパート数:トークンごとに約7個
- ルーティング:DeepSeekに類似したトークン選択Top-K
- 特筆すべき点:既存の密なモデルからのアップサイクリング
Mixtral(Mixtral 8x7B)はMistralAIによる西洋の主要なMoE実装の一つです:
- 総パラメータ数:47億(8つのエキスパート、各7B)
- 活性化パラメータ数:13億
- エキスパート構成:8個のエキスパート(各層ごと)
- 活性化エキスパート数:トークンごとに2個(Top-2ルーティング)
- 共有エキスパートなし
- ルーティングメカニズム:トークン選択Top-2
- エキスパートサイズ:標準サイズ(細分化なし)
Mixtralはより単純なアプローチを採用し、多数の細分化エキスパートではなく、より少数の大きなエキスパートを使用しています。この選択は、システムの複雑さを軽減しつつも、性能面で競争力を維持するものです。
DBRx(前身はDeepBlueRパラメトリクスのモデル)も類似した方向性を持っています:
- エキスパート構成:DeepSeekに比べてより少数のエキスパート(8-16程度)
- 活性化エキスパート数:トークンごとに2個(Top-2)
- より大きなエキスパートサイズ
- ルーティング:標準的なトークン選択Top-K
Grock(xAIによる非オープンソースモデル)も同様のアプローチを取っています:
- エキスパート構成:少数のより大きなエキスパート
- 活性化エキスパート数:トークンごとに2個
- ルーティング:標準的なトークン選択Top-K
DeepSeek V2はV1をさらに拡張し、大規模なモデルスケーリングに焦点を当てました:
- 総パラメータ数:2360億
- 活性化パラメータ数:210億
- エキスパート構成とルーティングはV1と同様だが、エキスパート数が増加
- デバイス間通信コストを最小化するためのTop-Mデバイス選択の導入
- 通信バランシング損失の追加
最後に、DeepSeek V3はこの進化の最新段階です:
- 総パラメータ数:6710億
- 活性化パラメータ数:370億
- エキスパート構成:V1/V2と類似しているが、さらに多くのエキスパート
- ルーティング:ソフトマックスの代わりにシグモイドを使用する修正
- 補助損失フリーバランシング:B_iという「バイアス」項を導入し、オンライン勾配スキームで学習
これらのモデルを比較すると、いくつかの傾向が見えてきます:
- 細分化エキスパートの普及:DeepSeek、Quen、そして最近のモデルは、多数の小さなエキスパートを使用する傾向があります。これはパラメータ効率と計算効率のバランスを取るための方法です。
- 共有エキスパートの採用:多くのモデル(DeepSeek、Quenなど)は1-4個の共有エキスパートを採用していますが、Mixtralなど一部のモデルはこれを使用していません。
- 活性化エキスパート数の選択:エキスパートの細分化が進むほど、活性化エキスパート数(K)も増加する傾向があります。密なモデルと同等のフロップスを維持しながら、より多くの小さなエキスパートを活性化できるからです。
- システム最適化の重視:特に大規模モデル(DeepSeek V2/V3など)では、デバイス間通信を最小化し、負荷バランスを改善するための工夫が導入されています。
これらの様々な実装は、MoEアーキテクチャの設計空間の豊かさを示しています。各モデルは、パラメータ効率、計算効率、システム複雑性、そして最終的な性能の間のトレードオフに基づいて、異なる設計選択を行っています。
8.3 Llama 4を含む最新モデルの設計傾向
橋本教授: 最近公開されたLlama 4を含め、最新のMoEモデルの設計傾向を分析すると、MoEアーキテクチャが主流の言語モデルにどのように取り入れられているかが見えてきます。
Llama 4は、Metaによる最新のモデルで、初めてMoEアーキテクチャを採用したLlamaシリーズのモデルです:
- MoEアーキテクチャを全面的に採用
- 細分化エキスパート技術の使用
- エキスパート構成に関する詳細はまだ完全には公開されていませんが、他の最新モデルと同様に、多数の細分化エキスパートと少数の共有エキスパートを使用していると考えられます
- 活性化パラメータ数を抑えつつ、大規模なパラメータプールを活用するアプローチ
Llama 4の登場は、MoEが大規模言語モデルの設計において標準的な選択肢になりつつあることを示す重要な転換点です。以前はGoogleやDeepSeekなどの特定の組織が主に採用していた技術が、今やより広く受け入れられるようになっています。
最新のMoEモデル全体に見られる設計傾向としては:
- 細分化エキスパートの普遍的採用:ほぼすべての最新モデルが細分化エキスパートを使用しています。これにより、同じ計算予算でより多くのエキスパートを持つことができます。DeepSeek V3、OMO、Mixtram X、Llama 4などがこのアプローチを採用しています。
- エキスパート数の増加:モデルサイズが大きくなるにつれて、エキスパートの総数も増加する傾向があります。DeepSeek V3やLlama 4などの最大規模のモデルは、非常に多数のエキスパートを使用しています。
- 共有エキスパートの選択的使用:一部のモデル(DeepSeek、Quen、Llama 4など)は共有エキスパートを使用していますが、他のモデル(OMOなど)は純粋にルーティングされたエキスパートのみを使用しています。これは設計上の好みや特定のユースケースによって異なります。
- システム効率の重視:特に大規模モデルでは、デバイス間通信コストを最小化し、デバイス間で負荷をバランスよく分配するための高度な技術が取り入れられています。DeepSeek V3のTop-Mデバイス選択などがその例です。
- ルーティング安定性の改善:DeepSeek V3の補助損失フリーバランシングなど、ルーティングをより安定させるための新しい技術が開発されています。
- アーキテクチャの収束:最新モデルは、基本的なアーキテクチャの選択において収束する傾向があります。ほとんどが細分化エキスパートとトークン選択Top-Kルーティングを採用しており、違いは主にエキスパートの数、サイズ、および微調整の詳細にあります。
Llama 4の登場は、MoEがもはや実験的な技術ではなく、主流の言語モデル設計における標準的な要素になりつつあることを示しています。これは、計算効率を維持しながらモデル容量を増やすというMoEの基本的な利点が、大規模な商用モデルにおいても価値があることを証明しています。
興味深いのは、OMOやMiniMaxなどの最近のモデルがDeepSeekなどの先駆的なモデルと類似したアーキテクチャを採用している一方で、各モデルが独自の微調整や革新を加えている点です。例えば、具体的なエキスパート数、活性化数、共有エキスパートの使用などにおいて違いがあります。
このような収束と多様性のバランスは、MoEアーキテクチャが成熟段階に入りつつあることを示しています。基本的な設計原則が確立された一方で、具体的な実装詳細ではまだ実験と革新の余地があります。
Llama 4を含む最新のMoEモデルの成功は、この技術が今後も大規模言語モデルの標準的な設計要素であり続けるであろうことを示唆しています。計算効率とパラメータ効率の両方を最適化する必要性が高まるにつれて、MoEアーキテクチャの重要性はさらに増すでしょう。
9. ルーティングの学習方法
9.1 強化学習アプローチとその限界
橋本教授: MoEにおける最も困難な課題の一つは、ルーティング決定をどのように学習するかという問題です。トレーニング時にすべてのエキスパートをアクティブにすることはできません。なぜなら、それではすべてのエキスパートのフロップスコスト全体を支払うことになり、例えば256倍もトレーニングコストが高くなるようなモデルは完全に現実的ではないからです。したがって、トレーニング時にもスパース性が必要ですが、スパースなゲーティング決定は微分不可能です。そのため、強化学習(RL)のような問題に直面することになります。
強化学習は理論的には、ルーティング決定の学習に最も原理的なアプローチです。この考え方は非常に自然です。ルーティングの選択は離散的な決定であり、RLはそのような離散的な決定を学習するのに理想的な枠組みだからです。なぜMoEのルーティングをRLで学習しないのでしょうか?
実際、MoEに関する初期の研究の一部では、ルーティング動作を学習するためにRLが使用されました。この方法は離散的なルーティング決定を直接最適化できるという利点があります。各トークンがどのエキスパートにルーティングされるべきかをモデルが学習し、その結果として得られる言語モデリング性能の向上に基づいて報酬を受け取るというアプローチです。
具体的には、ポリシー勾配法などのRLアルゴリズムを使用して、ルーターネットワークのパラメータを最適化することができます。これは概念的にはエレガントで、ルーティング問題の本質に直接対処するものです。
しかし、RLアプローチにはいくつかの重要な限界があります:
- 計算コストが高い:RLベースのトレーニングは通常、標準的な教師あり学習よりもはるかに計算コストが高くなります。探索、多数のサンプル、高い分散などが原因です。
- トレーニングの不安定性:RLアルゴリズムは一般的に、標準的な勾配降下よりも不安定になる傾向があります。これは、MoEのような複雑なアーキテクチャでは特に問題になります。
- 実装の複雑さ:RL手法を大規模モデルトレーニングパイプラインに統合することは、技術的に複雑になる可能性があります。
- 期待に満たない性能:理論的な魅力にもかかわらず、実際にはRLアプローチは他のより単純な方法と比較して著しく優れた性能を示していません。
Clark et al.(2020年)の研究では、様々なスケーリング関連の問題を探るMoEに関する研究が行われ、RLベースラインが含まれていました。しかし、興味深いことに、このRLアプローチはハッシングに基づく決定を使用する単純な方法よりも大幅に優れているわけではありませんでした。さらに、SBSと呼ばれる線形割り当て手法は、RLアプローチを大幅に上回りました。
実際のところ、勾配の分散や実装の複雑さなどの理由から、大規模にRLベースのアプローチを使用してゲーティング決定を最適化している例はほとんどありません。多くの実装は、より単純なヒューリスティックなアプローチに落ち着いています。
RLアプローチの理論的な魅力にもかかわらず、より簡単で安定した代替手法がより実用的であることが判明しています。これは、理論的に最も原理的なアプローチが、実際の大規模なニューラルネットワークトレーニングでは常に最良の選択肢であるとは限らないことを示す良い例です。
ただし、強化学習とMoEの交差点に関する研究は継続しており、将来的には計算効率と安定性の両方を備えたより洗練されたRLベースのアプローチが開発される可能性があります。現時点では、次のセクションで説明する確率的近似やヒューリスティックな損失関数などの代替手法が、実際のMoE実装で広く採用されています。
9.2 確率的近似手法
橋本教授: 強化学習よりも広く採用されているルーティング学習アプローチの一つが、確率的近似手法です。これらの手法は、ルーティング決定に確率的なノイズを導入することで、探索と活用のバランスを取り、より堅牢なルーティングを実現しようとするものです。
確率的ルーティングの最も代表的な実装の一つは、Shazeer et al.(2017年)の研究で提案されたものです。この研究はまだMoEの初期段階で行われたもので、彼らはトップK個のルーティング選択に確率的要素を追加することを提案しました。
彼らのアプローチは以下のように機能します:
- 通常通り、入力トークンxに対して各エキスパートへの親和性スコアを計算します: h(x) = x・W
- ここで重要なステップとして、このスコアに確率的ノイズを追加します: h'(x) = h(x) + ε ここでεは正規分布からのノイズです。
- ノイズの量は、学習される「ノイズスケール」パラメータW_noiseによって制御されます。
- そして、このノイズの入ったスコアh'(x)からトップK個の値を選択し、ソフトマックスを適用してゲート値を得ます。
この確率的ジッタリングは、バンディット問題に対するイプシロン-グリーディ探索と概念的に類似しています。探索(新しいエキスパートを試す)と活用(既知の良いエキスパートを使用する)のバランスを取るためのメカニズムを提供します。
W_noiseパラメータは特に重要です。これはトレーニング中に学習され、モデルがルーティング決定にどれだけ自信を持っているかに応じて、自動的にノイズのレベルを調整できます。例えば:
- ルーティング決定に高い信頼性がある場合、W_noiseは小さくなり、探索が少なくなります。
- ルーティング決定に不確実性がある場合、W_noiseは大きくなり、より多くの探索が行われます。
- W_noiseをトレーニング中に徐々に減少させることで、「焼きなまし」のような効果も実現できます。
このアプローチには、いくつかの重要な利点があります:
- 改善された探索:ノイズがあることで、トレーニング中にすべてのエキスパートが少なくともいくつかのトークンを受け取る可能性が高まります。これにより、一部のエキスパートが完全に「死んで」しまう問題が緩和されます。
- 微分可能性:このアプローチは完全に微分可能であり、標準的な勾配降下法でトレーニングできます。
- 自己調整:学習可能なノイズスケールにより、モデルは探索と活用のバランスを自動的に調整できます。
しかし、確率的アプローチにもトレードオフがあります:
- 専門化の低下:ノイズがあることで、各エキスパートはランダムに割り当てられたトークンも処理することになり、特定のパターンへの専門化が減少する可能性があります。
- 効率の損失:確率的ルーティングは、最適ではないエキスパートにトークンを送ることがあり、計算効率が低下する可能性があります。
- トレーニングとインファレンスの不一致:トレーニング中にノイズを使用し、インファレンス時には使用しない場合、トレーニングとインファレンスの間に不一致が生じる可能性があります。
別の確率的アプローチとして、ルーターの計算されたロジットに乗法的摂動を加えるというものもあります。これも、より堅牢で過度に特化していないエキスパートを得ることを目的としています。
しかし、興味深いことに、より最近のMoE論文では、このような確率的ルーティングテクニックへの言及が少なくなっています。多くの最新のモデル(DeepSeek、Mixtral、Llama 4など)は、次のセクションで説明するヒューリスティックな損失ベースのアプローチに移行しています。確率的手法は、探索を促進し、エキスパートの崩壊を防ぐという理論的な魅力にもかかわらず、ヒューリスティックな損失関数ほど効果的でないことが判明しました。
これは、MoEの開発において理論と実践が必ずしも一致しないことを示す興味深い例です。確率的アプローチは理論的には優れているように見えますが、実際のパフォーマンスに関しては、より単純なヒューリスティックなバランシング損失が優れていることが多いのです。
9.3 ヒューリスティックな損失関数によるバランシング
橋本教授: ルーティングを学習するための最も広く採用されているアプローチは、ヒューリスティックな損失関数によるバランシングです。MoEのトレーニングにおいて、強化学習や確率的手法に頼るのではなく、実は単純なヒューリスティックな損失関数が最も効果的であることがわかっています。
トップ2のルーティングを使用している場合、技術的には勾配降下プロセスで多少のシグナルを得ることができます。評価した上位2つのエキスパートを比較できるからです。しかし、すべての制約を無視すると、大きな問題が発生します。モデルが単に一つのエキスパートをすべての時間選択するようになり、そのエキスパートがすべてのタスクに優れ、他のエキスパートはすべて役立たなくなるという局所的最小値に陥ってしまうのです。
そこで、この局所的最小値から抜け出すための主要な戦略となるのが、損失バランシングまたはバランシング損失と呼ばれるテクニックです。これは実際のMoEトレーニングにおいて最も重要な要素の一つなので、特に注目する価値があります。
この方法は2022年のSwitch Transformer論文(Fedus et al.)から来ており、次のような特定の損失を追加します:
L = Σ_i (f_i * p_i)
ここで:
- f_i はエキスパートiに割り当てられたトークンの割合です(バッチ内)
- p_i はエキスパートiに割り当てられたルーター確率の割合です
これは、ベクトルfとベクトルpの内積と考えることができます。fは各エキスパートに割り当てられたトークンの割合を示し、pはルーターが各エキスパートに割り当てようとした確率の割合を示しています。
この損失関数の美しさは、p_iに関する導関数を見ると明らかになります。導関数はf_iに比例するため、最も大きな割り当てを持つエキスパートが最も強く下方修正されます。つまり、すでに多くのトークンを受け取っているエキスパートは、より強くペナルティを受けるのです。これにより、トークンがすべてのエキスパートに均等に分散される傾向があります。
バランシングのために最初に考慮する単位はバッチです。各バッチでエキスパートがトークンを均等に受け取るようにしたいわけです。DeepSeekの論文でも、これとよく似た構造を持つバランシング損失が使用されています。
しかし、バッチ間のバランスだけでなく、デバイス間のバランスも考慮する必要があります。エキスパートを異なるデバイスにシャードする場合、各デバイスが均等な数のトークンを処理することも重要です。そこで、エキスパートレベルのバランシングに似た構造を持つ、デバイスレベルのバランシング損失も導入されています。ただし、この場合はエキスパートではなくデバイスグループに対して測定されます。
これらのバランシング損失を最適化することで、ルーティング関数は自然と各GPU/TPUに均等な数のトークンを送るよう学習し、デバイスの均等な利用率につながります。これはシステムの観点から非常に重要です。
興味深いことに、DeepSeek V3では新しいアプローチを導入しています。彼らはエキスパートごとのバランシング項を完全に排除し、代わりに「補助損失フリーバランシング」と呼ばれる手法を使用しています。この方法では、ソフトマックススコアに小さな「fudge factor」B_iを追加します。B_iはエキスパートiに対する小さな調整値で、エキスパートが十分なトークンを受け取っていない場合は値が上がり、多すぎるトークンを受け取っている場合は値が下がります。
このB_iは単純なオンライン勾配スキームによって学習されます。各バッチで、エキスパートが均等な数のトークンを受け取っているかを測定し、十分でない場合はB_iに学習率γを加算し、多すぎる場合はγを減算します。これにより、各エキスパートの「魅力度」が自動的に調整されます。
興味深いことに、DeepSeek V3の論文ではこの方法をかなり強調していますが、実際には完全に補助損失フリーというわけではありません。彼らは「補完的なシーケンス単位の補助損失」も追加しており、これは基本的に元の補助損失ですが、バッチレベルではなくシーケンスレベルでバランスを取るためのものです。
彼らがシーケンス単位のバランシングを追加した理由は、特に推論時に考慮すべき別の要素があるからです。トレーニング時にはシーケンス単位のバランシング損失がなくても問題ないかもしれませんが、推論時には非常に分布外のシーケンスが来る可能性があり、それが特定のエキスパートに過負荷をかける可能性があります。トレーニング時とは異なり、推論時にはどのようなシーケンスが来るかコントロールできないため、シーケンス単位の強力なバランシングが必要となるのです。
このようなヒューリスティックなバランシング損失は、DeepSeek、Mixtral、Llama 4など、ほぼすべての現代的なMoEモデルで採用されています。これらの単純なヒューリスティックが、より複雑な強化学習や確率的アプローチよりも効果的であることが証明されており、これはMoEの実用的な実装における「秘訣」の一つと言えるでしょう。
10. システム最適化
10.1 エキスパートパラレリズムの実装方法
橋本教授: MoEアーキテクチャの大きな利点の一つは、エキスパートパラレリズムという新しい並列化の軸を提供することです。システム面の概念の詳細については、別のシステム講義で扱う予定ですが、ここではエキスパートパラレリズムがどのように実装され、大規模モデルのトレーニングにどのように役立つかについて高レベルの概要を説明します。
エキスパートパラレリズムの基本的な考え方は非常にシンプルです。複数のフィードフォワードブロック(エキスパート)があるため、それぞれを異なるデバイスに配置することができます。そして、エキスパートはスパースに活性化されるため、トークンを適切なデバイスにルーティングするだけで、その計算が行われます。
実際の実装では、このプロセスは以下のように機能します:
- 初期処理とルーティング決定:トークンの初期処理(自己注意など)が行われ、ルーターがどのエキスパートを使用するかを決定します。
- トークンの分配:一度ルーティング決定が行われると、各トークンは選択されたエキスパートがあるデバイスに送信されます。これは通常、「all-to-all」通信と呼ばれる集合通信操作として実装されます。
- エキスパート計算:各デバイスは、受け取ったトークンに対して自身のエキスパート計算を実行します。
- 結果の収集:エキスパート計算の結果は、元のトークンが属していたデバイスに返送されます。これもまた集合通信操作になります。
エキスパート計算が十分に「大きくて重い」(つまり、計算量が十分に多い)場合、通信のコストはエキスパートの計算によって相殺されるため、このアプローチは効率的になります。
エキスパートパラレリズムには、いくつかの重要な実装上の考慮事項があります:
- 負荷バランス:効率的なパラレリズムのためには、各デバイスがほぼ同じ量の作業を行うことが重要です。これが、前のセクションで説明したデバイスレベルのバランシング損失が重要な理由です。
- 通信オーバーヘッド:デバイス間でのトークンの移動には時間がかかります。特に、デバイスが物理的に離れている場合(例えば、異なるサーバーにある場合)は顕著です。このオーバーヘッドを最小化するための戦略が必要です。
- メモリ使用量:各デバイスは、割り当てられたエキスパートだけでなく、ルーティングインフラストラクチャや一時的なバッファなども保存する必要があります。
- フォールバックメカニズム:特定のエキスパートがトークンで過負荷になった場合(デバイスのメモリ容量を超える場合)のフォールバック戦略が必要です。一般的な解決策は「トークンドロッピング」で、過剰なトークンは単に処理されず、残差接続を通じて直接渡されます。
最先端のMoE実装では、これらの課題に対処するためのいくつかの洗練された手法が導入されています:
- DeepSeek V2/V3のTop-Mデバイス選択:通信コストを削減するための興味深いアプローチとして、DeepSeekはTop-Mデバイス選択を導入しました。各バッチに対して、まず上位M個のデバイスを選択し、その後、それらのデバイス内でトークンごとに上位K個のエキスパートを選択します。これにより、各トークンが通信する必要のあるデバイスの数が制限され、通信コストが大幅に削減されます。
- 通信バランシング損失:DeepSeek V2では、入力通信コストだけでなく、出力通信コストもバランスさせるための通信バランシング損失も導入されています。エキスパートには入力(トークンをエキスパートにルーティングする)と出力(トークンを元の場所に戻す)の両方の通信コストがあります。この損失は出力通信コストもバランスさせることを目的としています。
- スマートシャーディング戦略:多くの実装では、関連するエキスパートを同じデバイスまたは近接するデバイスに配置するシャーディング戦略を採用しています。これにより、頻繁に一緒に活性化されるエキスパート間の通信コストを削減できます。
エキスパートパラレリズムは、他の並列化技術(データ並列性、モデル並列性など)と組み合わせることができます。大規模なモデルトレーニングでは、通常、これらの異なる並列化形式のハイブリッドが使用されます。
例えば、DeepSeek V3のような大規模なモデル(6710億パラメータ)では、データ並列性、テンソル並列性、パイプライン並列性、およびエキスパートパラレリズムの組み合わせを使用して、何千もの計算デバイスにモデルを効率的に分散させる可能性があります。
エキスパートパラレリズムは、特に言語モデルのサイズが数千億パラメータに達する現在、大規模モデルのトレーニングとデプロイメントにおいて非常に重要なツールになっています。それは計算リソースを効率的に使用しながら、モデル容量を大幅に拡張する方法を提供します。
10.2 デバイス間の通信コスト最小化
橋本教授: MoEモデルをマルチデバイス環境で効率的に実行するための最大の課題の一つは、デバイス間の通信コストを最小化することです。エキスパートが異なるデバイスに分散されている場合、トークンをそれらのデバイスに送信し、結果を収集するには、大量の通信が必要となります。この通信オーバーヘッドは、特に大規模なモデルやクラスタでは、全体のパフォーマンスを大幅に低下させる可能性があります。
DeepSeek V2では、この問題に対処するための革新的なアプローチとして「Top-Mデバイス選択」を導入しました。これは単純だが効果的な技術で、通信コストを大幅に削減します。
従来のアプローチでは、各トークンは利用可能なすべてのエキスパートに対してスコアを計算し、最高スコアを持つK個のエキスパートを選択します。しかし、これらのエキスパートは異なるデバイスに分散している可能性があるため、各トークンが多数のデバイスと通信する必要が生じる場合があります。
Top-Mデバイス選択では、次のような2段階のプロセスを導入しています:
- デバイスレベルでの選択:まず、各トークンはデバイスレベルでスコアを計算し、上位M個のデバイスのみを選択します。
- デバイス内でのエキスパート選択:選択されたM個のデバイス内でのみ、各トークンは上位K個のエキスパートを選択します。
この方法により、通信コストが大幅に削減されます。各トークンは最大でもM個のデバイスとしか通信しないため、デバイスの総数が増えても通信オーバーヘッドは制限されます。これは、大規模なクラスタでMoEをスケーリングする際に特に重要です。
DeepSeek V2ではさらに、通信バランシング損失も導入しています。エキスパートには入力と出力の両方の通信コストがあります:
- 入力通信:トークンをエキスパートにルーティングする際の通信
- 出力通信:処理後のトークンを元のデバイスに戻す際の通信
従来のバランシング損失は主に入力側に焦点を当てていましたが、DeepSeekは出力通信コストもバランスさせる損失を追加しました。これにより、すべてのデバイスが同様の通信負荷を持つようになり、通信のボトルネックが減少します。
通信コストを最小化するための他の重要な戦略には、以下があります:
- 局所性を考慮したエキスパートの配置:関連するエキスパートを同じデバイスまたは近接するデバイスに配置することで、通信距離を短縮できます。例えば、同じトークンタイプに頻繁に対応するエキスパートを同じデバイスに配置することができます。
- 階層的デバイストポロジーの活用:データセンターの物理的な接続トポロジー(ラック内、ラック間など)を考慮してエキスパートを配置することで、高速な接続を最大限に活用できます。
- 通信とコンピューテーションのオーバーラップ:通信を非同期に実行し、他のコンピューテーションと重複させることで、全体の待ち時間を減らすことができます。
- バッチサイズの最適化:大きなバッチサイズを使用すると、通信オーバーヘッドが相対的に減少します。これは特に通信が比較的遅い環境では効果的です。
- トークンドロッピングの戦略的使用:特定のエキスパートに過剰なトークンが割り当てられた場合、一部をドロップすることで通信負荷を軽減できます。これはモデルの品質に若干影響する可能性がありますが、トレーニングの安定性とスピードを向上させます。
DeepSeek V3では、これらの通信最適化の多くを継続して使用していますが、アーキテクチャの変更により一部の戦略は変わっています。V3では、以前のようなエキスパートレベルの損失バランシングを排除し、代わりにB_iバイアス項を導入していますが、Top-Mデバイス選択などの通信最適化は維持しています。
これらの通信最適化技術は、特に数千億パラメータ規模のモデルでは、MoEのスケーラビリティを大幅に向上させます。大規模クラスタでモデルを効率的に分散させるためには、計算効率だけでなく、通信効率も最適化することが不可欠です。
興味深いことに、Mixtral、Llama 4などの最近のモデルにもこのような通信最適化が採用されているはずですが、公開されている詳細は限られています。しかし、大規模なMoEモデルを効率的にトレーニングするためには、これらの通信最適化が不可欠であることは間違いありません。
10.3 スパース行列乗算の効率的処理
橋本教授: MoEのもう一つの重要なシステム最適化は、複数のエキスパートを単一デバイス上で効率的に処理する方法に関するものです。単一デバイス上に複数のエキスパートを配置する場合、スパース計算を効率的に処理する方法を考慮する必要があります。
考えてみてください。デバイス上に複数のエキスパート(例えば、エキスパート0、1、2)があり、異なるトークンが異なるエキスパートにルーティングされる状況を想像してみましょう。例えば、トークン1はエキスパート0に、トークン2はエキスパート1に、トークン3はエキスパート2にルーティングされるとします。これは本質的に3つの小さくスパースな行列乗算を表しています。
理想的には、現代のGPUがこのようなスパースかつ複雑な行列乗算を活用できることを期待したいところです。そして実際、そのようなことが可能です。エキスパートとその重みを正しく配置し、適切に融合すれば、現代のスパース行列乗算エンジンは効率的にこれらの計算を処理できます。これにより、1つの大きな行列乗算を行う際にフロップスを無駄にすることなく済みます。
Metaの「Megablocks」のような最新のライブラリは、この種のデバイスレベルのスパース性サポートを活用して、複数のエキスパート計算を効率的に一度に実行します。これにより、スパース性による理論的な計算削減が実際の実行時間の削減に変換されます。
この最適化のポイントは次のとおりです:
- バッチ内のスパース性の活用:各トークンが異なるエキスパートを使用する場合、従来のアプローチでは各エキスパートを順番に実行する必要があり、非効率的です。しかし、スパース行列乗算を使用すると、すべてのエキスパート計算を単一の効率的な操作として処理できます。
- 重みの融合:複数のエキスパート重み行列を単一の大きな重み行列として表現し、スパースなマスクまたはインデックスを使用してどのトークンがどのエキスパートを使用するかを指定します。
- 専用ハードウェアの活用:現代のGPUやTPUなどの加速器は、特定のスパースパターンを持つ計算を効率的に処理するための特殊なハードウェアサポートを備えています。MoEのルーティングパターンは、しばしばこのようなハードウェア最適化に適しています。
Megablocksのようなライブラリは、MoEのスパース計算を次のように最適化します:
- 効率的なメモリアクセスパターン:エキスパート重みをメモリに配置する方法を最適化し、キャッシュ効率を最大化します。
- 動的負荷バランシング:実行時に、各エキスパートのワークロードを動的にバランスさせ、GPU/TPUの並列処理ユニットの利用率を最大化します。
- カーネル融合:複数の小さな操作(エキスパート選択、行列乗算、出力集約など)を単一の効率的なカーネルに融合します。
- スパースパターン特化型最適化:MoEのスパース構造は特定のパターンに従うため、一般的なスパース行列乗算よりも効率的に処理できます。
この種の最適化は、MoEモデルの推論時間と特にトレーニング時間を大幅に削減する可能性があります。特に大規模なモデルでは、スパース計算の効率が全体のパフォーマンスに大きな影響を与えます。
例えば、Mixtral 8x7Bのような8つのエキスパートを持つMoEモデルでは、各トークンがTop-2ルーティングを使用する場合、理論的には計算量は2/8(つまり、密なモデルの25%)になるはずです。しかし、スパース行列乗算の効率的な実装がなければ、これらの理論的な削減が実際の高速化に変換されることはありません。Megablocksのようなライブラリは、この理論と実践のギャップを埋める役割を果たします。
これらのスパース行列乗算の最適化は、主に推論時に重要ですが、トレーニング時にも同様の原則が適用されます。トレーニング時には、勾配計算のためのスパース性も扱う必要があり、さらに複雑になりますが、同様のアプローチが使用されます。
GPU/TPU技術の進歩に伴い、これらのスパース計算の効率はますます向上すると予想されます。例えば、NVIDIAのHopper GPUアーキテクチャなどの最新のハードウェアは、スパース行列演算のためのより強力なサポートを提供しており、MoEモデルの効率をさらに向上させる可能性があります。
これらのシステムレベルの最適化は、MoEアーキテクチャが理論的な計算効率の利点を実際の時間とエネルギーの節約に変換する能力を大幅に向上させます。これが、大規模なモデルデプロイメントでMoEがますます人気を集めている理由の一つです。
11. トレーニングの安定化技術
11.1 ソフトマックス計算における浮動小数点精度
橋本教授: 明日MoEモデルの訓練を始めようとするなら、システム面の複雑さだけでなく、トレーニングの安定性についても懸念するべきでしょう。MoEモデルは時に不安定になりやすく、特に微調整時に突然崩壊することがあります。
Barrettらやその他の研究者たちは、MoEをより安定にするための研究を行いました。実際、Barrett et al.の論文はMoEトレーニングの安定化に特化しており、いくつかの重要な技術を提案しています。安定化のための主要な技術の一つは、ルーターのソフトマックス計算に関するものです。
前回の講義で安定性について説明したとき、特に注意すべきなのはソフトマックス操作であると強調しました。ソフトマックスは常に注意が必要な操作です。なぜなら、指数関数を含むため、数値的なオーバーフローやアンダーフローが発生しやすいからです。
MoEモデルでは、ルーターがトークンをどのエキスパートにルーティングするかを決定するためにソフトマックスを使用します。この決定は非常に重要で、モデルのパフォーマンス全体に影響します。したがって、この計算の安定性は極めて重要です。
安定化の主要な技術として、MoEモデルでは通常、ルーター計算のすべてをfloat32精度で行います。これは、より低い精度(例えばbfloat16やfloat16)でモデルの他の部分をトレーニングする場合でも同様です。なぜこれが重要なのかというと:
- 数値的安定性の向上:float32はより広い範囲と高い精度を提供するため、ソフトマックスの指数関数計算が数値的に安定します。
- 勾配の精度:ルーティング決定は離散的であるため、勾配情報が限られています。float32を使用することで、この限られた勾配情報をより正確に伝播できます。
- エキスパートの崩壊防止:低精度計算では丸め誤差が大きくなり、あるエキスパートがすべてのトークンを「勝ち取る」局所的最小値に陥りやすくなります。float32はこのリスクを減少させます。
特にMoEモデルの初期訓練段階では、ルーターの学習が最も重要で不安定な時期であるため、高精度計算が特に重要です。ルーターが適切に収束し始めた後は、計算精度を下げることも理論的には可能かもしれませんが、安全のために通常はトレーニング全体を通してfloat32が使用されます。
Switch Transformer論文のような初期のMoE研究では、この高精度ルーティング計算の重要性が強調されており、それ以来、ほぼすべてのMoE実装でこの慣行が採用されています。
実際に実装する際は、ルーター計算だけをより高い精度に設定し、モデルの残りの部分は標準精度(多くの場合bfloat16)を維持することが一般的です。これにより、全体的なメモリと計算のオーバーヘッドを最小限に抑えつつ、ルーター計算の安定性を確保できます。
この単純ではあるものの重要な技術は、MoEモデルを安定してトレーニングするための基盤となっています。バランシング損失や他の技術と組み合わせることで、トレーニングの安定性が大幅に向上し、より大きく複雑なMoEアーキテクチャが実現可能になりました。
このようなシステムレベルの詳細は、理論的な論文ではしばしば見過ごされますが、実際にMoEモデルを成功させるための重要な要素です。浮動小数点精度の選択は、数学的には小さな詳細のように見えるかもしれませんが、大規模なMoEモデルのトレーニングの成功または失敗を左右する可能性があります。
11.2 Z-lossによる安定化
橋本教授: MoEモデルのトレーニングを安定させるためのもう一つの重要な技術がZ-lossです。これは前回の講義で少し触れましたが、MoEモデルの安定化には特に重要な役割を果たします。
Z-lossは、ソフトマックスの正規化項(指数関数の和の対数)を2乗し、それを追加の損失項として加えるというシンプルなものです。具体的な数式で表すと:
L_z = log(Σ exp(z_i))²
ここで、z_iはソフトマックスの入力(ロジット)です。
Z-lossの直感的な理解は、ソフトマックスの正規化項を1に近づけるよう促すということです。これにより、ソフトマックスへの入力値が極端に大きくなったり小さくなったりすることを防ぎ、ルーターの決定がより安定します。
Z-lossがMoEトレーニングにもたらす具体的な利点は:
- 数値的安定性の向上:極端に大きな、または小さなロジットを防ぐことで、オーバーフローやアンダーフローのリスクを減少させます。
- 勾配爆発の防止:勾配が極端に大きくなるのを抑制し、トレーニングプロセスをより安定させます。
- ソフトマックスのエントロピー制御:間接的に、ルーターの決定がより均等な確率分布を持つよう促進します。
Barrett et al.の論文では、Z-lossの効果を示す説得力のあるグラフが提示されています。彼らはZ-lossを使用しない場合と使用する場合のMoEモデルのトレーニングを比較しました。結果は明確です。Z-lossを除去すると、検証損失に大きなスパイクが見られ、モデルが一時的に不安定になっています。モデルは最終的に回復しますが、Z-lossを使用した場合と比較すると、最終的な検証損失にも明確な差があります。
特に中央のグラフが重要です。ルーターからZ-lossを除去すると、検証損失に大きなスパイクが見られ、モデルが数回のイテレーションにわたって「クレイジー」になっています。その後回復しますが、Z-lossがある場合とない場合では、最終的な検証損失に明確な差があります。
興味深いことに、Z-lossは当初MoEモデルのために開発されましたが、後に一般的なトランスフォーマーモデルのトレーニングにも採用されるようになりました。これは、この単純な正則化技術の有効性を示しています。
実装上の注意点として、Z-lossの重みは通常、他の損失項と比較して小さな値に設定されます。これは、メインの訓練目標を妨げずに安定性を向上させるためです。一般的な値は0.0001から0.01の範囲ですが、モデルのサイズや具体的な実装によって適切な値は変わる可能性があります。
Z-lossはその単純さにもかかわらず、またはむしろその単純さゆえに、MoEモデルのトレーニングにおいて広く採用されています。DeepSeek、Mixtral、そしておそらくLlama 4など、多くの現代的なMoEモデルがトレーニングプロセスの一部としてこの技術を使用していると考えられます。
Z-lossは、特にモデルがスケールアップされるとトレーニングが不安定になりやすいMoEモデルにとって、単純でありながら非常に効果的な安定化技術です。フロート32精度の使用と組み合わせると、これらの技術は、複雑でスケーラブルなMoEアーキテクチャの研究と開発を可能にした基盤技術となっています。
Z-lossは、実装が簡単で計算コストが最小限であるにもかかわらず、大きな効果をもたらすという点で、ディープラーニングの安定化技術の好例です。理論的にはシンプルな変更でも、実際のトレーニングプロセスにとって重要な違いをもたらす可能性があるのです。
11.3 過学習問題とその解決策
橋本教授: MoEモデルのもう一つの重要な課題は、特にファインチューニング(微調整)段階での過学習の問題です。MoEモデルはパラメータ数が多いため、小規模なデータセットでファインチューニングする際に過学習しやすい傾向があります。
過学習の問題は、BERT時代やT5時代の初期のMoE研究でも観察されていました。例えば、P-Tuningなどのファインチューニング手法を検討していた時期に、研究者たちはMoEモデルと密なモデルを比較しました。MoEモデルはトレーニングセットとバリデーションセットの間に大きなギャップを示していました。グラフでは、青色と橙色の線(MoEモデル)の間に大きな差があり、一方で緑色と赤色の線(密なモデル)の間のギャップは小さくなっています。これは、MoEモデルが密なモデルと比較して過学習しやすいことを示しています。
この過学習問題に対して、いくつかの解決策が提案されています:
- 層の交互配置(Alternating Layers): 一つのエレガントな解決策は、すべての層をMoE層にするのではなく、密な層とMoE層を交互に配置するアーキテクチャを設計することです。この場合、ファインチューニング時には密な層だけを調整し、MoE層は凍結しておくことができます。これにより、モデルは通常の密なモデルのように振る舞い、過学習のリスクが軽減されます。この方法は理にかなっていますが、現在ではあまり一般的ではありません。私が知る限り、ほとんどの企業はこのアプローチを採用していないようです。
- 大量のデータの使用: より直接的な解決策は、単純に多くのデータを使用することです。過学習が問題であれば、十分な量のファインチューニングデータを用意することで対処できます。DeepSeekのケースでは、彼らは教師付きファインチューニング(SFT)データとして140万のトレーニング例を使用しました。これは非常に大量のデータであり、過学習の懸念を大幅に軽減します。
- 正則化技術の強化: 標準的な正則化手法(ドロップアウト、重み減衰、早期停止など)をより積極的に適用することも、過学習対策として効果的です。特にMoEモデルでは、エキスパートごとに異なる正則化強度を設定することも有効な場合があります。
- パラメータ共有の増加: 一部のMoE実装では、エキスパート間で特定のパラメータを共有することで、効果的なパラメータ数を減らし、過学習のリスクを軽減しています。例えば、各エキスパートの特定の層やバイアス項を共有するなどの方法があります。
- 段階的なファインチューニング: まず密なモデルでファインチューニングを行い、その後そのモデルからMoEバージョンを初期化するという段階的なアプローチも有効です。これにより、MoEモデルは既に良好に調整されたパラメータから始めることができます。
現代の大規模なMoEモデル(DeepSeek V3、Mixtral、Llama 4など)では、主に大量のデータを使用するアプローチが採用されているようです。これらのモデルは、多様で大規模なデータセットでトレーニングされており、ファインチューニング段階でも比較的大きなデータセットが使用されています。
実際の事例として、DeepSeekが示したように、十分な量のSFTデータを使用することで、MoEモデルは密なモデルと同様の汎化能力を達成できます。彼らのモデルは、様々なタスクにおいて強力なゼロショットおよびファインチューニングされた性能を示しています。
過学習問題は、MoEモデルの大きな課題の一つでしたが、現在では適切なデータ量と改良されたトレーニング手法によって大部分は克服されています。しかし、特に小規模なデータセットでMoEモデルをファインチューニングする場合には、依然として注意が必要です。
これらの解決策は、MoEモデルの実用性を大幅に向上させ、このアーキテクチャがより広く採用されるようになった要因の一つとなっています。大量のパラメータを持ちながらも効果的に学習し、汎化できるモデルを構築できるようになったことで、MoEの利点を最大限に活用できるようになりました。
12. アップサイクリング手法
12.1 既存のdenseモデルからMoEへの変換
橋本教授: MoEの発展において興味深いテクニックの一つが「アップサイクリング(upcycling)」手法です。これは既存の密なモデルを取り、それをMoEモデルに変換するプロセスを指します。このアプローチは、MoEモデルのトレーニングに関連する多くの課題に対する賢い解決策を提供します。
アップサイクリングの基本的なアイデアは非常にシンプルです。まず、よくトレーニングされた密なモデルを持っているとします。その密なモデルのMLPを複数コピーして、それらをわずかに変更します。次に、ゼロから初期化したルーターを追加し、それをMoEモデルとして扱います。その時点から、通常のMoEとしてトレーニングを続けるのです。
このプロセスをより詳細に見てみましょう:
- 密なモデルを事前トレーニングする:まず、標準的な密なトランスフォーマーモデルを通常通りトレーニングします。このモデルは、言語モデリングタスクでよく収束しているべきです。
- MLP層を複製する:この密なモデルのMLPを複数のコピーとして複製します。例えば、8つのエキスパートを持つMoEにする場合、各層のMLPを8回コピーします。
- 重みを変動させる:各エキスパートのコピーに小さなランダムな変動を加えることで、それぞれが少し異なるものになります。これは、エキスパートが異なる特化領域に進化できるようにするためです。
- ルーターを追加する:ルーティングネットワークを追加します。これは通常、ゼロから初期化されます。
- MoEとしてさらにトレーニングする:この初期化されたMoEモデルを、さらにトレーニングし続けます。ルーターが適切なルーティング決定を学習し、エキスパートがそれぞれの特化領域を発展させるようにします。
このアプローチには、複数の大きな利点があります:
- 計算効率:密なモデルのトレーニングからスタートするため、MoEモデルをゼロからトレーニングするよりも計算効率が大幅に向上します。これは、大規模なモデルを扱う際に特に重要です。
- 安定性の向上:既にトレーニングされた密なモデルから始めるため、MoEトレーニングの初期段階における不安定性を回避できます。
- パラメータ効率:最終的なMoEモデルは、同等のパフォーマンスを持つ密なモデルよりも、しばしば効果的なパラメータ数が少なくなります(活性化されるパラメータのみをカウントした場合)。
- 推論効率:完全にトレーニングされた密なモデルよりも、推論時のフロップス数が少なくなります。
この手法は特に、すでにトレーニングされた優れた密なモデルがあり、それをさらに改善したいが、計算リソースが限られている場合に価値があります。MoEをゼロからトレーニングするよりも、はるかに少ないリソースでMoEモデルを構築できます。
アップサイクリング手法は、MoEモデルをより少ないリソースでトレーニングできるだけでなく、より良いパフォーマンスを実現できる可能性があります。密なモデルが既に言語の基本的な構造や知識を学習しているため、MoEの各エキスパートはその基盤の上に構築され、特定のパターンに特化することができます。
また、この方法は「継続的な学習」のシナリオにも適しています。新しいデータが利用可能になったとき、既存の密なモデルをMoEにアップサイクルし、新しいデータでさらに効率的にトレーニングを続けることができます。
アップサイクリングは、限られたリソースで最大の成果を得るための実践的なアプローチであり、多くの研究グループや企業によって採用されている技術です。次のセクションでは、このアプローチの具体的な成功事例を見ていきます。
12.2 Mini CPMとQuenの成功事例
橋本教授: アップサイクリング手法の有効性を示す具体的な成功事例として、Mini CPMとQuenの事例を詳しく見ていきましょう。これらの例は、既存の密なモデルからMoEモデルへの変換が実際に機能し、計算効率と性能の両方で利益をもたらすことを示しています。
Mini CPMは、中国のAI企業が開発した小規模で効率的な言語モデルのシリーズです。彼らの目標は、できるだけ小さいながらも高性能なモデルを構築することでした。この目標に向けて、彼らは密なモデルをMoEにアップサイクルする手法を採用しました。
Mini CPMのケースでは、彼らは密なモデルをトレーニングし、それをMoEバージョンに変換しました。その結果は非常に印象的でした。彼らの数値を見ると、密なモデルからMoEモデルへの変換によって、性能が大幅に向上していることがわかります。密なモデル版に比べて、MoE版では非常に大きなパフォーマンスの向上が見られました。
このアップサイクリングプロセスにより、Mini CPMは小さなパラメータフットプリントを維持しながら、より大きな密なモデルに競合する性能を達成することができました。これは、リソースが限られた環境や、より効率的なデプロイメントが必要な状況で特に価値があります。
もう一つの顕著な成功事例はQuen 1.5です。先ほども言及したように、Quenは彼らの初期のMoE実験の一つで、既存の密なモデルをMoEにアップサイクルする手法を使用しました。彼らの成功は特に注目に値します。
Quenのアプローチでは、彼らは既存の密なモデルを取り、それをMoEにアップサイクルしました。その結果、彼らは7Bモデルと比較して、計算効率の面で大幅な改善を示しつつ、総パラメータ数を削減することに成功しました。具体的には、彼らは2.7B活性パラメータモデルで、以前の7Bモデルと同等の性能を達成しました。
これは非常に印象的な結果です。活性パラメータの数が約1/3になったにもかかわらず、性能を維持したのです。これは、MoEアーキテクチャがどれだけパラメータ効率的であるかを示す強力な証拠です。さらに、アップサイクリングアプローチにより、このような成果をゼロからMoEをトレーニングするよりもはるかに少ない計算リソースで達成できました。
Quenのケースでは、彼らは以下のようなアップサイクリングプロセスを採用しました:
- 既存の密なモデル(Quen)をベースとして使用
- 各層のMLPを複数のエキスパートに分割し、わずかに変動させる
- ルーターを追加して初期化
- MoEとしてさらにトレーニングを続ける
この方法により、彼らは既存のモデルの知識をすべて保持しながら、MoEアーキテクチャの利点を付加的に得ることができました。これは特に効率的なアプローチです。
Mini CPMとQuenの成功事例は、アップサイクリングが単なる理論的可能性ではなく、実際のモデル開発において実用的で効果的な戦略であることを示しています。これらの事例は、限られたリソースでMoEモデルを開発したい研究者や組織にとって、重要な前例となっています。
これらの成功事例から学べる重要なポイントは、優れた密なモデルから始めることの価値です。ベースとなる密なモデルの品質が高いほど、アップサイクルされたMoEモデルも優れたパフォーマンスを発揮する可能性が高くなります。また、これらの例は、MoEが単に大規模モデルのためだけではなく、より小さな効率的なモデルを構築するためにも価値があることを示しています。
12.3 コスト効率の高い性能向上
橋本教授: アップサイクリングの最も魅力的な側面の一つは、計算コストとモデル性能の間に非常に有利なトレードオフを提供することです。この手法がいかにコスト効率の高い性能向上につながるかを詳しく見ていきましょう。
MoEモデルの主要な利点は、推論時にすべてのMLPが活性化されるわけではないということです。各トークンは通常、利用可能なエキスパートのうちの少数(トップK個)だけを使用します。したがって、はるかに大きなパラメータプールを持ちながらも、推論時の計算コストは比較的小さく維持されます。
アップサイクリングは、この利点をさらに強化します。以下がこのアプローチがいかにコスト効率的であるかの理由です:
- トレーニングコストの大幅な削減: MoEモデルをゼロからトレーニングするのと比較して、アップサイクリングは計算コストを大幅に削減します。既にトレーニングされた密なモデルから始めるため、基本的な言語能力の学習にかかる膨大なコストを避けることができます。それに代わって、ルーターのトレーニングと各エキスパートの特化に注力できます。これは、大規模モデルのトレーニングでは特に重要で、70%以上のトレーニングコストを節約できる可能性があります。
- より少ないデータでの効果的なトレーニング: アップサイクリングでは、事前トレーニングされた密なモデルの知識を活用するため、特化フェーズにははるかに少ないデータで済みます。これはデータコスト(特に高品質データの取得と処理)を考慮すると重要な要素です。
- より早いイテレーション: 研究開発サイクルでは、迅速な実験と反復が不可欠です。アップサイクリングにより、新しいMoEアーキテクチャのアイデアやルーティング戦略を素早くテストできます。Quenの例では、この手法によりわずか数週間でMoE実装を完成させることができました。
- 大きなパラメータプールと小さな計算コストの両立: アップサイクルされたMoEモデルは、同等の計算コストの密なモデルよりも多くのパラメータを持ちます。例えば、Mini CPMのMoE版は、同等の密なモデルと比較して2~3倍のパラメータを持ちながら、推論時のコストはほぼ同じでした。この「追加のパラメータが無料で得られる」という側面は、知識集約型のタスクで特に価値があります。
- スケーリングの効率化: アップサイクリングは、より大きなモデルへのスケーリングパスを提供します。例えば、7Bの密なモデルを30Bパラメータ相当のMoEモデルにアップサイクルしても、30Bの密なモデルをトレーニングするよりもはるかに少ないリソースで済みます。
具体的な数値で見ると、Quenの例では、2.7B活性パラメータのMoEモデルが、7B密なモデルと同等の性能を達成しました。これは活性パラメータが約60%少ないにもかかわらず、同等の性能を示したことになります。
Mini CPMの例では、アップサイクルされたMoEモデルは、密なバージョンと比較して複数のベンチマークで10-15%の性能向上を示しました。これは、追加のトレーニングコストがわずかである一方で、かなりの性能向上が得られることを示しています。
アップサイクリングのもう一つの利点は、モデルのさまざまな部分を選択的に強化できることです。例えば、特定のドメインや言語に対処するために特化したエキスパートを追加できます。これにより、モデル全体を再トレーニングすることなく、特定の能力を向上させることができます。
ただし、アップサイクリングにも限界があります。元の密なモデルの品質が、最終的なMoEモデルの上限を大きく決定します。また、ルーターの効果的なトレーニングは依然として難しい課題であり、不適切なルーティングは性能を損なう可能性があります。
それでも、リソースが限られている組織や研究者にとって、アップサイクリングは最先端のMoEモデルを構築するための実現可能な道を提供します。大企業が数千万ドルをかけてゼロからMoEモデルをトレーニングする一方で、より小さな組織はアップサイクリングを通じて、競争力のあるモデルを構築できます。
このアプローチの実際的な価値は、Mini CPMとQuenの成功によって明確に示されています。両方のケースで、比較的少ないリソース投資で、印象的な性能向上が達成されました。これは、MoE技術をより広く利用可能にする上で重要な進展です。
13. DeepSeek MoEアーキテクチャの詳細分析
13.1 DeepSeek V1/V2/V3の進化
橋本教授: 最後に、この講義の締めくくりとして、DeepSeek MoEアーキテクチャの進化を詳細に追跡したいと思います。これは現代の高性能オープンソースシステムの例として、MoEがどのように実装され、進化してきたかを理解するのに役立ちます。
まず始めに、DeepSeek V1(または単にDeepSeek MoE)から見ていきましょう。これは160億パラメータモデルで、そのうち28億パラメータが活性化されます。
DeepSeek V1のアーキテクチャは、以下の主要な特徴を持っていました:
- エキスパート構成:64個の細分化エキスパートと2個の共有エキスパートを採用。
- 活性化パターン:各トークンに対して約6個のエキスパートが活性化(2個の共有エキスパートと4個の細分化エキスパート)。
- ルーティング:標準的なTop-Kルーティング。ソフトマックスはTop-K選択の前に適用。
- バランシング:エキスパートレベルとデバイスレベルの両方での補助的なバランシング損失。
このアーキテクチャは、細分化エキスパートと共有エキスパートを組み合わせるという革新的なアプローチを導入しました。各細分化エキスパートは標準サイズの約1/4であり、より多くのエキスパートを持ちながらも、活性化パラメータ数を管理可能に保つことができました。
次に、DeepSeek V2は、V1の成功を踏まえて大幅にスケールアップしたモデルです。このモデルは以下の特徴を持っています:
- 総パラメータ数:2360億
- 活性化パラメータ数:210億
- アーキテクチャ:基本的な構造はV1と同じで、エキスパート数を大幅に増加。
- 通信最適化:Top-Mデバイス選択の導入。これは各バッチに対して最初に上位M個のデバイスを選択し、それらのデバイス内でエキスパートを選択するという手法。
- 通信バランシング損失:出力通信コストもバランスさせるための追加損失。
DeepSeek V2の大きな革新は、特に通信効率に関するものでした。Top-Mデバイス選択は、通信コストを大幅に削減し、モデルを非常に大規模にスケールすることを可能にしました。彼らはまた、通信バランシング損失を導入し、入力だけでなく出力の通信コストもバランスが取れるようにしました。
最後に、DeepSeek V3は、この進化の最新段階です:
- 総パラメータ数:6710億
- 活性化パラメータ数:370億
- エキスパート構成:V1/V2と同様だが、さらに多くのエキスパート。
- ルーティング変更:ソフトマックスではなくシグモイドを使用する修正版Top-Kルーティング。
- バランシング手法:「補助損失フリーバランシング」を導入し、B_iというバイアス項を追加。このバイアスはオンライン勾配スキームで学習され、エキスパートの負荷に基づいて調整される。
- シーケンス単位のバランシング:シーケンスレベルでのバランスを取るための補完的な補助損失を追加。
DeepSeek V3では、ルーティングとバランシングのメカニズムに重要な変更が加えられました。特に注目すべきは「補助損失フリーバランシング」の導入です。これは、伝統的な補助的バランシング損失を排除し、代わりにルーターの計算に直接組み込まれたバイアス項を使用します。ただし、彼らはシーケンスレベルのバランシングのために補助損失を維持しており、「完全に補助損失フリー」というわけではありません。
興味深いのは、DeepSeek V3が多頭潜在アテンション(MLA)と複数トークン予測(MTP)という二つの補完的な技術も導入していることです。MLAはKVキャッシュの効率性を高め、MTPは並列トークン予測を行います。しかし、基本的なMoEアーキテクチャ自体はV1から大きく変わっていません。
この進化の過程で注目すべき点は、DeepSeekが非常に早い段階でMoEの基本アーキテクチャを確立し、それを大規模にスケールする戦略を取ったことです。V1でのアーキテクチャ選択の多くが、V2とV3にも引き継がれています。主な違いは、パラメータ数、エキスパート数、そしてバランシングとルーティングの詳細にあります。
V1からV3への進化は、アーキテクチャの革命というよりも、同じ基本設計の周到な改良と最適化の物語です。DeepSeekは早い段階で細分化エキスパートと共有エキスパートの組み合わせが効果的であることを発見し、それを維持しながらスケールアップしました。彼らの成功は、基本的なアーキテクチャが適切であれば、それを大規模に適用することで非常に強力なモデルを構築できることを示しています。
このDeepSeekの進化は、MoEアーキテクチャが実際のシステムでどのように実装され、スケールされるかを理解する上で貴重な事例です。彼らのアプローチは多くの後続モデル(Quen、Mixtral、Llama 4など)にも影響を与えており、現代のMoE設計における重要な参照点となっています。
13.2 ルーティングアルゴリズムの最適化
橋本教授: DeepSeek MoEアーキテクチャ進化の重要な側面の一つが、ルーティングアルゴリズムの継続的な最適化です。各バージョンで、彼らはルーターの性能と安定性を向上させるための洗練された改良を導入しています。
DeepSeek V1では、標準的なトップKルーティングを採用していました。このアプローチでは:
- 入力トークン(残差ストリーム入力)がルーターに入力されます。
- ルーターは各エキスパートとの内積(ベクトル間の類似性を測定)を計算します。
- これらのスコアにソフトマックスを適用して確率分布を生成します。
- トップK個の確率値を持つエキスパートが選択され、他はゼロに設定されます。
- これらの確率値がゲートとして使用され、選択されたエキスパートの出力を重み付けします。
このルーティング方式はシンプルですが効果的で、DeepSeek V1のモデルで良好な性能を示しました。ソフトマックスをトップK選択の前に適用することで、選択されたエキスパートの確率値が自然に正規化されます。
DeepSeek V2では、基本的なルーティングメカニズムはV1とほぼ同じでしたが、重要な最適化としてTop-Mデバイス選択が導入されました。これはルーティングアルゴリズム自体の変更というよりも、通信効率を高めるための拡張と見なせます。このアプローチにより、各トークンがデバイスレベルでまず選択を行い、次にそれらの選択されたデバイス内でエキスパートが選択されるようになりました。
しかし、DeepSeek V3では、ルーティングアルゴリズムにいくつかの重要な変更が加えられました:
- ソフトマックスからシグモイドへ:彼らはソフトマックスの代わりにシグモイド関数を使用するようになりました。シグモイドはより「柔らかい」関数で、数値的により安定しており、極端な値を生成しにくい特性があります。
- ゲートの正規化:彼らはゲート値を1に正規化するようになりました。これはソフトマックスを使用しなくなったため、明示的な正規化ステップが必要になったためです。
- 補助損失フリーバランシング:最も革新的な変更は、ルーターのスコア計算に直接バイアス項B_iを導入したことです。このアプローチでは:
- 各エキスパートに対するスコア計算に小さなバイアス項B_iが追加されます。
- このバイアスは、エキスパートの使用状況に基づいてオンラインで調整されます。
- エキスパートがトークンを十分に受け取っていない場合、そのB_iは増加し、エキスパートの「魅力度」が高まります。
- エキスパートが多すぎるトークンを受け取っている場合、B_iは減少します。
この補助損失フリーバランシング手法は、従来のバランシング損失を排除し、より直接的なアプローチでエキスパート間のバランスを維持することを目的としています。しかし興味深いことに、DeepSeek V3は完全にバランシング損失を排除したわけではなく、シーケンスレベルでのバランスを取るための「補完的シーケンス単位の補助損失」を追加しています。
シーケンスレベルのバランシングが追加された理由は主に推論時の懸念からです。トレーニング中はバッチ内のトークン分布を制御できますが、推論時には非常に異なる分布のシーケンスが入力される可能性があります。特定のシーケンスが特定のエキスパートに過負荷をかける可能性があるため、シーケンスレベルのバランシングが追加されました。
ルーティングアルゴリズムのこれらの進化は、MoEモデルのトレーニングと推論の両方を安定させ、効率化するための継続的な取り組みを反映しています。特にDeepSeek V3のバイアスベースのアプローチは興味深い革新であり、従来のバランシング損失よりも効果的かつ安定している可能性があります。
ルーティングの最適化の成功は、DeepSeek V3の優れた性能の重要な要因となっています。効率的かつ安定したルーティングにより、各エキスパートが最適に活用され、モデル全体の性能が向上します。彼らのアプローチは、長年の実験と精密なエンジニアリングの成果であり、現代のMoEアーキテクチャにおける重要な参照点となっています。
13.3 通信効率化のためのTop-Mデバイス選択
橋本教授: DeepSeek V2で導入された最も重要な革新の一つが、Top-Mデバイス選択手法です。この技術は、大規模なMoEモデルをトレーニングする際の主要なボトルネックの一つである通信コストを大幅に削減することを目的としています。
MoEモデルをスケールアップするとき、特に非常に多数の細分化エキスパートを持つ場合、デバイス間の通信が深刻な問題になります。エキスパートが多数のデバイスに分散されている場合、各トークンが複数のデバイスと通信する必要があり、これが全体的なトレーニングと推論の効率を低下させます。
通常のMoEアプローチでは、各トークンはすべてのエキスパートに対してスコアを計算し、最高スコアを持つK個のエキスパートを選択します。しかし、これらのエキスパートが異なるデバイスに存在する場合、このプロセスは多くのデバイス間通信を必要とします。トークンの数が多く、エキスパートのデバイス分布が広い場合、この通信オーバーヘッドは非常に大きくなります。
DeepSeek V2はこの問題に対処するために、Top-Mデバイス選択という非常に賢いアプローチを導入しました。この手法は次のように機能します:
- デバイスレベルの選択:まず、各トークンはデバイスレベルでスコアを計算します。つまり、各デバイス上のすべてのエキスパートに対する合計スコアを計算します。
- Top-Mデバイスの選択:次に、最高スコアを持つM個のデバイスのみが選択されます。例えば、M=2の場合、各トークンは最大2つのデバイスとしか通信しません。
- デバイス内でのエキスパート選択:選択されたM個のデバイス内でのみ、各トークンはTop-Kエキスパート選択を実行します。
このアプローチの主な利点は、通信の局所性です。トークンは限られた数のデバイスとしか通信せず、これにより全体的な通信量が大幅に削減されます。例えば、100個のデバイスにエキスパートが分散されている場合、Top-Mアプローチを使用すれば(M=4として)、トークンは最大4つのデバイスとしか通信しないため、通信量が最大で96%削減される可能性があります。
この方法の効果は、特に大規模なモデルで顕著です。DeepSeek V2(2360億パラメータ)やV3(6710億パラメータ)のような超大規模モデルでは、通信効率がトレーニングと推論の実現可能性を左右します。Top-Mデバイス選択により、これらのモデルを現実的な時間枠内でトレーニングすることが可能になりました。
さらに、DeepSeek V2では通信バランシング損失も導入されました。これは、入力通信だけでなく出力通信もバランスさせることを目的としています。エキスパート計算を考えると:
- 入力通信:トークンがエキスパートのあるデバイスに送信される
- 出力通信:処理されたトークンがトークンの元の位置に戻される
従来のバランシング手法は主に入力側に焦点を当てていましたが、DeepSeekは出力通信コストもバランスさせる損失関数を追加しました。これにより、一部のデバイスが過度の出力通信負荷を持つことを防ぎ、通信のボトルネックをさらに軽減しました。
DeepSeek V3でも、Top-Mデバイス選択は維持されています。しかし、通信バランシング損失は明示的には言及されていないため、V3でもこの損失が使用されているかは不明です。いずれにせよ、Top-Mデバイス選択そのものが非常に効果的な通信最適化手法であり、これだけでも大幅な効率化が実現できます。
Top-Mデバイス選択の導入は、MoEアーキテクチャのスケーリングにおける重要な進歩を表しています。この手法により、細分化エキスパートの数を大幅に増やしても、通信コストを管理可能に保つことができます。これは、モデル容量とトレーニング効率の両方を向上させる優れたトレードオフを提供します。
興味深いことに、この手法はモデルの表現能力にもポジティブな影響を与える可能性があります。デバイスレベルでの選択は、関連するエキスパート間の共起を促進し、より一貫した特化が行われる可能性があります。これはまだ厳密に証明されていませんが、Top-Mアプローチの副次的な利点かもしれません。
このような通信最適化は、特に超大規模モデルのトレーニングにおいて不可欠です。DeepSeekの貢献は、単に理論的に興味深いだけでなく、実用的な大規模MoEモデルのトレーニングを可能にするという点で非常に価値があります。
14. 補完的技術
14.1 多頭潜在アテンション(MLA)によるKVキャッシュ最適化
橋本教授: DeepSeek V3でMoEアーキテクチャを補完するために導入された重要な技術の一つが、多頭潜在アテンション(Multi-head Latent Attention、MLA)です。この革新はアテンション機構を最適化し、特にKVキャッシュのサイズを削減することを目的としています。
この技術を理解するために、まずアテンション層の通常の機能を振り返りましょう。前回の講義でGQA(Grouped Query Attention)やMHA(Multi-head Attention)について説明しましたが、これらはすべてKVキャッシュのサイズを最適化するための技術です。
標準的なトランスフォーマーでは、入力トークンがアテンションヘッドを通過すると、各トークンに対して直接キー(K)と値(V)が生成されます。これらのKとVはキャッシュされ、後続のトークン生成で再利用されます。大規模なモデルでは、このKVキャッシュのサイズが非常に大きくなり、メモリ使用量の主要な要因になります。
DeepSeekのMLAアプローチは、この問題に対して非常に巧妙な解決策を提供します。標準的なアプローチとの主な違いは次の通りです:
- 潜在表現の導入:MLAでは、入力H(t)から直接KとVを生成する代わりに、まず低次元の「圧縮された」表現Cを生成します。このCは元のH(t)よりもサイズが小さく、キャッシュするのが容易です。
- 次元の拡張:必要なときに、このCから完全なKとVを「アップ投影」します。つまり、低次元の潜在表現から、必要に応じて高次元のKとVを復元します。
- 計算効率の維持:一見すると、このアップ投影は追加の計算コストのように見えますが、実際にはこの変換行列(W_UK)をクエリ投影行列(Q)と統合することで、追加の計算を回避しています。これは行列乗算の結合法則を利用した巧妙な最適化です。
この方法の主な利点は、キャッシュするデータ量が大幅に削減されることです。元のKとVの代わりに、より小さなCをキャッシュするだけで済み、必要なときにKとVを再構築できます。例えば、潜在次元が元の次元の半分である場合、KVキャッシュのサイズもほぼ半分になります。
DeepSeekはクエリの圧縮も導入しており、トレーニング中のメモリ使用量をさらに削減しています。ただし、これはKVキャッシュには直接影響しないため、推論効率への影響は限定的です。
MLAの実装においては、ROPEポジショナルエンコーディングとの互換性に関する課題もありました。標準的なROPE(Rotary Position Embedding)はMLAアプローチと直接互換性がないため、DeepSeekは「非圧縮次元でのROPE」と呼ばれる適応を導入しました。これにより、潜在表現アプローチとROPEの利点を両立させています。
MLAのようなKVキャッシュ最適化は、特に長いシーケンスを処理する場合や限られたGPUメモリでの大規模モデルのデプロイメントにおいて非常に重要です。推論時のメモリ使用量を削減することで、同じハードウェア上でより大きなモデルやより長いコンテキストウィンドウを扱うことが可能になります。
この技術はMoEアーキテクチャと直接関連しているわけではありませんが、大規模言語モデルのデプロイメントにおける全体的な効率を向上させる重要な補完技術です。MoEによってパラメータ効率が向上し、MLAによってメモリ効率が向上するため、これらの技術を組み合わせることで、リソース制約の中でも最大限の性能を発揮することができます。
MLAのようなアテンション最適化技術は、現代の言語モデル設計における重要なトレンドを反映しています。モデルサイズとコンテキスト長の増加に伴い、メモリ効率の最適化はますます重要になっています。DeepSeekのMLAアプローチは、この課題に対する革新的な解決策を提供し、モデルの能力を損なうことなく効率を大幅に向上させます。
14.2 複数トークン予測(MTP)の実装
橋本教授: DeepSeek V3のもう一つの補完的技術として、複数トークン予測(Multi-Token Prediction、MTP)があります。この技術は、モデルがより効率的に学習し、単一の推論ステップでより多くの情報を抽出することを可能にします。
標準的な言語モデルのトレーニング方法では、モデルは入力を受け取り、それを1トークン左にシフトして次のトークンを予測します。つまり、各位置で、モデルは次の1トークンを予測することだけを学習します。これは自己回帰モデリングの基本的なアプローチです。
DeepSeekのMTP手法は、この標準的なアプローチを拡張し、モデルが複数の将来トークンを同時に予測できるようにします。その仕組みは以下の通りです:
- 標準トランスフォーマー処理:まず、入力がトランスフォーマーを通常通り通過し、各位置の隠れ状態が計算されます。
- 追加の軽量トランスフォーマー:標準的な予測を行う直前に、隠れ状態が非常に軽量な単層トランスフォーマーに渡されます。
- 追加のトークン予測:この軽量トランスフォーマーは、次のトークンではなく、「次の次のトークン」を予測します。つまり、2トークン先を予測します。
- 複数のトークン予測ヘッド:原則的には、このアプローチを拡張して、3トークン先、4トークン先など、より多くの将来トークンを予測することも可能です。
この手法により、モデルは複数の時間スケールで情報を処理することを学習し、より深い言語の構造を把握できるようになります。特に、モデルは長期的な依存関係をより効果的に捉えるようになる可能性があります。
MTPの利点は複数あります:
- トレーニングの効率化:各フォワードパスで複数のトークンを予測することで、トレーニングデータからより多くの情報を抽出し、トレーニングの効率を向上させます。
- 長期依存関係の改善:複数ステップ先を予測することで、モデルはより長い範囲の依存関係に注意を払うようになります。
- 損失関数の多様化:異なる距離のトークンに対して異なる重みを設定することで、モデルの学習プロセスをより細かく制御できます。
実際のDeepSeek V3実装では、興味深いことに、MTPは1トークン先の予測のみに適用されています。DeepSeekの論文には複数トークンの予測方法を示す複雑な図がありますが、実際には1トークン先のみを予測しています。この限定的な実装であっても、トレーニングの安定性と最終的な性能に利点があることが示されています。
MTPはMoEアーキテクチャと直接関連しているわけではありませんが、言語モデルの全体的な能力を向上させる補完的な技術として機能します。MoEがモデルの容量と計算効率を向上させる一方、MTPはトレーニングプロセス自体の効率と効果を向上させます。
この組み合わせは、DeepSeek V3の優れた性能の一因となっています。MoEアーキテクチャが大量のパラメータを効率的に活用し、MLAがメモリ使用量を最適化し、MTPがトレーニングプロセスを強化することで、これらの技術は相乗的に機能し、現代の高性能言語モデルを実現しています。
MTPのような予測手法の探索は、言語モデルのトレーニングをさらに最適化するための継続的な研究の一部です。自己回帰的予測の基本的な枠組みを維持しながらも、各トレーニングステップからより多くの情報を抽出することで、限られたデータと計算資源からより良いモデルを構築することができます。
15. まとめと展望
15.1 MoEの総合的な利点
橋本教授: この講義を締めくくるにあたり、Mixture of Expertsアーキテクチャの総合的な利点について振り返り、その重要性をまとめたいと思います。
MoEアーキテクチャは、現代の高性能言語モデルにおいて非常に価値のある技術となっています。その主な利点は以下の通りです:
- 計算効率とパラメータ効率のバランス: MoEの最も顕著な利点は、計算コスト(フロップス)とモデル容量の間に優れたトレードオフを提供することです。同じ計算量で、より多くのパラメータを持つモデルを構築できます。Fetisらの研究が示すように、同じフロップス数でトレーニングした場合、エキスパート数を増やすにつれて言語モデルの性能が継続的に向上します。これは、限られた計算リソースでより強力なモデルを構築したい場合に特に価値があります。
- スケーラビリティの向上: MoEアーキテクチャは、エキスパートパラレリズムという新しい並列化の軸を提供します。これにより、モデルを複数のデバイスに効率的に分散させることができ、超大規模モデルのトレーニングとデプロイメントが可能になります。DeepSeek V3(6710億パラメータ)のような巨大モデルは、このアプローチなしでは実用的にトレーニングすることが困難でしょう。
- 推論効率の向上: MoEモデルは推論時にも効率的です。各トークンは利用可能なエキスパートの一部のみを使用するため、活性化パラメータ数は総パラメータ数よりもはるかに少なくなります。DeepSeek V2の例では、2360億パラメータモデルでも、活性化されるのは約210億パラメータだけです。これにより、大規模なモデル容量を持ちながらも、推論時のレイテンシとコストを管理可能に保つことができます。
- 専門化による性能向上: MoEアーキテクチャでは、異なるエキスパートが異なる種類の入力を処理するよう専門化します。これにより、モデルはより多様なパターンと知識を捕捉できるようになり、全体的な性能が向上します。特に、言語の異なる側面(文法、特定のドメイン知識、スタイルなど)に特化したエキスパートが自然に発生する可能性があります。
- アップサイクリングの可能性: 既存の密なモデルをMoEモデルに変換する能力は、限られたリソースを持つ組織にとって特に価値があります。Mini CPMとQuenの例が示すように、このアプローチは計算コストの大幅な削減で性能を向上させることができます。
- アーキテクチャの柔軟性: 細分化エキスパートと共有エキスパートの概念を通じて、MoEアーキテクチャは非常に柔軟に設計できます。エキスパートの数、サイズ、活性化パターンを調整することで、特定のリソース制約や性能目標に合わせてモデルをカスタマイズできます。
- システムレベルの最適化との相乗効果: Top-Mデバイス選択やスパース行列乗算の最適化などの技術と組み合わせることで、MoEの利点をさらに拡大できます。これらの最適化により、理論的な計算効率の利点が実際のトレーニングと推論の速度向上に変換されます。
実際の事例からも、MoEの総合的な価値は明らかです。DeepSeek V3、Mixtral、そして最近のLlama 4は、大規模言語モデルにおいてMoEアーキテクチャが持つ競争力を示しています。これらのモデルは、同等の密なモデルと比較して、より少ない計算リソースでより優れた性能を達成しています。
MoEの利点は、単なる学術的な関心事ではなく、実際のシステムで価値を提供することが証明されています。特に、計算資源が限られている状況やコスト効率が重要な商用デプロイメントにおいて、MoEアーキテクチャは非常に魅力的なアプローチとなっています。
モデルがさらに大規模化し、より長いコンテキストウィンドウを持つようになるにつれて、MoEの計算効率と並列化の利点はますます重要になると予想されます。2025年の現時点では、MoEアーキテクチャが最先端の言語モデルにおいて標準的な選択肢になりつつあることは明らかです。
15.2 離散的ルーティングの課題
橋本教授: MoEの多くの利点にもかかわらず、このアーキテクチャには依然として重要な課題があります。特に、離散的なルーティング決定の最適化は、MoEの実装における最も困難な側面の一つです。
ルーティング決定の非微分可能性は根本的な課題です。深層学習では、モデルのすべての部分が微分可能であることが理想的です。これにより、勾配降下法を使用して効率的にパラメータを最適化できます。しかし、MoEのルーティング決定は本質的に離散的です。各トークンがどのエキスパートに送られるかという決定は、連続的な勾配を持ちません。
この問題に対処するためのアプローチはいくつかありますが、それぞれに限界があります:
- 強化学習(RL): 離散的な決定を学習するためのRLの使用は理論的には魅力的ですが、実装が複雑で計算コストが高く、しばしば不安定です。Clark et al.の研究では、RLアプローチがより単純な手法よりも著しく優れているわけではないことが示されています。
- 確率的近似: 確率的ノイズを導入して探索を促進するアプローチは有望ですが、エキスパートの専門化を減少させ、モデルの効率を低下させる可能性があります。多くの最新モデルはこのアプローチを採用していません。
- ヒューリスティックなバランシング損失: 最も広く採用されているソリューションは、ルーティング決定を直接最適化するのではなく、エキスパート間でトークンが均等に分配されるようにバランシング損失を追加することです。これは完全に原理的なアプローチではありませんが、実際には効果的です。
それでもなお、これらのソリューションはいずれも理想的ではありません。バランシング損失は一種の「裏技」であり、真にルーティング決定を最適化しているわけではありません。それはただ、すべてのエキスパートが使用されるように強制しているだけです。
離散的なルーティングに関連する他の課題には以下があります:
- トレーニングの不安定性: MoEモデルは特に初期のトレーニング段階で不安定になりやすいです。ルーティング決定が変動しやすく、これが勾配の急激な変化やときには発散につながる可能性があります。Z-lossや高精度の計算などの安定化技術が必要になることが多いです。
- エキスパートの崩壊: 適切なバランシングがなければ、一部のエキスパートが過度に使用され、他のエキスパートが「死んで」しまう(ほとんど使用されない)現象が発生します。これは効果的にモデル容量を減少させます。
- トークンのドロッピング: 特定のエキスパートが過負荷になった場合、一部のトークンがドロップされ、これがモデルの性能に影響する可能性があります。
- 負荷バランシング: エキスパートとデバイス間でワークロードを均等に分配することは複雑な最適化問題です。理想的なバランスを達成することは難しい場合があります。
DeepSeek V3の補助損失フリーバランシングのようなアプローチは、これらの課題に対する革新的な解決策を提供しています。バイアス項B_iを導入し、それを使用して各エキスパートの「魅力度」を動的に調整することで、彼らはルーティング決定をより直接的に最適化しようとしています。しかし、彼らも完全にバランシング損失を排除することはできず、シーケンスレベルでのバランシングのために補助損失を追加しています。
離散的なルーティングの課題は、MoEがより広く採用されることを妨げている主な要因の一つです。より原理的で安定したルーティング最適化アプローチの開発は、MoE研究における最も重要な課題の一つであり続けています。この問題が解決されれば、MoEモデルのトレーニングとデプロイメントはより簡単になり、より多くの研究者や組織がこの強力な技術を採用できるようになるでしょう。
しかし、これらの課題にもかかわらず、既存のヒューリスティックなアプローチが実際のシステムで驚くほど効果的であることは注目に値します。MoEモデルは、ルーティングの最適化が完璧ではなくても、優れた性能を示しています。より良いルーティング最適化手法の開発は、すでに強力なMoEアーキテクチャをさらに向上させる可能性を秘めています。
15.3 フロップス制約下での費用対効果
橋本教授: 計算リソースが限られた環境における費用対効果という観点から見ると、MoEアーキテクチャは非常に魅力的な選択肢です。フロップス(計算量)に制約がある状況では、MoEは同じ計算予算でより高い性能を実現できる可能性があります。
フロップス制約下での費用対効果を評価する際の主要なポイントは以下の通りです:
- パラメータ効率の優位性: 同じフロップス数でトレーニングした場合、MoEモデルは密なモデルよりも優れた性能を示すことが多くの研究で一貫して示されています。Fetisらの2022年の研究では、エキスパート数を増やすにつれて、同じ計算量でトレーニングされた言語モデルの性能が継続的に向上することが示されました。これは、限られた計算予算で最大の成果を得たい組織にとって非常に価値があります。
- スケーリングの効率化: MoEモデルは、密なモデルよりも効率的にスケールします。DeepSeekやOMOの研究が示すように、モデルサイズが大きくなるにつれて、MoEの利点はより顕著になります。これは、フロップス制約下でより大きなモデルを構築したい場合に特に重要です。
- 推論コストの最適化: 実用的な展開では、推論コストが大きな考慮事項となります。MoEモデルは推論時にすべてのパラメータを活性化するわけではないため、活性化されるパラメータ数に基づいて評価すると非常に効率的です。DeepSeek V2の例では、活性化パラメータは総パラメータの約9%にすぎません。
- アップサイクリングの経済性: 既存の密なモデルをMoEにアップサイクルする能力は、特に小規模な組織にとって大きな経済的利点を提供します。Quenの例では、彼らは既存の密なモデルを使用して2.7B活性パラメータのMoEモデルを作成し、7B密なモデルと同等の性能を達成しました。これは、大規模なモデルトレーニングのコストを大幅に削減できることを示しています。
- パラレリズムの経済的利点: エキスパートパラレリズムは、大規模なコンピューティングクラスタをより効率的に使用する方法を提供します。これにより、ハードウェアの使用率が向上し、トレーニングコストが削減されます。
実際の例を見ると、MoEの費用対効果は明らかです。DeepSeek V3のような大規模MoEモデルは、同等のパラメータサイズの密なモデルをトレーニングするよりもはるかに少ないリソースでトレーニングできました。同様に、Mixtralは8x7Bの構造を使用して、より大きな密なモデルと競合する性能を達成しています。
しかし、MoEの費用対効果を最大化するにはいくつかの重要な考慮事項があります:
- 適切なエキスパート構成の選択: エキスパートの数、サイズ、活性化パターンの最適な組み合わせを見つけることが重要です。これは、利用可能なリソースと性能目標に依存します。
- システム最適化の重要性: MoEの理論的な利点を実際の時間とエネルギーの節約に変換するには、効率的な実装が不可欠です。MegablocksのようなライブラリやTop-Mデバイス選択などの技術は、MoEの経済的利点を最大化するのに役立ちます。
- トレーニングの安定性とコスト: MoEモデルの不安定性は、トレーニングの失敗や非効率につながる可能性があります。安定化技術に投資することは、長期的にはコスト効率を向上させます。
MoEの費用対効果を最大化するための最適な戦略は、具体的な状況に依存します。限られたリソースしか持たない組織は、既存のモデルのアップサイクリングや比較的小規模なMoEモデルの開発から始めることができます。より大きなリソースを持つ組織は、DeepSeek V3やLlama 4のような大規模なMoEモデルを開発することで、規模の経済性を活用できます。
フロップス制約下でのMoEの費用対効果は、この技術が今後も人気を拡大していく主な理由の一つです。計算資源が常に限られている中で、より効率的にそれらを使用する方法への需要は続くでしょう。MoEアーキテクチャは、限られた計算予算から最大の価値を引き出すための実践的な方法を提供します。
結論として、フロップス制約下での費用対効果という観点から見ると、MoEは現代の言語モデル開発において非常に魅力的なアプローチです。計算効率、パラメータ効率、スケーラビリティの組み合わせにより、MoEは限られたリソースで最大の成果を得たいと考える研究者や組織にとって価値のある選択肢となっています。