← 一覧へ
連載 Agentic OS:技術スタックを下から読む の一部です ―― 目次を見る →

Agentic OS 技術スタックを下から読む 補講(8):全部に通さず、選んだ専門家だけに ―― 道を選ぶ門と、その難しさ

この記事の読み方
補講(7)では、埋め込みを見ました。言葉や文を、意味の一点に変える話でした。

Agentic OS 技術スタックを下から読む 補講(8):全部に通さず、選んだ専門家だけに ―― 道を選ぶ門と、その難しさ

続・底へ ―― 道を選ぶ仕組み

補講(7)では、埋め込みを見ました。言葉や文を、意味の一点に変える話でした。

その一点は、作られて終わりではありません。モデルの中を、段から段へ進みます。各段で少しずつ形を変え、次の判断に使いやすい姿になります。

ただし、大きなモデルでは、各段の処理が重くなります。すべての点を、すべての大きな部品に通すと、計算が膨らみます。知識を増やすほど、毎回の費用も増えます。

そこで、全部に通さない作りにします。各段の中に多くの専門家を置き、その点に合う少数だけを選びます。今回は、この「選ぶ」を開きます。

一つの大きな部品を、多くの専門家に割る

ふつう、各段には一つの大きな処理があります。点は、その部品を必ず通ります。部品は、入ってきた点を受け取り、別の形に変えて返します。

この一つの大きな部品を、細かく割ります。一つの段に、何十、何百という小さな専門家を並べます。各専門家は、同じ種類の仕事をします。ただし、持っている中身が少しずつ違います。

ある専門家は、ある形の点を変えるのがうまくなります。別の専門家は、別の形の点を受け持ちます。こうして、一つの大きな部品に全部を詰める代わりに、役割を分けて持たせます。

大事なのは、点が全員を回るわけではないことです。全員を回るなら、ただ部品を増やしただけです。計算は軽くなりません。肝は、たくさん置くが、少しだけ使う、という作りです。

門が、専門家を選ぶ

点ごとに、門が働きます。門とは、点を見て、どの専門家に渡すかを決める小さな仕組みです。

門はまず、すべての専門家に点数を付けます。この点は、どの専門家に向いているか。各専門家に対して、向き不向きの点数を出します。

次に、点数の高い少数だけを選びます。たとえば上位二つです。選ばれた専門家だけが、その点を処理します。残りの専門家は、その点には何もしません。

処理が終わると、選ばれた専門家の出力を合わせます。二つ選んだなら、二つの答えを重み付きで混ぜます。門が高い点を付けた専門家ほど、結果への影響を大きくします。

第3回で見た、総数は多いが一度に動く数は少ない、という配信の経済があります。その内側では、この門の振り分けが起きています。点が違えば、開く門も違います。だから、同じ段に入っても、通る道は点ごとに変わります。

なぜ、これが効くか

なぜ、わざわざ割って選ぶのでしょうか。

理由は、知識の総量と、一点あたりの計算を切り離せるからです。専門家を増やせば、全体として持てる知識は増えます。何百もの違う得意を、別々の場所に持てます。

しかし、一点が通るのは少数だけです。上位二つを選ぶなら、その点で実際に動く専門家は二つです。専門家が百あっても、毎回百を動かす必要はありません。

一つの大きな部品に知識を全部詰めると、増やした分だけ毎回の計算も重くなります。どの点にも、同じ巨大な部品を通すからです。

割って選ぶと、事情が変わります。総量は大きい。けれど、その瞬間に使う部分は小さい。これが、第3回で見た配信の経済の、モデル内での理由です。大きな倉ではなく、多くの小部屋を持ち、必要な小部屋だけを開ける形です。

偏ると、崩れる ―― 負荷の不均衡

ただし、門は放っておくと偏ります。

門は、点に合う専門家を選ぼうとします。すると、少しうまい専門家に点が集まりやすくなります。多くの点が、同じ少数の専門家を選びます。

集中した専門家は忙しくなります。一方で、選ばれない専門家は暇なままです。せっかく手分けしたのに、実際には一部だけが働きます。これでは、並べた専門家の数ほど速くも広くもなりません。

