Mixture-of-Depthsとは
Mixture-of-Depthsとは、Transformerの計算をムダなく配るために、単語の断片(トークン)ごとに「どの層まで処理するか」を振り分け、不要な層をスキップさせる方式です。Google DeepMindが2024年4月に公開しました。略してMoDとも呼ばれます。
難しい所に計算を集め、簡単な所は省く
ふつうのTransformerは、すべてのトークンをすべての層に通します。これは丁寧な反面、計算にムダも生まれがちです。MoDではルーター(振り分け係)が、各層で処理するトークンを上位の一部だけに絞り、残りはその層を素通りさせます。絞る数をあらかじめ固定するので、計算量が読みやすいのも利点でしょう。論文では、同じ計算量なら通常と同等の性能を保ちつつ、生成時のステップが最大50%速くなったと報告されました。
Topic名前は「専門家の混合」のもじり
Mixture-of-Depthsという名前は、先に知られたMixture-of-Experts(専門家の混合)をもじったものです。専門家を選ぶ代わりに「どの深さ(層)まで処理するか」を選ぶ、という対比が名前に込められています。横に専門家を増やすMoEに対し、縦の処理を省くMoD。並べると違いが見えてくるでしょう。
Mixture-of-Depthsに関するよくある質問
- トークンを途中で省いて、賢さは落ちないのですか?
- 影響の小さい箇所だけを省き、重要なトークンには計算を残す設計です。論文では、同じ計算量なら通常の方式に並ぶ結果が示されました。
- MoDは学習と生成のどちらに効きますか?
- 主に文章を作る生成(推論)の高速化に効きます。学習の計算量は通常と同程度で、生成のステップを軽くする方向に働きます。