1 概要
1.1 定義と目的
LLaVA(Large Language and Vision Assistant)は、大規模言語モデルと視覚エンコーダを統合したマルチモーダルAIモデルである。主な目的は、画像などの視覚情報を自然言語で理解・説明できるようにすることであり、画像キャプション生成、視覚的質問応答、画像ベースの対話などのタスクを実現する。従来の大規模視覚言語モデルと異なり、LLaVAはコスト効率の高いトレーニング手法「Visual Instruction Tuning」を採用し、限られた計算リソースで強力なゼロショット性能を達成することを目指している。
1.2 基本動作原理
LLaVAは、画像を入力として受け取り、まず視覚エンコーダ(CLIPのViT)を用いて画像特徴を抽出する。その後、軽量なプロジェクション層(線形層)を介して、これらの視覚特徴を言語モデル(LLaMAなど)の埋め込み空間に写像する。言語デコーダは、この視覚特徴とテキストトークンを組み合わせて、自己回帰的に応答テキストを生成する。全体として、視覚エンコーダと言語モデルは独立して事前学習され、プロジェクション層のみを新たに学習することでモダリティ間の橋渡しを行う。
2 歴史
2.1 開発背景
大規模言語モデル(GPT-3、LLaMAなど)の成功に触発され、研究者らはこれらのモデルに視覚能力を付与する方法を模索していた。従来のマルチモーダルモデル(Flamingo、BLIP-2など)は複雑なアーキテクチャや大規模なデータセットを必要とし、計算コストが高かった。LLaVAは、2023年にウィスコンシン大学マディソン校とMicrosoft Researchの研究者らによって提案された。彼らは、既存の強力な視覚エンコーダと言語モデルを簡単な線形プロジェクションで接続し、公開されている画像キャプションデータと、GPT-4を用いて自動生成した命令チューニングデータ(Visual Instruction Tuningデータ)で効率的に学習できることを示した。
2.2 リリース年表
- 2023年4月:LLaVAの初版が論文およびGitHubリポジトリで公開される。同時に、学習済みモデルの重みとVisual Instruction Tuning用データセット(LLaVA-Instruct-150k)が公開される。
- 2023年8月:改良版のLLaVA-1.5がリリース。MLPプロジェクション層の採用、データセットの拡大(LLaVA-Instruct-665k)などにより性能が大幅に向上。
- 2024年1月:LLaVA-NeXT(LLaVA-1.6)がリリース。動的解像度処理や改良されたプロジェクション層を導入し、GPT-4Vに迫る性能を達成。
3 アーキテクチャ
3.1 視覚エンコーダ
3.1.1 CLIPの利用
LLaVAは視覚エンコーダとして、OpenAIのCLIP(Contrastive Language-Image Pre-training)で事前学習されたVision Transformer(ViT)を使用する。CLIPは画像とテキストを共通の埋め込み空間に写像するように学習されており、その視覚エンコーダは汎用的な画像特徴を抽出する能力に優れている。LLaVAではViT-L/14(14×14のパッチサイズ)を標準的に用いる。
3.1.2 画像特徴抽出
入力画像はまず224×224(または動的解像度の場合は可変サイズ)にリサイズされ、ViTによって一連のパッチ埋め込み(トークン)に変換される。各パッチは線形射影と位置エンコーディングを経て、Transformerエンコーダ層で処理される。最終的に、[CLS]トークン(グローバル表現)または全パッチトークンが出力される。LLaVAでは全パッチトークンを利用するのが一般的である(v1.5以降ではMLPプロジェクションに適した形で出力)。
3.2 言語デコーダ
3.2.1 プロジェクション層
プロジェクション層は、視覚エンコーダの出力(パッチ特徴ベクトル)を言語モデルの埋め込み空間に写像する役割を担う。初期のLLaVAでは単一の線形層(全結合層)を使用していたが、LLaVA-1.5では2層のMLP(GELU活性化関数付き)に変更され、よりリッチな特徴変換が可能になった。このプロジェクション層のみが学習可能であり、視覚エンコーダと言語モデルは凍結される(あるいは軽微なLoRA適応を行うこともある)。
3.2.2 クロスアテンション機構
LLaVAでは、言語モデル(LLaMAなど)の各Transformer層において、通常の自己アテンションに加えて、プロジェクション後の視覚特徴トークンとテキストトークンの間でクロスアテンションを行う。これにより、モデルは画像の各部分に注意を向けながらテキストを生成できる。実際の実装では、視覚特徴を言語モデルの先頭に連結し(またはCross-Attention層を追加)、自己回帰的に処理する。LLaVA-1.5以降では、LLaMAの自己アテンションのみで視覚トークンを扱う方法も提案されているが、本質的には視覚情報とテキスト情報の融合を実現している。
3.3 全体構造図
LLaVAの全体アーキテクチャは以下の3つの主要モジュールで構成される:
- 視覚エンコーダ(CLIP ViT-L/14):画像 → パッチ特徴(例:256トークン)
- プロジェクション層(線形層またはMLP):パッチ特徴 → 言語モデル埋め込み空間
- 言語デコーダ(LLaMA-7Bまたは13Bなど):埋め込み空間の視覚トークンとテキストトークンを入力として、応答テキストを生成。
入力画像はまず視覚エンコーダで特徴抽出され、プロジェクション層を経て言語モデルに渡される。言語モデルは、<image>トークン(視覚特徴のプレースホルダ)とテキストトークンを連結したシーケンスを処理し、自己回帰的にテキストを出力する。
4 トレーニング
4.1 データセット
4.1.1 事前学習データ
LLaVAの事前学習(ステージ1)では、画像とそのキャプションのペアデータセットが使用される。具体的には、CC(Conceptual Captions)やSBU Captionsなどの大規模画像キャプションデータセットから抽出した約595kのサンプルが用いられる。この段階では、視覚エンコーダとプロジェクション層を学習し、画像特徴を言語モデルに適切に写像する能力を獲得する。言語モデルは凍結される。
4.1.2 ファインチューニングデータ(Visual Instruction Tuning用)
ステージ2の命令チューニングでは、GPT-4を用いて自動生成されたマルチモーダル命令データセット「LLaVA-Instruct」が使用される。最初のバージョンでは150kサンプル(LLaVA-Instruct-150k)で構成され、画像キャプション、視覚的質問応答、対話形式のタスクが含まれる。これらのデータは、COCO画像に対してGPT-4が「教師役」となって質問と回答を生成することで作成される。LLaVA-1.5では、データセットが665kサンプルに拡大され、より多様な命令パターンと画像が追加された。
4.2 学習プロセス
4.2.1 ステージ1:事前学習
- 目的:視覚エンコーダ(凍結)とプロジェクション層を学習し、画像特徴を言語モデルの埋め込み空間に写像する。
- 損失関数:言語モデルによるキャプション生成の自己回帰損失(cross-entropy loss)。
- 学習率:1e-3程度(プロジェクション層のみ更新)。
- エポック数:1エポック(約1万ステップ)。
- この段階で、視覚特徴と言語モデルの整合性が確保される。
4.2.2 ステージ2:命令チューニング
- 目的:プロジェクション層と言語モデル(LoRAなどで軽微に適応)を共に学習し、視覚的指示に対する応答能力を向上させる。
- 損失関数:同上(命令チューニングデータに対する自己回帰損失)。
- 学習率:2e-5程度(LoRAアダプター+プロジェクション層)。
- エポック数:3エポック。
- この段階で、モデルは多様な命令形式(画像記述、質疑応答、対話)に適応し、ゼロショット性能を発揮するようになる。視覚エンコーダは依然として凍結される。
5 性能
5.1 ベンチマーク結果
5.1.1 VQAタスク
LLaVAは、VQA v2、GQA、TextVQAなどの視覚的質問応答ベンチマークで高い性能を示す。LLaVA-1.5では、VQA v2で78.5%(7Bモデル)、GQAで63.2%の精度を達成し、同規模のオープンソースモデルを大幅に上回った。また、TextVQAなどのシーンテキスト理解タスクでも競争力のある結果を出す。
5.1.2 画像キャプションタスク
画像キャプションタスク(MS COCO Captionsなど)では、LLaVAはCIDErスコアで専用キャプションモデルに匹敵する性能を示す。MS COCO Karpathyテスト分割において、LLaVA-1.5はCIDEr 133.0(7B)を記録し、当時のSOTAキャプションモデルと同等である。
5.2 他モデルとの比較
5.2.1 GPT-4Vとの比較
GPT-4Vはクローズドソースの最先端モデルであり、多くのタスクで最高性能を示す。LLaVA-1.5/1.6はGPT-4Vに匹敵する場合もあるが、特に細かい視覚推論や複雑な指示理解では依然として差がある。ただし、LLaVAはオープンソースであり、カスタマイズやローカル実行が可能である点で優位性を持つ。
5.2.2 他のオープンソースモデルとの比較
LLaVAは、BLIP-2、InstructBLIP、MiniGPT-4などの同時期のオープンソースマルチモーダルモデルと比較して、ゼロショット性能とトレーニング効率で優れている。特に、Visual Instruction Tuningの手法により、少ないデータ(150k〜665k)で高い汎化能力を獲得できる点が評価されている。LLaVA-1.5以降は、LLaVA-LLaMA-3などの派生モデルも登場し、性能がさらに向上している。
6 応用
6.1 画像キャプション生成
LLaVAは、画像を入力として自然言語のキャプションを生成できる。従来の専用キャプションモデルと異なり、LLaVAは文脈に応じて異なるスタイル(簡潔、詳細、創造的)でキャプションを生成可能であり、画像の内容を正確に記述する。
6.2 視覚的質問応答
ユーザーが画像に関する質問(例:「この写真の中で赤い服を着ている人は何人いますか?」)を入力すると、LLaVAは画像の内容を理解して適切な回答を生成する。応用分野としては、教育、医療画像の初期的な質問応答、商品説明などが挙げられる。
6.3 マルチモーダル対話システム
LLaVAは、画像とテキストのやり取りを連続して行う対話システムとして利用できる。ユーザーが画像をアップロードし、それに関する質問を対話形式で行うと、モデルは前後の文脈を踏まえて応答する。これはカスタマーサポートやクリエイティブアシスタントとして活用できる。
6.4 障害者支援(視覚障害者の画像説明など)
視覚障害者向けに、周囲の画像(カメラで撮影したもの)をLLaVAがリアルタイムで説明するシステムが開発されている。画像に写っている物体、人物、場面の状況などを音声で伝えることで、視覚情報へのアクセスを支援する。LLaVAは軽量モデルとしてモバイル端末でも動作可能なため、実用的な応用が期待される。
7 課題と限界
7.1 計算コスト
LLaVAは従来の大規模マルチモーダルモデルより効率的だが、それでも70億〜130億パラメータのモデルを推論するにはGPUメモリを要する。特に高解像度画像や動画入力の場合は計算コストが増大する。また、トレーニングには事前学習データと命令チューニングデータの収集・生成に費用がかかる。
7.2 バイアスと公平性
LLaVAはインターネット上のデータ(CLIPの学習データやGPT-4生成データ)に依存しており、そこに含まれる社会的バイアス(性別、人種、文化に対するステレオタイプ)を継承する可能性がある。画像認識や記述において、特定の属性に対する偏った表現が見られることがある。公平性の評価と緩和策が今後の課題である。
7.3 幻覚問題
LLaVAは、画像に存在しない物体や事象を誤って記述する「幻覚(ハルシネーション)」問題を抱える。例えば、画像に写っていない人物の行動を生成したり、色や数を誤認したりすることがある。これは大規模言語モデル全般に共通する課題であり、LLaVAでも顕著に見られる。
7.4 データセットの依存性
LLaVAの性能は、Visual Instruction Tuningデータセットの品質と多様性に強く依存する。現在のデータセットは主にCOCO画像とGPT-4生成テキストで構成されており、特定のドメイン(医療、産業など)への適応には別途データ収集が必要である。また、GPT-4生成データに含まれる誤りがモデルに影響する可能性もある。
8 関連モデルと発展
8.1 LLaVA-NeXT
LLaVA-NeXT(LLaVA-1.6)は、2024年1月にリリースされた改良版である。主な変更点は以下の通り:
- 動的解像度処理:画像を複数のパッチに分割し、高解像度のまま処理することで、細かい視覚情報(文字、小さな物体)の認識を改善。
- AnyRes:任意の解像度の画像を処理できる機構を導入。
- データ拡張:トレーニングデータにLLaVA-Instruct-665kに加えて、新たな画像キャプションデータやOCRデータを追加。
- 結果として、GPT-4Vに迫る性能を達成し、特にTextVQAで顕著な改善を示した。
8.2 LLaVA-LLaMA-3
LLaVA-LLaMA-3は、言語モデルのバックボーンをLLaMA-3(Metaが公開した最新のLLM)に置き換えた派生モデルである。LLaMA-3はLLaMA-2よりも優れた言語理解能力を持つため、マルチモーダルタスクでも性能が向上する。コミュニティによって複数のファインチューニング版が公開されている。
8.3 コミュニティ派生モデル
LLaVAのオープンソース性により、多くのコミュニティ派生モデルが登場している:
- LLaVA-Phi:小型言語モデルPhi-2をバックボーンにした軽量版。
- LLaVA-Med:医療画像(X線、MRI)に特化してファインチューニングされたモデル。
- Japanese LLaVA:日本語に対応するために言語モデルを日本語LLMに置き換えたモデル。
- Video-LLaVA:動画入力を扱えるように拡張したモデル(時間的モジュールを追加)。
これらの派生モデルは、Hugging FaceやGitHubで公開され、多様な応用分野で利用されている。
9 参考文献
- Liu, H., Li, C., Wu, Q., & Lee, Y. J. (2023). Visual Instruction Tuning. *Advances in Neural Information Processing Systems (NeurIPS)*.
- Liu, H., Li, C., Li, Y., & Lee, Y. J. (2024). Improved Baselines with Visual Instruction Tuning. *arXiv preprint arXiv:2310.03744*.
- Li, C., Liu, H., Li, Y., & Lee, Y. J. (2024). LLaVA-NeXT: Improved Reasoning, OCR, and World Knowledge. *arXiv preprint arXiv:2401.16388*.
- Radford, A., Kim, J. W., Hallacy, C., et al. (2021). Learning Transferable Visual Models From Natural Language Supervision. *ICML*.
- Touvron, H., Lavril, T., Izacard, G., et al. (2023). LLaMA: Open and Efficient Foundation Language Models. *arXiv preprint arXiv:2302.13971*.
- Touvron, H., Martin, L., Stone, K., et al. (2023). LLaMA 2: Open Foundation and Fine-Tuned Chat Models. *arXiv preprint arXiv:2307.09288*.
- (その他、関連するGitHubリポジトリおよびHugging Face Model Hub上のLLaVA関連リソース)