今回の論文
今回取り上げるのは、Liang Chenらの「An Image Is Worth 1/2 Tokens After Layer 2: Plug-and-Play Inference Acceleration for Large Vision-Language Models」です。2024年にEuropean Conference on Computer Vision(ECCV 2024)で発表され、DOIは 10.1007/978-3-031-73004-7_2、論文URLは https://arxiv.org/abs/2403.06764 です。研究分野は、Vision Language Model(VLM)における推論最適化です。
選んだ理由は、画像を扱うLLMの遅さを「モデルを小さくする」だけでなく、どの段階で画像情報を捨ててもよいかという観察から解いているためです。画像QA、OCR、動画要約をアプリに載せると入力トークンが急増します。FastVは既存モデルを再学習せずに差し込めるため、推論コストを測りながら試せる実務的な発想を得られます。
どんな技術か
FastVは、VLMのLLMデコーダが処理する画像トークンを、初期層で重要度順に並べ替え、以降の層では重要な一部だけ残す推論時の最適化手法です。論文名の「1/2 Tokens」は、画像トークンの半分を落としても多くの評価で性能を保てたことを表します。
一般的なVLMは、画像をVision Transformerなどでパッチ単位のベクトルに変換し、テキストと連結してLLMへ渡します。例えば576個の画像トークンがあると、回答を生成するたびに多数のTransformer層がその全てを参照します。FastVの着眼点は、深い層では画像トークンへのattentionが非常に小さく、画像から集約済みの情報を持つ少数のトークンへattentionが集まることです。そこで、画像を理解する初期処理は残しつつ、途中から冗長な画像トークンを除外します。
課題
VLMでは、解像度を上げるほど小さな文字や物体を読める一方、画像トークン数が増えます。Transformerのattentionは系列長に強く依存するため、画像トークンは画像一枚でも入力の大半を占め、長い動画ならさらに増えます。
- 画像トークンはテキストより数が多く、LLMのprefillと各層のattention・FFNを重くします。論文のLLaVA-1.5の分析では、画像トークンは入力トークンの平均64%を占めました。
- しかし全トークンが最後まで同じだけ有用とは限りません。LLaVA-1.5-7Bのキャプション生成では、層2以降の画像トークンは、システムプロンプトに比べて平均attentionスコアが0.21%まで下がるという観察が得られました。
- 最初から画像特徴をpoolingして減らす方法は速いですが、細部が失われます。OCR、図表、空間関係のように高解像度が重要な用途で精度を下げやすい点が限界です。
これは、帳票を読む業務AI、商品画像検索、監視映像のQA、スマートフォン上の視覚アシスタントで問題になります。利用者が待つのは生成トークンだけではなく、画像をLLMへ入れて最初の答えを出すまでの時間です。FastVは、画像の情報を早期に統合してから計算対象を減らすことで、この入力側の負担を小さくします。
用語解説
- Vision Language Model(VLM)
- 画像を理解する視覚エンコーダと、文章を生成・推論するLLMをつないだモデルです。FastVは画像エンコーダではなく、画像トークンが入った後のLLMデコーダを軽くします。
- 画像トークン
- 画像をパッチに分けてベクトル化した入力単位です。細かく分けるほど視覚情報は増えますが、LLMが処理する系列が長くなります。FastVが選別する対象です。
- self-attention
- 各トークンがどの過去トークンをどれだけ参照するかを計算するTransformerの仕組みです。FastVは、浅い層で得られるattentionを画像トークンの重要度の手掛かりにします。
- アンカートークン
- 多数のトークンから情報が集まり、深い層で繰り返し参照されるトークンを指す論文中の考え方です。画像トークンを直接何度も読む代わりに、情報を集約したアンカーへattentionが寄ることが、削減の根拠になります。
- prefill
- 入力の画像・指示文をまとめて処理し、生成を始める前に内部状態を作る段階です。画像トークンを減らすと、特にこの段階の遅延とGPUメモリ使用量を下げやすくなります。
技術の仕組み
FastVは学習済みVLMの重みを更新しません。画像エンコーダ、プロジェクタ、LLMという既存の経路を保ったまま、LLMの一つの層に「再順位付けとフィルタ」の処理を挿入します。
1. まず画像を通常どおりLLMへ入れる
入力画像はCLIP-ViTなどの視覚エンコーダで画像トークンに変換され、プロジェクタを介してLLMの埋め込み空間へ送られます。システムプロンプト、ユーザー指示、生成済みテキストと結合した系列は、フィルタ層 K までは通常のVLMと同じように処理されます。
ここを省略しないことが重要です。浅い層では画像トークン間・画像とテキスト間で情報を混ぜ、質問に必要な視覚的特徴を作れます。論文では最初の2層では画像トークンへのattentionが比較的保たれることを確認しています。
2. attentionで画像トークンを採点する
層 K で、各画像トークンが他トークンから受け取ったattentionスコアを平均し、重要度として使います。スコアが高い画像トークンは、質問や他の文脈との関係で参照されやすいとみなし、低いものは以降の層から除外します。
削除率 R は設定値です。R=50% なら画像トークンの下位半分を削除し、残りだけを層 K+1 以降に渡します。テキスト、システムプロンプト、生成トークンは削除しません。画像トークンだけを対象にするため、言語指示の構造を壊しにくい設計です。
3. 以降の層を短い系列で処理する
総層数を T、削減前後のトークン数を n と n̂=(1-R)n とすると、最初の K 層は n、残りの T-K 層は n̂ で処理します。Transformer層の概算計算量には線形項だけでなくattention由来の二乗項があるため、早い層で多く落とすほど節約量は大きくなります。
一方で、K を小さくしすぎると視覚情報の統合前に捨てることになり、R を大きくしすぎると細部を失います。FastVはこの二つを運用上のノブにして、低遅延優先と精度優先を切り替えられるようにしています。論文の実装は推論時にマスクする形でも検証されており、実際のサービングでは物理的にトークン列を短縮して初めて計算削減を得ます。
実験と結果
論文はLLaVA-1.5(7B・13B)、QwenVL-Chat-7B、InstructBLIP-Vicuna-13B、VideoLLaVAを対象に、画像キャプション、VQA、マルチモーダル推論、OCR、動画QAを評価しました。画像ではNoCaps、Flickr30k、A-OKVQA、MMMU、MME、OCR-VQAなど、動画ではTGIF-QA、MSVD-QA、MSRVTT-QAを使っています。
50%削減では多くの画像評価をほぼ維持
LLaVA-1.5-7Bで K=2, R=50% とした場合、計算量は基準の99.3B FLOPsから54.6B FLOPs、約45%削減になりました。NoCapsは99.8から99.7、Flickr30kは67.9から67.5、A-OKVQAは76.7から77.0、MMMUは34.8から34.4で、平均スコアは69.8から69.7でした。
13Bモデルでも、154.6Bから84.6B FLOPsに減らしながら平均73.6を維持しています。追加ベンチマークでは、LLaVA-1.5-13BのMME総合値が1827.75から1849.68となる例もありました。これは「削れば常に良くなる」ことを意味しませんが、冗長トークンがノイズになる場面もあることを示します。
極端な削減は品質を落とす
同じ7Bモデルで K=2, R=90%、すなわち画像トークンの9割を層2で落とすと、FLOPsは20%まで下がる一方、平均スコアは69.8から55.2に下がりました。特にNoCapsとFlickr30kの低下が大きく、重要度推定が正しくても、残す情報量には下限があると分かります。
また K=0、つまりLLMに入る前から削減する設定では、50%削減でも平均69.0、75%削減では49.1でした。初期層で画像情報を統合する工程が、FastVの性能維持に不可欠です。
実測の遅延・メモリ
単一A40 GPU上のA-OKVQAでは、LLaVA-1.5-13Bに K=0, R=50% を適用すると、例あたり遅延が0.539秒から0.341秒、GPUメモリが38GBから30GBになりました。これはLLaVA-1.5-7Bの基準遅延0.344秒とほぼ同じで、A-OKVQAスコア80.5は7Bの76.7を上回りました。
動画QAでは、複数フレームが画像トークンとして積み上がるため冗長性がより大きく、論文は40%以上の計算削減と性能維持または改善を報告しています。ただし実測の速度向上率は、トークンの物理的な削除、バッチサイズ、GPUカーネル実装によって変わります。
何に使える?
FastVは、画像トークンが支配的で、回答品質を保ったまま応答時間やGPU単価を下げたいVLMサービスに向いています。
高解像度の帳票・図表QA
請求書、契約書、設計図、ダッシュボード画像を読むVLMでは、小さい文字を残すため高解像度入力が必要です。FastVなら初期層で文字や図表の関係を取り込んだ後にトークンを減らせるため、単純に画像を縮小するより細部を維持できる可能性があります。OCR-VQAやMMEのOCRを含む評価を確認しながら、文書種別ごとに削減率を決めるのが現実的です。
商品画像・現場画像の対話検索
「この商品の素材は何か」「写真の異常はどこか」と尋ねる検索UIでは、最初の回答までの遅延が体験を左右します。画像ごとに同じVLM推論を何度も走らせる場合、FastVを推論サーバー側のオプションにすれば、モデルを再訓練せず段階的にコストを下げられます。
動画の要約・QA
動画はフレーム数に比例して画像トークンが増えます。全フレームの詳細情報が毎層で必要とは限らないため、FastVは長い動画を扱うVideoLLaVA型の処理で特に候補になります。ただし、時系列の一瞬だけに答えがあるタスクでは、削減前後の失敗例を必ず確認する必要があります。
開発や事業へのヒント
「入力解像度」と「LLM内のトークン数」を分けて設計する
画像理解を軽くしたいとき、最初に解像度を下げると文字や細部まで失いやすくなります。FastVは、高い解像度で視覚特徴を作り、LLMが繰り返し処理する段階だけを短くする考え方です。画像品質、画像トークン数、TTFT、正答率を別々に記録すると、改善すべき箇所を見誤りにくくなります。
削減率を一律に固定しない
FastVの K と R は品質と計算量のトレードオフです。例えば、分類に近い簡単な質問は高い削減率、OCR・空間推論・安全確認は低い削減率にする、といったルーティングが考えられます。これは論文の直接の提案ではなく応用上の推測ですが、質問種別と失敗率をログに残せば、小規模サービスでも検証できます。
モデルの規模だけでなく経路を最適化する
論文では、FastVを適用した13Bが実測遅延で素の7Bに近づきつつ、A-OKVQAで高いスコアを示しました。常に大きいモデルが得とは限りませんが、「小型モデルへ置換する」以外に、入力経路の冗長性を削る選択肢があるという示唆です。VLM導入時は、精度比較とともに画像一枚当たりのトークン数、GPUメモリ、TTFTを要件に入れるとよいでしょう。
限界
FastVはattentionスコアを重要度とみなすため、低attentionでも後段で必要になる小さな文字、微細な物体、位置関係を誤って落とす可能性があります。特に医療画像、製造検査、運転支援のように見落としコストが高い用途では、単純な平均スコアだけで削減率を決めるべきではありません。
論文の主な結果はLLaVA系、QwenVL-Chat、InstructBLIP、VideoLLaVAといった当時のトークンベースVLMで得られたものです。画像トークンの並べ方、視覚エンコーダ、位置埋め込み、最新のネイティブなマルチモーダルモデルでは、同じ層番号・削減率が再現するとは限りません。高解像度のマルチページ文書や長時間動画、複数画像の比較といった条件の広い検証も十分ではありません。
また理論FLOPsが減っても、実際の遅延は実装次第です。マスクだけでは行列演算の形が変わらず高速化しない場合があるため、トークンを実際に詰めてKVキャッシュ、バッチング、attentionカーネルを対応させる必要があります。導入前には、対象GPUと同時実行数でメモリ・TTFT・品質を測定してください。
よくある質問
Q. FastVはモデルの再学習やファインチューニングが必要ですか?
A. 論文のFastVは推論時に動くplug-and-play手法で、VLMの重みを再学習しません。LLMの指定層でattentionを使って画像トークンを順位付けし、以降の層の入力から除外します。ただしサービング実装へ組み込む作業と、対象データでの品質検証は必要です。
Q. なぜ画像トークンだけを削減するのですか?
A. 論文の分析では画像トークンは入力の多くを占める一方、深い層ではattention効率が低くなっていました。テキスト指示やシステムプロンプトを削る実験では大きく性能が落ちたため、FastVは画像情報が初期層で統合された後の画像トークンだけを絞ります。
Q. 50%削減なら必ず精度は落ちませんか?
A. いいえ。論文の複数ベンチマークでは K=2, R=50% が概ね性能を保ちましたが、これは対象モデルと評価データでの結果です。細かい文字、局所的な異常、画像間比較などでは精度低下が起き得ます。実際の入力でベースラインとの差分を確認してから段階的に有効化してください。
Q. FastVはOCRや図表理解に使えますか?
A. 論文にはOCR-VQAとMMEのOCRを含む評価があり、50%削減設定でも一定の性能を維持しました。ただし文字の大きさや帳票レイアウトが異なると結果は変わります。高解像度入力を保ちつつ、低い削減率からテストする用途が向いています。
Q. FLOPsが減れば、そのまま同じ割合で遅延も減りますか?
A. そのままではありません。FLOPsは計算量の指標で、実測遅延にはGPUカーネル、メモリ帯域、バッチサイズ、トークンを物理削除できているかが影響します。論文もA40 GPUで実測値を示していますが、導入環境でTTFTと総遅延を測る必要があります。
今日の学び
この論文は、VLMが高解像度画像をLLMで扱う際に、画像トークンを全層で処理し続けるコストを扱いました。FastVは、初期層で得たattentionから重要な画像トークンを選び、深い層では不要なものを外すことで、約45%の計算削減と性能維持を狙います。
得られるヒントは、画像AIを速くする方法は解像度やモデルサイズを下げることだけではない、という点です。情報を統合した後の冗長な処理を見つけ、品質測定と結び付けて削る設計は、VLMを使う検索、OCR、動画、業務アプリ全般に応用できます。