そこで、別の圧力を掛けます。点を向いた場所へ送りつつ、偏りすぎないように押し返します。よく選ばれすぎる専門家には、さらに点を集めにくくします。使われていない専門家には、出番が回るようにします。

これは、正しさだけで選ぶのではなく、分担も見て選ぶということです。門は、合う専門家を探す仕事と、全体を詰まらせない仕事を同時に背負います。

選ばれない専門家は、死ぬ

もっと厄介なのは、選ばれない専門家が死ぬことです。

専門家は、点が来て、処理し、その結果を通じて鍛えられます。点が来なければ、鍛えられません。鍛えられなければ、次も下手なままです。下手なままだと、門に選ばれません。

こうして悪循環が起きます。選ばれないから鍛わらない。鍛わらないから選ばれない。最初の小さな差が、あとで大きな差になります。

死んだ専門家は、容量の無駄です。何百も並べたつもりでも、実際に働くのが一部だけなら、持っている力を使えていません。

だから、早い時期から出番を散らす必要があります。まだ得意が固まっていない専門家にも、点を渡します。全員に少しずつ仕事を回し、育つ機会を作ります。偏りを押し返す圧力は、速さのためだけではありません。専門家を死なせないためにも要ります。

あふれと、選ぶことの難しさ

さらに二つの難しさがあります。

一つは、あふれです。各専門家には、一度にさばける点の上限があります。上限を超えて点が来ると、その専門家は受けきれません。あふれた点は、その専門家を通れず、別の扱いになります。実質的には取りこぼしです。

上限を高くすれば、取りこぼしは減ります。けれど、いつも空き枠を多く持つことになります。空き枠は計算資源の余りです。上限を低くすれば、無駄は減ります。けれど、集中したときに取りこぼしが増えます。ここにも、第6回で見た、効率は近似との取引、という形が出ます。

もう一つは、選ぶこと自体の鍛えにくさです。専門家を選ぶとは、選ぶか、選ばないかの飛び飛びの判断です。少しだけ選ぶ、という中間が扱いにくいのです。

ふつうの部品なら、出力を少し変え、その差を見て、少しずつ直せます。けれど門では、ある専門家を選んだ瞬間だけ、その専門家に学ぶ機会が来ます。選ばれなかった専門家には、その点からの直しが届きにくい。だから門の鍛え方は、ただの計算部品より難しくなります。

運ぶ通信と、安さの代金

専門家が同じ機械の中にいれば、まだ話は単純です。けれど、大きなモデルでは、専門家が別々の機械に置かれることがあります。

その場合、点を選ばれた専門家のいる機械まで運ぶ必要があります。処理が終われば、結果をまた集めます。点は、機械の間を行き来します。

ここで、補講(4)で見た通信の重さが戻ってきます。計算を減らしても、運ぶ量が増えれば、そこで待ちます。特に、多くの点が別々の専門家へ散ると、送る先もばらばらになります。まとめて運びにくくなり、通信の段取りが律速になります。

つまり、専門家を増やせばよい、という話ではありません。専門家の数、選ぶ数、上限、散らし方、機械の配置。これらが合っていないと、計算で得た安さを、通信で失います。

道を選ぶ、ということ ―― そして

まとめます。

各段の一つの大きな処理を、多くの小さな専門家に割ります。点ごとに門が点数を付け、上位の少数だけを選びます。選ばれた専門家だけが動きます。これで、知識の総量は大きくしながら、一点あたりの計算は小さく保てます。

しかし、ただではありません。門は偏ります。選ばれない専門家は死にます。容量を超えれば、点を取りこぼします。選ぶ判断は飛び飛びなので鍛えにくいです。専門家が別の機械にいれば、点を運ぶ通信も要ります。

容量を安く買うほど、こうした綻びが付いてきます。第6回で見た、効率は近似との取引、という話の、モデルの中での形です。安さは、別の難しさで払っています。

補講(7)で作った意味の一点は、こうして門が選んだ道を通っていきます。次は、その道を含むモデルそのものを、どう鍛えるかです。とくに、良い行いにご褒美を与え、振る舞いを変えていく後訓練の環へ降ります。補講は、まだ続く。

← 一覧へ