【みくすちゃーおぶでぷす】
Mixture of Depths とは?
最終更新:
💡 計算する場所を選んで、AIの力を配分
Transformerのブロックごとに、計算するトークンと計算を迂回するトークンを選ぶ方式。各ブロックの計算枠を決め、トークンごとの計算の配分を学習します。
📌 このページのポイント
- MoDはMixture-of-Depthsの略で、2024年の論文で提案された方式
- ブロックごとのルーターが、計算に参加するトークンを選ぶ
- 選ばれないトークンは入力の表現を引き継ぎ、後のブロックで再び計算されることもある
- 計算量と予測性能の兼ね合いがあり、削減率や速度は構成・条件に依存する
AIの計算を途中でやめる仕組み?
MoDは各ブロックで「計算するか、迂回するか」を選ぶ方式だよ。あるトークンが途中のブロックを迂回しても、後のブロックで再び計算されることがある。途中で処理を終えて残りの層をすべて飛ばすEarly Exitとは違うんだ。
助詞は浅く、専門用語は深く処理するの?
そうした固定のルールではないよ。ルーターが現在のトークンの表現からスコアを計算し、文脈や学習した判断に基づいて配分する。「この単語なら必ず何層」と決まっているわけではないんだ。
計算するトークンの数はどう決めるの?
論文の学習方法では、各ブロックで計算に参加する数kをあらかじめ決め、スコアの上位k個を選ぶよ。処理する数を固定して計算枠を予測しやすくしながら、どのトークンを選ぶかは動的に変える。生成時には未来のトークンを見ずに判断するための工夫も必要なんだ。
選ばれなかった情報は捨てられる?
捨てられないよ。選ばれなかったトークンは、そのブロックの自己注意やMLPの計算を迂回し、入力の表現を残差接続で引き継ぐんだ。ただし、そのブロックの自己注意に参加するトークンも選ばれた集合に限られるので、通常のTransformerと同じ計算を単に後回しにしているわけではないよ。
MoEと組み合わせられるの?
まとめ:ざっくりこれだけ覚えればOK!
「Mixture of Depths」って出てきたら「トークンごとに、どの層で計算するかを選ぶAIの仕組み」と思えばだいたいOK!
📖 おまけ:英語の意味
「Mixture-of-Depths」 = 深さの混合
💬 トークンによって計算を受けるブロックの数が異なることを、深さの違いとして表しているよ。