LOWN:拡散視覚言語モデル「必要なときだけ画像を見る」(Look Only When Needed: Certificate-Guided Visual Routing for Efficient Diffusion VLMs)

拡散型視覚言語モデル(LLaDA-Vなど)では、各ノイズ除去ステップで画像全体の視覚トークンを再計算する必要があり、視覚トークンは入力の89~97%を占めます。著者らは、画像を除外しても、平均して22.8%のステップでのみ開示中のトークンが変化することを発見しました。LOWNでは、各ステップでまず画像を見ずにマスクされたトークンを予測し、その予測が前回の画像参照時の予測と一致しない場合のみ実際に画像を処理します。一致した部分は「認証済み」とみなして再利用でき、認証された数だけトークンを開示します。

拡散型視覚言語モデル(LLaDA-Vなど)では、各ノイズ除去ステップで画像全体の視覚トークンを再計算する必要があり、視覚トークンは入力の89~97%を占めます。著者らは、画像を除外しても、平均して22.8%のステップでのみ開示中のトークンが変化することを発見しました。LOWNでは、各ステップでまず画像を見ずにマスクされたトークンを予測し、その予測が前回の画像参照時の予測と一致しない場合のみ実際に画像を処理します。一致した部分は「認証済み」とみなして再利用でき、認証された数だけトークンを開示します。

いいね 91 · コードスター数 7

理由

  • 学習不要、閾値調整不要:著者らは、10のベンチマークでLLaDA-Vのスコアの99.6%を維持しつつ、平均してデコードFLOPsの35.3%しか使用しないと述べています。
  • 併用可能:著者らは、他のLLaDAベースの拡散型視覚言語モデルへ拡張でき、視覚トークン剪枝と直交しており、KVキャッシュ下でさらに高速化が可能だと述べています。
  • 2つのコマンドで比較実行可能:READMEのCOCOクマの例では、同じ画像に対してLLaDA-Vは約1930 TFLOPs、LOWNは約812 TFLOPsであり、相対的に0.421です(著者らによると、これはデコーダとLMヘッドの解析的推定値で、単一画像の例です)。

使い方

  • 環境:Linux、Python 3.11、VRAMが32 GB以上のNVIDIA GPU(PyTorch CUDA 12.6)。
  • 実行:git clone github.com/hyeon9698/LOWN → bash setup.sh(ローカルに.venvを作成し、初回実行時にLLaDA-VとSigLIP2の重みを自動ダウンロード)→ bash evaluate.sh --gpu 0。結果とFLOPsはoutputs/result.jsonに書き込まれます。
  • 自分の画像を使用する場合:bash evaluate.sh --gpu 0 --method lown --image 画像パス --prompt "Describe this image."

リスク

  • LLaDA-Vのような拡散型視覚言語モデルにのみ適用可能で、一般的な自己回帰型視覚言語モデルには適用できません。
  • READMEには単一画像のデモとFLOPs推定値が記載されていますが、10のベンチマークの再現スクリプトやウォールクロック遅延は提供されていません。リポジトリにはライセンスが明記されていません(LLaDA-Vのコードが含まれており、そのライセンスに従います)。
  • スコア維持と計算量削減の数値は著者らの報告によるものです。

開く · コード · 抱きしめる論文ページ

Hugging Face Daily Papers

最新の AI ニュースを見る