𝗠𝗶𝘅𝘁𝘂𝗿𝗲 𝗌𝗳 𝗘𝘅𝗜𝗲𝗿𝘁𝘀 (𝗠𝗌𝗘): 𝗛𝗌𝘄 𝗜𝘁 𝗪𝗌𝗿𝗞𝘀 𝗮𝗻𝗱 𝗪𝗵𝗲𝗻 𝘁𝗌 𝗚𝘀𝗲 𝗜𝘁

4枚のGPUを远加で賌入するこずなく、7Bモデルから70Bモデルぞずスケヌルアップしたいず考えおいるずしたしょう。

そこで誰かがMixture of Experts (MoE)を提案したす。圌らは、わずか7Bの蚈算量で70B盞圓のパフォヌマンスが埗られるず䞻匵したす。

たるでフリヌランチタダ飯のように聞こえたすが、そこには萜ずし穎がありたす。

どのような仕組みなのでしょうか

Llama 3.2のようなDense密なTransformerは、すべおのトヌクンに察しおパラメヌタの100%を䜿甚したす。7Bから70Bにスケヌルアップする堎合、メモリず蚈算量の䞡方が10倍になりたす。

MoEはこの2぀を切り離したす。モデルはより倚くのパラメヌタを保持したすがメモリコストは増加、各トヌクンに察しおはそれらのごく䞀郚のみを䜿甚したす蚈算コストは抑制。

トレヌドオフ:

• Dense 7B: 総パラメヌタ数 7B | アクティブ 7B | 蚈算量 7B | メモリ 14 GB • Dense 70B: 総パラメヌタ数 70B | アクティブ 70B | 蚈算量 70B | メモリ 140 GB • MoE 45B: 総パラメヌタ数 45B | アクティブ ~13B | 蚈算量 ~14B | メモリ ~90 GB

萜ずし穎: 䟝然ずしお倧芏暡モデルのメモリコストがかかりたす。Mixtralを単䞀の24 GB GPUで動かすこずはできたせん。䜿甚されおいない゚キスパヌトも含め、すべおの゚キスパヌトを保持できる十分なVRAMが必芁になりたす。

アヌキテクチャ:

Sparse疎なMoEでは、暙準的なFeed-Forward Network (FFN) が、耇数の「゚キスパヌト」FFNず孊習可胜なルヌタヌに眮き換えられたす。

  1. ルヌタヌがトヌクンを受け取りたす。
  2. 各゚キスパヌトにスコアを割り圓おたす。
  3. 䞊䜍k個の゚キスパヌトを遞択したすMixtralの堎合は k=2。
  4. そのトヌクンを、遞択された゚キスパヌトのみに通したす。
  5. 結果を統合したす。

ルヌタヌは手動のスケゞュヌラヌではありたせん。孊習されたレむダヌです。数孊のトヌクンはある゚キスパヌトに、コヌドのトヌクンは別の゚キスパヌトに送るように孊習したす。

孊習における課題:

最倧の懞念は「ルヌタヌの厩壊router collapse」です。適切な察策を講じないず、ルヌタヌがすべおのトヌクンを同じ2぀の゚キスパヌトに送っおしたう可胜性がありたす。するず、その゚キスパヌトはさらに掗緎され、ルヌタヌはさらに倚くのトラフィックをそれらに送るようになりたす。結果ずしお、他の゚キスパヌトは圹に立たなくなっおしたいたす。

゚ンゞニアはこれを解決するために、補助的な負荷分散損倱auxiliary load-balancing lossを䜿甚したす。これは、すべおの゚キスパヌトを均等に䜿甚しおいない堎合にモデルにペナルティを䞎えたす。

MoEを避けるべきケヌス:

• 䞀貫したレむテンシが必芁な堎合: MoEは応答時間のばら぀きが倧きくなりたす。 • VRAMが限られおいる堎合: 48 GB未満のGPUを1枚しか持っおいない堎合は、Denseモデルを䜿甚しおください。 • 小芏暡なモデルを構築する堎合: パラメヌタ数が3B未満のモデルでは、オヌバヌヘッドが倧きすぎたす。 • シンプルなむンフラを必芁ずする堎合: MoEには耇雑な゚キスパヌト䞊列化expert parallelismやカスタムカヌネルが必芁です。

MoEは、ベヌスラむンずなるDenseモデルが30Bパラメヌタ以䞊であり、それをサポヌトできるメモリがある堎合に最適です。

Mixture of Experts (MoE): 内郚の仕組みず、どのような時にその真䟡が発揮されるのか

倧芏暡蚀語モデルLLMの進化においお、モデルのパラメヌタ数を増やすこずは、より高い胜力を埗るための暙準的な方法ずなっおいたす。しかし、パラメヌタ数が増えるに぀れお、蚈算コストFLOPsも比䟋しお増倧するずいう問題がありたす。

ここで登堎するのが Mixture of Experts (MoE) です。MoEは、モデルのパラメヌタ数を劇的に増やしながら、掚論時の蚈算コストを䜎く抑えるためのアヌキテクチャです。

この蚘事では、MoEが内郚でどのように動䜜しおいるのか、そしおどのような状況でその恩恵を受けられるのかを詳しく解説したす。

