テンプレートトークンがヘッドのプルーニングを可能にする
テンプレートトークンを使用することで、研究者は拡散トランスフォーマーの計算量を再学習なしで約5分の1削減できます。その際の品質の低下は、ほとんど目立ちません。
新しい研究により、特定のトークンが「セマンティック・レジスタ(semantic registers)」、つまりプロンプトからの情報を蓄積する小さな「シンク(sinks)」として機能することが明らかになりました。どの注意(アテンション)ヘッドがこれらのレジスタに最も集中しているかを追跡することで、著者らはそれらのヘッドを削除し、GenEvalベンチマークのスコアがわずか1.4ポイント低下するだけで、モデルのアテンションFLOPsを約20%削減することに成功しました。
なぜ拡散モデルにとってプルーニングが重要なのか
拡散トランスフォーマーは、多くのtext-to-imageジェネレーターを支えています。推論時において、アテンション層は計算リソースの大部分を占めるため、わずかな削減であっても画像生成の高速化とエネルギー消費の抑制につながります。既存のプルーニング手法は、通常、すべてのヘッドが等しく貢献していると仮定して、重みの大きさや勾配信号を調査します。このような一律のアプローチでは、計算量が削られすぎずに残ってしまうか、あるいは多くのヘッドを削除しすぎて出力品質を損なうかのどちらかになってしまいます。
テンプレートトークンのトリック
研究者たちは、少数のトークンがテキストプロンプトからオブジェクトレベルの手がかりを一貫して収集していることを観察しました。これらの「テンプレートトークン」は、専用のレジスタのように振る舞います。つまり、プロンプトのセマンティクス(意味論)を吸収して下流へと伝え、その間にモデルの他の部分は視覚的な詳細の処理を続行します。
プルーニングのパイプラインは単純です:
- いくつかのプロンプトに対してフォワードパスを実行し、アテンションスコアを記録する。
- 最も強い接続がテンプレートトークンに向いているヘッドを特定する。
- それらのヘッドをモデルから取り除く。追加のデータ、ファインチューニング、またはアーキテクチャの変更は必要ありません。
削除されたヘッドは、主にテンプレートトークンがすでに保持しているものと同じプロンプト情報を伝達していたため、全体の信号の流れは損なわれません。
数字が示す成果
標準的なtext-to-image拡散トランスフォーマーにこの手法を適用すると、以下の結果が得られます:
- アテンションFLOPsの約20%削減:推論を直接高速化します。
- GenEvalスコアの低下はわずか1.4ポイント:計算量の利得を考えれば、極めて軽微な低下です。
- 視覚的な忠実度をほぼ変えずに、20%〜30%のヘッドをプルーニング可能。
対照的に、単純にヘッドの割合で削減を行うと、有用なコンテキスト混合の経路を無差別に破棄してしまうため、品質の低下が大きくなることがよくあります。
限界と未解決の課題
この研究は、テキストプロンプトを画像に変換する拡散トランスフォーマーのみに焦点を当てています。同じテンプレートトークンの現象が、より大規模な言語モデルや他のマルチモーダル・アーキテクチャに現れるかどうかは不明です。もしレジスタが存在しない、あるいは異なる振る舞いをする場合、このプルーニングの手法は効果を失う可能性があります。
もう一つの注意点は、わずかながら品質が低下することです。
今後の注目点
今後の研究では、おそらく以下の点が調査されるでしょう:
- テンプレートトークンが他のトランスフォーマー・ファミリーにおいて自然に発生するかどうか。
- このアプローチがモデルのサイズや学習データの量に応じてどのようにスケールするか。
要点: 研究者たちは、テンプレートトークンがセマンティック・レジスタとして果たす隠れた役割を利用することで、拡散トランスフォーマーを精密に削ぎ落とす方法を見つけました。これにより、出力品質をほぼ維持したまま、計算量を約5分の1削減できます。これは、コストのかかる再学習を行うことなく、AI生成画像をより速く、より安価にする可能性があります。
