専門家混合Mixture of Experts

必要な担当分岐だけ選んで動かすモデル構造

ポイント
  • 専門家混合はモデルの中をいくつもの分岐に分けておいて、断片ごとに担当の分岐を数個だけ動かす構造です。
  • モデル全体はとても大きくても、一回の計算で実際に動く部分は一部なので、大きさの割に速いです。
  • どの分岐に送るかは小さな案内板が決めます。この案内板も一緒に学習されます。
  • 分岐は人が決めた分野担当ではありません。学習しながら自然に分かれた使われ方です。
  • 使わない分岐も**場所はずっと占めています。**メモリは全体の大きさ分だけ必要です。
目次

1たとえで理解する

窓口が十か所ある銀行の支店に入ると、まず番号札を取ります。札には何番の窓口へ行けと書いてあり、自分の用事が終わるまで残り九つの窓口は自分とは関係なく自分たちの客を相手にしています。支店がどれだけ大きくても、自分の用事を処理するのは窓口一つか二つだけです。

専門家混合モデルはこのような形をしています。モデルの中がいくつもの分岐に分かれていて、入ってきた断片ごとに案内板が担当の分岐を選んでくれます。窓口を増やせば支店が扱える仕事の幅は広がりますが、客一人が待つ時間は窓口の数だけ増えるわけではありません。

代わりに客がいない窓口も明かりをつけて場所を守っていなければなりません。賃料は十か所分がそのままかかります。この構造がタダではない理由がここにあります。

2くわしく

案内板が担当の分岐を選びます

モデルを通過する断片一つ一つについて、分岐を選ぶ小さな板がまず点数をつけます。この断片は3番分岐と7番分岐へ送れ、次の断片は1番と3番へ送れという具合です。たいてい数十ある分岐のうち二つほどだけを選びます。

選ばれた分岐を通った結果はまた一つに合わさります。このとき単純に足すのではなく、案内板がつけた点数の比率どおりに混ぜます。より確信を持って選んだほうの意見に重みをより多く与えるわけです。

案内板も一緒に学習されます。最初は適当に分けていますが、訓練が進むにつれて、どの断片をどこへ送ったときに結果が良かったかによって基準が固まっていきます。人が分岐ごとに担当を決めてやるわけではありません。窓口の番号札発行機が、客の並び具合を見ながら少しずつ賢くなっていくようなものです。

大きさは大きくても毎回動くのは一部です

普通のモデルは断片一つが通るたびに、中にある値をすべて一度ずつ使います。モデルを二倍にすると計算量も二倍になり、答えが遅くなって費用も二倍かかります。

専門家混合はこの鎖を断ち切ります。分岐を八つに増やしても毎回動くのは二つだけなので、モデルが持つ知識の量は増えつつ、一回の計算にかかる仕事量はほとんどそのままです。だからこういうモデルを紹介するときは数字が二つ出てきます。全体の大きさと、一回に実際に使われる大きさです。前の数字だけを見て性能や必要な機材を見積もるとずれます。

大きさを増やす安上がりな方法に見えますが、限界もはっきりしています。分岐をどれだけ増やしても、断片一つが通り抜けながら得る計算の深さはそのままなので、増やした分だけ賢くなるわけではありません。

分岐は分野担当ではありません

名前が専門家なので、ある分岐が数学、別の分岐が翻訳を担当する姿を思い浮かべやすいです。実際にのぞいてみるとそこまできれいではありません。ある分岐は句読点が多く集まり、ある分岐は特定の言語の助詞に反応し、大半は人の言葉で説明しづらい基準で分かれています。

同じ文の中でも断片ごとに行き先が違います。一つの文をまるごと一つの分岐が処理するのではなく、断片単位で毎回新しく分かれては合わさります。分岐を一つ取り出して別に使うことができない理由です。

場所は全部確保しておかなければなりません

計算は減っても、メモリは減りません。どの断片がどの分岐へ行くか前もってわからないので、すべての分岐をいつでも使えるよう載せておかなければなりません。全体の大きさが大きいモデルは、それでも大きな機材を要求します。個人用コンピューターで動かしにくい理由でもあります。

偏りも問題です。放っておくと人気のある分岐に断片が集まって、ある分岐はいつも混雑し、ある分岐はほとんど遊んでいる状態になります。遊んでいた分岐は学習が進まずさらに使われにくくなっていきます。だから訓練するときは一つの分岐に集中したら損をする仕掛けを一緒に入れ、一つの分岐が受け取れる断片数に上限を設けることもあります。上限を超えて押し出された断片は、その層をそのまま素通りします。

3もう少し正確に

専門家混合で分かれる部分は層全体ではなく、層の中の特定の区間です。残りの計算はすべての断片が同じように通り、分岐に分かれる場所だけが断片ごとに違います。選ぶ分岐の数はたいてい二つ前後に固定しておきます。

たとえがずれる点もあります。銀行では客が窓口一つで用事を終えますが、モデルでは断片一つが層ごとにまた番号札を取ります。層が数十あれば数十回もまた分かれるわけです。また窓口の係員は自分の担当業務を知っていますが、分岐にはそんな名札がありません。学習が終わったあと人がのぞき込んで推測するだけです。案内板が断片を分ける基準も意味ではなく計算結果なので、似ているように見える二つの文が別々の分岐に分かれることもあります。分岐を選ぶ過程は滑らかな計算ではなく、いくつかだけ選んで残りを捨てる方式なので、訓練が不安定になりやすいのもこの構造の弱点です。

4やってみる

5よくある誤解

  • 専門家混合モデルは軽いと思われがちですが、実際には計算だけが少ないのであって、メモリは全体の大きさ分だけそのまま必要です。

  • 分岐ごとに担当分野があると見なされがちですが、実際には人が見分けにくい基準で学習中に自然に分かれます。

  • 全体の大きさが大きければそれだけ賢いと思われがちですが、実際に一回に使われる大きさはずっと小さいので、二つの数字を一緒に見なければなりません。

7ひとこと要約

つまり専門家混合はモデルの中をいくつもの窓口に分けて断片ごとに担当窓口だけを呼ぶ構造で、大きさは増やしながら毎回かかる計算は減らします。

誤りや、もっと良いたとえがありますか? 修正を提案する · 最終更新2026-09-02