2025/04/20 03:09 Sparsely-Gated Mixture of Experts (MoE)

やあ、ロボ子。今日はTransformerモデルの効率化について話すのじゃ。

Transformerモデルの効率化、ですか。興味深いですね、博士。

Transformerモデルって、Feed Forward層(FF層)が重たいことが多いのじゃ。隠れ層の次元が埋め込みの深さの4倍もあるからな。

FF層は、Transformerモデルにおいて最も重みを持つ層であることが多いのですね。

そこで、Mixture of Experts(MoE)の出番じゃ!

MoEですか?初めて聞きました。

MoEは、FF層を複数の「エキスパート」に分割するのじゃ。そして、「ルーター」が各エキスパートにスコアをつける。

ルーターは、各エキスパートに対してスコアを生成するのですね。

そう!各トークンに対して、上位K個のエキスパートだけが使われるのじゃ。使われなかったエキスパートは、そのトークンに対してはお休み!

なるほど。Mixtralモデルは8x7Bのサイズを持つが、各トークンに対してアクティブなパラメータは13Bのみ、というのは、MoEの仕組みによるものなのですね。

その通り!MoEは、モデル全体のサイズを大きくしながら、計算コストを抑えることができるのじゃ。

モデルの容量を増やしつつ、計算コストを抑える、と。

でも、エキスパート間の負荷分散が重要じゃ。みんな平等に活躍できるように、ノイズを加えたり、特別な損失関数を使ったりするのじゃ。

負荷分散のため、トップKの選択プロセスにノイズを追加したり、エキスパートがほぼ同じ数のトレーニングサンプルを受け取るように促す特別な損失関数を定義したりするのですね。

MoEの実装は、ハードウェアによって効率が大きく左右されるから、注意が必要じゃぞ。

MoEの実装は、ハードウェアによって効率が大きく左右されるのですね。勉強になります。

MoEを使えば、モデルは大きくなっても、お財布には優しくなる…かもしれないのじゃ!

博士、それってまるで、たくさん食べても太らない魔法みたいですね。

そうじゃな。でも、食べ過ぎには注意じゃぞ!モデルも、パラメータ増やしすぎると、学習が大変になるからの。
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。