Mixture of Experts (MoE) ずは䜕か

埓来の「デンスDense」モデルでは、入力されたすべおのトヌクンに察しお、モデル内のすべおのパラメヌタが蚈算に䜿甚されたす。぀たり、モデルが倧きくなればなるほど、1぀の単語を凊理するために必芁な蚈算量も増えたす。

䞀方、Mixture of Experts (MoE) は「スパヌスSparse」なモデルです。MoEモデルは、モデル党䜓をいく぀かの小さなネットワヌク、すなわち「゚キスパヌトExperts」に分割したす。入力された各トヌクンに察しお、すべおの゚キスパヌトが動くわけではなく、**ゲヌトネットワヌクGating Network**によっお遞択された、ごく䞀郚の゚キスパヌトのみが蚈算を行いたす。

内郚の仕組みゲヌトネットワヌクず゚キスパヌト

MoEの仕組みは、䞻に2぀のコンポヌネントで構成されおいたす。

1. ゚キスパヌト (Experts)

゚キスパヌトは、通垞のフィヌドフォワヌド・ネットワヌクFFNに盞圓する小さなネットワヌクの集合です。各゚キスパヌトは、特定の皮類のパタヌンや知識に特化するように孊習が進みたす䟋ある゚キスパヌトは文法に匷く、別の゚キスパヌトは数孊的な抂念に匷い、ずいった具合です。

2. ゲヌトネットワヌク (Gating Network / Router)

ゲヌトネットワヌクたたはルヌタヌは、入力されたトヌクンをどの方策゚キスパヌトに送るかを決定する「亀通敎理圹」です。

プロセスは以䞋の通りです

  1. トヌクンが入力される。
  2. ゲヌトネットワヌクがそのトヌクンの特城を分析する。
  3. ゲヌトネットワヌクは、そのトヌクンを凊理するのに最も適した䞊䜍 $k$ 個の゚キスパヌト通垞 $k=1$ たたは $2$を遞択する。
  4. 遞択された゚キスパヌトのみが蚈算を実行し、その結果が統合される。

この「必芁な郚分だけを動かす」仕組みが、**スパヌスな掻性化Sparse Activation**ず呌ばれたす。

なぜ MoE が重芁なのかメリット

1. 蚈算効率の向䞊

MoEの最倧の利点は、「パラメヌタ数」ず「蚈算コスト」を切り離せるこずです。 䟋えば、1兆パラメヌタを持぀MoEモデルであっおも、1぀のトヌクンを凊理する際に実際に動くのはそのうちの数䟋100Bパラメヌタ分だけであれば、蚈算コストは100Bパラメヌタのデンスモデルず同皋床に抑えられたす。これにより、巚倧な知識容量を持ちながら、高速な掚論が可胜になりたす。

2. スケヌリングの容易さ

MoEを䜿甚するず、蚈算リ゜ヌスを爆発的に増やすこずなく、モデルの容量知識量を拡倧できたす。これは、限られた蚈算予算の䞭で、より高性胜なモデルを構築したい堎合に非垞に有利です。

MoE の課題ずトレヌドオフ

MoEは魔法の杖ではありたせん。いく぀かの重芁な課題がありたす。

1. メモリVRAM消費量

蚈算コストは抑えられたすが、モデルの党パラメヌタをメモリに茉せおおく必芁がありたす。 1兆パラメヌタのMoEモデルを動かすには、掚論時に実際に蚈算するのは䞀郚であっおも、1兆パラメヌタ分のVRAM容量が必芁です。これは、ハヌドりェア芁件を非垞に高くしたす。

2. 孊習の䞍安定さず「゚キスパヌトの偏り」

孊習プロセスにおいお、特定の数個の゚キスパヌトばかりが遞ばれ、他の゚キスパヌトがほずんど䜿われないずいう珟象Expert Collapseが起こるこずがありたす。これを防ぐために、各゚キスパヌトが均等に孊習されるように調敎する「ロヌドバランシング・ロスLoad Balancing Loss」などの特殊な手法が必芁になりたす。

3. 通信オヌバヌヘッド

分散孊習や倧芏暡な掚論を行う際、異なる゚キスパヌトが異なるGPUに配眮されおいる堎合、トヌクンを適切な゚キスパヌトに送るための通信All-to-All通信が発生し、これがボトルネックになるこずがありたす。

たずめい぀ MoE を採甚すべきか

MoEは、以䞋のような状況で真䟡を発揮したす。

  • 蚈算リ゜ヌスFLOPsを節玄し぀぀、モデルの知識容量を最倧化したい堎合。
  • 掚論のレむテンシ遅延を抑えながら、非垞に倧芏暡なモデルを利甚したい堎合。

逆に、メモリ容量が限られおいる環境や、モデルのサむズ自䜓を小さく抑えたい堎合には、デンスモデルの方が適しおいたす。

珟圚、Mixtral 8x7B や GPT-4噂レベルですがのように、MoEは次䞖代のAI開発における䞭心的なアヌキテクチャずなっおいたす。


Optional learning community: https://t.me/GyaanSetuAi