今回の論文
今回取り上げるのは、Junnan Li、Dongxu Li、Silvio Savarese、Steven Hoi による論文「BLIP-2: Bootstrapping Language-Image Pre-training with Frozen Image Encoders and Large Language Models」です。公開元は arXiv、研究分野はマルチモーダルAI、Vision-Language Pre-training、画像理解とLLM接続です。URL は https://doi.org/10.48550/arXiv.2301.12597 です。
この論文を選んだ理由は、今のマルチモーダルLLMの基本発想をかなり実装しやすい形に整理しているからです。巨大な画像モデルと巨大な言語モデルを全部まとめて学習し直さなくても、その間に小さな橋渡し層を置けば強いシステムを作れる、という考え方は、今のAIプロダクト開発でもそのまま使えます。
どんな技術か
BLIP-2 は、既に学習済みの画像エンコーダと LLM を凍結したまま、その間に Q-Former という軽量な変換器を入れてつなぐ技術です。
ポイントは、画像をそのまま LLM に押し込まないことです。まず画像エンコーダが視覚特徴を出し、Q-Former がその中から言語化に必要な情報だけを少数の query ベクトルへ圧縮します。その圧縮済み表現を、LLM にとって読めるソフトプロンプトのような形で渡します。
これによって、画像モデル側の強みと LLM 側の強みを両方使いながら、学習対象を最小限にできます。実装者の視点では、「大きな2つの基盤モデルを、小さな接続モジュールで疎結合に統合する設計」と見るとわかりやすいです。
課題
BLIP-2 が解決しようとしているのは、画像と LLM を高性能かつ低コストで接続することです。
何が難しいのかというと、画像エンコーダと LLM はもともと別の世界で学習されているからです。画像エンコーダは視覚特徴を高次元ベクトルとして持っていますが、LLM は自然言語トークンの並びを前提にしています。この2つは表現空間も学習目的も違うので、そのままつないでもうまく意味が通りません。
既存の方法では限界もありました。画像と言語をまとめて end-to-end で大規模学習する方法は強力ですが、データ量も計算量も大きくなりがちです。逆に、凍結した LLM に画像特徴を直接流し込むだけでは、視覚情報と言語空間のズレを十分に埋められません。
なぜこの課題を解く必要があるのかというと、画像QA、画像キャプション、視覚対話、エージェントの画面理解、業務文書の画像読解など、多くの実システムで「画像を読んで言語で考える」能力が必要だからです。ここを効率よく作れないと、マルチモーダル機能の追加コストが高くなります。
実際のAIシステムでは、OCR 後の理解だけでは足りない場面で問題になります。UI スクリーンショットの読解、製造現場の画像確認、EC 商品画像の自動説明、監視画像の問い合わせ応答などでは、視覚情報を LLM にうまく渡せるかが品質を左右します。
用語解説
- Vision-Language Pre-training
- 画像とテキストをまたいで使える表現を学ぶ事前学習です。BLIP-2 はこの枠組みに属しますが、特徴は画像モデルと LLM を凍結したまま再利用する点にあります。
- Frozen Model
- 学習済み重みを更新せず固定したモデルです。BLIP-2 では画像エンコーダと LLM を凍結することで、計算コストを抑えつつ既存モデルの能力を壊しにくくしています。
- Q-Former
- BLIP-2 の中核となる軽量 Transformer です。画像特徴から言語化に必要な情報を query ベクトルで吸い上げ、LLM に渡せる表現へ変換する役割を持ちます。
- Image-Text Contrastive Learning
- 対応する画像とテキストの表現を近づけ、無関係な組を離す学習です。BLIP-2 の第1段階では、この目的を使って Q-Former に「どの視覚情報がテキストと関係するか」を覚えさせます。
- Soft Prompt
- 通常の単語トークンではなく、連続ベクトルを LLM の入力前段に差し込む方法です。BLIP-2 では Q-Former の出力を線形変換し、視覚情報付きのソフトプロンプトとして LLM に与えます。
技術の仕組み
BLIP-2 の肝は、「視覚特徴を全部渡す」のではなく、「LLM が必要そうな要点だけを少数の query に抜き出して渡す」ことです。この情報ボトルネック設計が、性能と学習効率を両立しています。
基本アイデア
基本アイデアはかなり明快です。高性能な画像エンコーダはすでに存在し、高性能な LLM もすでに存在します。ならば両方を作り直すのではなく、その間の翻訳レイヤだけを学習すればよい、という発想です。
BLIP-2 はこの翻訳レイヤとして Q-Former を置きます。Q-Former は、画像エンコーダから出てきた多量の視覚特徴を見ながら、32 個の learnable query を使って必要情報だけを抽出します。論文では、この出力が情報ボトルネックとして機能し、LLM に不要な視覚ノイズを減らせると説明しています。
モデル構造
Q-Former は 2 つの役割を持つ Transformer ですが、自己注意層を共有している点が特徴です。1 つは画像特徴とやり取りする image transformer、もう 1 つはテキストを扱う text transformer です。
画像側では、query 埋め込みが frozen image encoder の出力に cross-attention します。これにより、query は画像全体から「言語に変換する価値が高い視覚要素」を集めます。論文では BERT base を初期値に使い、cross-attention 層だけを新規に入れています。Q-Former 全体は 188M パラメータで、巨大 LLM と比べるとかなり小さい接続層です。
学習方法
BLIP-2 は 2 段階で Q-Former を学習します。
第1段階: 画像と言語の対応付けを学ぶ
最初の段階では、凍結した画像エンコーダと Q-Former を接続し、画像とテキストの対応を学びます。ここで重要なのは、単一の損失ではなく 3 つの目的を組み合わせていることです。
1 つ目は ITC で、画像とテキストの埋め込みを近づけます。2 つ目は ITM で、画像と文が本当に対応しているかを二値分類させます。3 つ目は ITG で、画像を条件にテキストを生成させます。これにより Q-Former は、「画像のどこがテキストに効くか」を検索・照合・生成の3方向から学びます。
第2段階: LLM に読める形へつなぐ
次の段階では、Q-Former の出力を全結合層で LLM の埋め込み次元へ写像し、入力トークンの前に連結します。ここでは Q-Former 出力が視覚ソフトプロンプトとして働きます。
この段階の狙いは、Q-Former が出した視覚要約を LLM が自然に解釈できるようにすることです。論文では、decoder 型 LLM として OPT、encoder-decoder 型 LLM として FlanT5 を試しています。どちらも凍結されたままで、主に Q-Former 側が「LLM に通じる視覚表現」を学びます。
推論方法
推論時の流れは比較的シンプルです。
- 画像を frozen image encoder に通して視覚特徴を得る
- Q-Former の query がその視覚特徴から要点を抽出する
- 抽出結果を LLM 入力空間へ線形変換する
- テキスト指示と一緒に LLM へ入れる
- キャプション、QA、会話応答などを生成する
この構成の利点は、下流タスクごとに大規模な視覚言語モデルを再学習しなくても、プロンプト変更でかなり幅広い使い方ができることです。
重要な工夫
BLIP-2 で特に重要なのは、Q-Former が単なる projector ではない点です。線形投影だけではなく、query を介して画像中の有用情報を選別しています。これが「画像特徴の圧縮」と「言語空間への整列」を同時に担います。
また、第1段階の表現学習を入れないと性能が大きく落ちることも論文で示されています。つまり、LLM に視覚特徴を渡す前に、まず画像と言語の関係をきちんと噛み合わせる前処理が効いているわけです。
実験と結果
論文では、BLIP-2 が本当に低コストで強いのかを、ゼロショットVQA、画像キャプション、画像テキスト検索で検証しています。単に1つのベンチマークだけで勝ったというより、複数タスクで一貫して強いことがポイントです。
何を検証したのか
主な検証点は 3 つです。1 つ目は、凍結した画像エンコーダと LLM だけで高いゼロショット性能が出るかです。2 つ目は、既存の大規模 vision-language モデルより少ない学習パラメータで競争力を持てるかです。3 つ目は、Q-Former の2段階学習や ITG 損失が本当に効いているかです。
どんなデータセットや評価指標を使ったのか
ゼロショットVQAでは VQAv2、OK-VQA、GQA を使い、主に正答率で比較しています。画像キャプションでは NoCaps と COCO Caption を使い、CIDEr、SPICE、BLEU@4 を見ています。画像テキスト検索では Flickr30K と COCO を用い、Recall@1、Recall@5、Recall@10 を評価しています。
ゼロショット性能
論文の全体比較では、BLIP-2 は 188M の学習対象パラメータで、ゼロショット VQAv2 65.0、NoCaps CIDEr 121.6、Flickr30K の text retrieval R@1 97.6、image retrieval R@1 89.7 を出しています。ここで重要なのは、学習対象が比較的少ないのに、ゼロショットでかなり強いことです。
特に VQA では、BLIP-2 が Flamingo80B を VQAv2 で 8.7 ポイント上回りつつ、学習対象パラメータは 54 分の 1 だったと論文で報告されています。巨大な end-to-end 学習に頼らず、接続層の設計で勝っているのが面白いところです。
キャプションと検索の結果
画像キャプションでは、BLIP-2 ViT-g + FlanT5 系が NoCaps overall CIDEr 121.6、SPICE 15.8 を出し、既存の BLIP や SimVLM と同等以上の水準に達しています。COCO fine-tuning でも BLEU@4 42 点台、CIDEr 144 点台まで伸びています。
画像テキスト検索でも、BLIP-2 ViT-g は Flickr30K の text retrieval R@1 97.6、image retrieval R@1 89.7 を記録し、BLIP より改善しています。COCO fine-tuning 後も text retrieval R@1 85.4、image retrieval R@1 68.3 と高水準です。
結果から何が言えるのか
この結果から言えるのは、マルチモーダル性能の差は「全部を大きく学習するかどうか」だけで決まらないということです。画像とLLMの間でどれだけ上手に情報を絞り込み、表現空間を揃えられるかがかなり効きます。
また、論文では最大モデルでも、16 枚の A100 40GB を積んだ 1 台のマシンで、第1段階が 6 日未満、第2段階が 3 日未満だったと報告しています。これは巨大なマルチモーダル事前学習としてはかなり現実的で、実務導入のしやすさにつながります。
何に使える?
BLIP-2 の価値は、画像理解機能を既存LLMシステムへ比較的低コストで追加できることです。特に、画像から要点を抜いて言語で扱いたいアプリに向いています。
画像付きRAGや業務アシスタント
マニュアル画像、図面、スライド、UI スクリーンショットを扱う RAG に向いています。画像そのものを LLM に見せる代わりに、BLIP-2 的な構成で視覚要点を言語空間へ落とし込めば、後段の要約、検索、質問応答へつなぎやすくなります。
エージェントの画面理解
ブラウザ操作エージェントやデスクトップ自動化では、画面を見て判断する能力が必要です。BLIP-2 のような接続方式は、画面全体を丸ごと理解させるというより、「操作判断に必要な視覚情報だけを抽出して LLM に渡す」設計に向いています。
EC、製造、現場支援
商品画像の説明生成、異常画像の問い合わせ支援、現場写真の報告文下書きなどでも使えます。視覚特徴を LLM に直接流し込むのではなく、Q-Former のような要点抽出層を噛ませることで、業務文脈に必要な説明へ寄せやすくなります。
マルチモーダル検索の前処理
BLIP-2 は生成だけでなく、画像とテキストの整列にも強みがあります。画像の特徴を質問応答だけに使うのではなく、画像キャプション生成や画像要約を前処理として埋め込み検索へ流す構成も考えられます。これは論文の直接的な用途ではありませんが、技術の延長として十分現実的です。
開発や事業へのヒント
BLIP-2 から得られる一番大きなヒントは、「基盤モデルを全部作り直さず、接続の設計で勝てる」ということです。これは小規模プロダクトでもかなり重要です。
小さな接続層に投資する
自分でAIアプリを作るなら、巨大モデルの再学習よりも、既存モデルの間に置く adapter や bottleneck 層の設計に投資する価値があります。音声、画像、表、ログなど、異種データを LLM に渡す問題でも同じ発想が使えます。
全情報を渡さず要約して渡す
Q-Former の本質は情報圧縮です。これは既存サービス改善にも応用できます。たとえば長大なログをそのまま LLM に入れるのではなく、重要イベントだけを query 的に抜き出して渡す設計は、トークン削減と精度改善の両方に効く可能性があります。
モジュール分割で改善速度を上げる
BLIP-2 は画像エンコーダ、接続層、LLM を分割して扱います。この分割はプロダクト開発でも有効です。各モジュールを別々に差し替えられるので、モデル進化に追従しやすく、特定部分だけ改善する余地も残せます。
注目すべき方向性
今後も、強い単一マルチモーダルモデルを1から作る流れと並行して、既存基盤モデルを接続して能力を合成する流れは続くはずです。特に、少量学習で複数モダリティを足す設計、情報ボトルネックを使う設計、視覚要点を agent memory に流し込む設計は注目しておく価値があります。
限界
BLIP-2 にも限界はあります。まず、画像エンコーダと LLM を凍結しているため、接続層だけでは埋めきれないズレが残る可能性があります。特に、専門画像やドメイン特化データでは end-to-end 学習の方が伸びる場面はありえます。
計算コストもゼロではありません。学習対象は少なくても、推論時には画像エンコーダと LLM の両方を回す必要があります。リアルタイム性が厳しいプロダクトでは、Q-Former だけでなく全体パイプラインのレイテンシ設計が必要です。
精度面では、画像の細部が重要なタスクや、複数ステップの視覚推論が必要なタスクでは限界が出る可能性があります。Q-Former は要約に強い一方で、圧縮の過程で細かな情報を落とすかもしれません。これは論文のボトルネック設計から自然に考えられる注意点です。
実装の難しさもあります。凍結モデル同士をつなぐだけに見えても、実際にはどの層の特徴を使うか、query 数をどうするか、どの損失を混ぜるかで挙動が変わります。単なる projector では再現しにくく、論文の設計意図を理解して組む必要があります。
また、論文は主に一般的な vision-language ベンチマークで評価しており、現実の複雑な UI 操作や産業画像、長期対話での安定性までは十分に検証していません。そのため、実運用前には対象業務で追加評価した方がよいです。
よくある質問
Q. BLIP-2 は画像を理解するLLMそのものですか?
A. 厳密には、画像エンコーダと LLM をつなぐための学習方式と構成です。画像を直接読む新しい LLM を1から作るのではなく、既存の画像モデルと既存の LLM を Q-Former で橋渡しする仕組みだと考えるとわかりやすいです。
Q. Q-Former は単なる線形射影と何が違うのですか?
A. 大きな違いは、画像特徴を受け取って選別する点です。線形射影は渡された特徴をそのまま写すだけですが、Q-Former は query を通じて「どの視覚要素を LLM に渡すべきか」を学習します。ここが性能差につながります。
Q. BLIP-2 は小規模チームでも応用できますか?
A. できます。論文の完全再現は重いですが、発想自体は応用しやすいです。既存の画像エンコーダと LLM の間に軽量 adapter を置く、視覚情報を要約してから LLM に渡す、といった構成は小規模プロダクトでも試せます。
Q. end-to-end 学習より常に優れていますか?
A. そこまでは言えません。大規模データと計算資源が十分あるなら、end-to-end 学習がさらに強いケースはあります。BLIP-2 の強みは、性能とコストのバランスがよく、既存基盤モデルを再利用しやすいことです。
Q. この技術はRAGやエージェントにも関係ありますか?
A. かなり関係あります。画像や画面を見て判断する RAG やエージェントでは、視覚情報を LLM にどう渡すかが重要です。BLIP-2 の設計は、その接続部分をどう作ると効率がよいかという参考になります。
今日の学び
この論文は、画像エンコーダと LLM の表現ギャップを、どう低コストで埋めるかという課題を扱いました。そこに対して、Q-Former を情報ボトルネックとして置き、画像と言語の整列を2段階で学ぶことで解こうとしました。
ここから得られるヒントは、マルチモーダル化の本質は巨大モデルの再学習だけではないということです。既存モデルの間に小さく賢い接続層を置く発想は、画像理解だけでなく、RAG、エージェント、業務AI全般の設計にも応用できます。