視覚言語モデル (VLM: Vision Language Models) は、動画、画像、文章を理解し処理できるマルチモーダルの生成 AI モデルです。
視覚言語モデルは、大規模言語モデル (LLM) とビジョン エンコーダーを組み合わせて構築されたマルチモーダル AI システムです。LLM に「見る」能力を提供します。
この機能により、VLM はプロンプトで提供される動画、画像、文章などの入力を処理して高度な理解を実現し、テキスト応答を生成することができます。
図 1: 視覚言語モデルの用途
従来のコンピューター ビジョン のモデルとは異なり、VLM は固定されたクラスのセットや、分類や検出など特定のタスクに縛られません。テキストと画像または動画のキャプションを組み合わせた膨大なコーパスで再トレーニングされた VLM は、自然言語で指示を受けることができ、従来の多くのビジョン タスクに加え、要約や視覚的な Q&A など、新しい生成 AI を活用したタスクにも役立てることができます。
VLM の重要性を理解するには、過去のコンピューター ビジョン (CV: Computer Vision) モデルの仕組みを知っておくことが役立ちます。従来の畳み込みニューラル ネットワーク (CNN) ベースの CV モデルは、限定的なクラスのセットで特定のタスク向けにトレーニングされます。以下はその例です。
以前の CV モデルは特定の目的のためにトレーニングされていたため、開発およびトレーニングされたタスクやクラスを超える能力はありませんでした。用途が大きく変わった場合や、モデルに新しいクラスを追加する必要がある場合、開発者は大量の画像を収集してラベル付けし、モデルを再トレーニングしなければなりませんでした。これは費用と時間のかかるプロセスです。さらに、CV モデルには自然言語を理解する能力はありません。
VLM は、CLIP などの基盤モデルのパワーと LLM を組み合わせて視覚と言語の両方の機能を備えた新しいクラスの機能を提供します。VLM は、視覚的な質疑応答、分類、光学文字認識など、さまざまな視覚タスクにおいて、すぐに使える強力なゼロショット性能を備えています。また、柔軟性にも非常に優れており、固定されたクラスのセットだけでなく、テキスト プロンプトを変更するだけで、ほぼ全ての用途で使用できます。
VLM の使用は、LLM とのやり取りに非常によく似ています。ユーザーは画像を組み込んで使用できるテキスト プロンプトを提供します。入力は、テキスト出力の生成に使用されます。入力プロンプトは自由で、ユーザーは VLM に対して、質疑応答、要約、内容の説明、画像に基づく推論などを指示できます。ユーザーは VLM とチャット形式でやり取りして、会話の文脈に画像を挿入することも可能です。また、VLM は視覚エージェントに統合し、視覚的なタスクを自律的に実行することもできます。
ほとんどの VLM は 3 つの部分からなるアーキテクチャに従っています。
ビジョン エンコーダーは、通常、数百万の画像とテキストのペアで学習した、Transformer アーキテクチャを備えた CLIP ベースのモデルで、画像とテキストを関連付ける機能を備えています。プロジェクターは、ビジョン エンコーダーの出力を、LLM が理解できる形式に変換するレイヤーのセットです。多くの場合、画像トークンとして解釈されます。このプロジェクターは、LLaVA (Large Language and Vision Assistant) や VILA (Vision-Language Alignment) のようなシンプルな Line レイヤーにも、Llama 3.2 Vision で使用される Cross-attention レイヤーのように、より複雑なものにもできます。
どんな既製の LLM でも、VLM の構築に使用できます。多様な LLM とビジョン エンコーダーを組み合わせた VLM のバリエーションは、数百種類存在します。
図 2: 視覚言語モデルの一般的な 3 つの部分のアーキテクチャ
VLM は、事前学習とその後の教師ありファインチューニングを含む複数の段階を経てトレーニングされます。オプションとして、カスタム データに基づいてドメイン固有の VLM を作成するための最終段階である、PEFT (Parameter Efficient Fine-Tuning) を適用できます。
事前学習の段階では、テキストや画像入力を解釈するときに、ビジョン エンコーダー、プロジェクター、LLM を調整し、基本的に言語が一致するようにします。これは、画像とキャプションのペアや画像とテキストが混在するデータを含む、テキストと画像の大規模なコーパスを使用して行われます。事前学習を通じて 3 つのコンポーネントが調整されると、ユーザー プロンプトに適切に応答する方法を理解できるように、VLM は教師ありファインチューニングの段階に進みます。
この段階で使用されるデータは、テキストおよび/または画像の入力を含む例示プロンプトと、モデルの期待される応答を組み合わせたものです。例えば、このデータは、モデルに画像の説明を求めたり、フレーム内のすべてのオブジェクトを数えたりするように指示するプロンプトと、その期待される正しい応答を含むものです。このトレーニングの後、VLM は画像を解釈し、ユーザー プロンプトに応答する方法を理解します。
図 3: 多くの場合、モデルの特定部分を対象とするために複数の段階で行われる VLM のトレーニング
VLM がトレーニングされると、テキストと画像が混在したプロンプトを提供することで、LLM と同じように利用できるようになります。その上で、 VLM は入力に基づいてテキスト応答を生成します。VLM は通常、モデルとのやり取りを簡単にするため、OpenAI スタイルの REST API のインターフェイスと共に展開されます。
現在、視覚機能を強化するために、より高度な技術が研究されています。
これらの進歩により、VLM の機能は、単一の画像入力のみの理解から、画像の比較と対照、テキストの正確な読み取り、長時間動画の理解、強力な空間認識能力を備えた高性能モデルへと進化しています。
MMMU、Video-MME、MathVista、ChartQA、DocVQA など、複数の一般的なベンチマークがあり、視覚言語モデルのさまざまなタスクで、どの程度のパフォーマンスを発揮するかを測定します。
ほとんどのベンチマークは、複数の関連質問を含む画像セットで構成されており、多くの場合、複数選択式の質問として構成されています。複数選択形式は、VLM を一貫的にベンチマークして比較する最も簡単な方法です。これらの質問は、VLM の認知、知識、思考の能力をテストします。これらのベンチマークを実行する場合、VLM には画像、質問、選択すべき複数選択の回答が提供されます。
図 4: MMMU ベンチマークで使用された VLM の複数選択式の質問の例
出典 (MMMU)
VLM の精度は、複数選択式の質問セットに対する正しい選択の数で示されます。一部のベンチマークでは、VLM が特定の計算を行い、正しい回答が一定の割合の範囲に収まる必要がある、数値問題も含まれています。多くの場合、これらの質問や画像は、大学レベルの教科書などの学術的資料から取得されます。
VLM はその柔軟性と自然言語理解能力により、あらゆる種類の視覚関連タスクの主要ツールとして急速に普及しています。VLM は、自然言語を通じてさまざまなタスクを実行するように簡単に指示できます。
特別にトレーニングされた大規模な複数モデルの組み合わせを必要とするような従来のアプリケーションが、今では単一の VLM で実行可能になっています。
VLM は、特に画像の内容を要約することに優れており、その内容に基づいて特定のタスクを実行するよう指示できます。例えば、教育分野の用途では、VLM に手書きによる数学の問題の画像を与えると、光学文字認識 (OCR) とリーズニング機能を使用して問題を解釈し、その解き方を手順ごとに生成することができます。VLM は、画像の内容を理解するだけでなく、特定のタスクをリーズニングして実行する能力も備えています。
図 5: 動画と画像データを実世界での洞察に変える動画分析 AI エージェント
膨大な量の動画が毎日制作されているため、すべての業界で作成されている動画をレビューして洞察を抽出することは現実的ではありません。VLM を、より大規模なシステムに統合することで、プロンプトに応じて特定のイベントを検出できる動画分析 AI エージェントを構築することができます。これらのシステムは、倉庫内のロボットの異常を検知したり、棚が空になったときに在庫切れのアラートを生成したりするために使用できます。その汎用的な理解は単純な検知に留まらず、自動レポート生成にも活用することがです。例えば、インテリジェントな交通システムでは、倒木、故障車両、衝突などの交通障害を検知して分析し、レポートを作成できます。
VLM は、グラフ データベースなどの技術と併用して、長時間の動画を理解するために使用できます。これにより、動画内の複雑なオブジェクトやイベントを捉えることが可能です。このようなシステムは、倉庫の運用状況を要約して、ボトルネックや非効率な部分を発見したり、サッカー、バスケットボールなどの試合のスポーツ解説を作成したりするために活用できます。
視覚言語モデルは急速に成熟していますが、特に空間的な理解と長い文脈を含む動画の理解に関しては、いくつかの制限があります。
ほとんどの VLM はビジョン エンコーダーとして CLIP ベースのモデルを使用していますが、これには 224x224 または 336x336 の画像入力サイズの制限があります。この比較的サイズの小さな入力画像では、小さな物体や細部の検知が困難になります。例えば、HD 動画の 1080x1920 のフレームは、解像度を小さくするかトリミングする必要があり、小さな物体や細部を保持することが難しくなります。この問題を解決するため、VLM では大きな画像を小さな断片に分割してモデルに供給する、タイルのように分割する手法を使い始めています。また、より高解像度な画像エンコーダーの活用を模索する研究も進行中です。
VLM は物体の正確な位置を提供する上でも問題があります。CLIP ベースのビジュアル エンコーダーの学習データは、主に画像の短い説明文 (キャプションなど) で構成されています。このような説明文には、詳細で正確な物体の位置情報が含まれておらず、この制限が CLIP の空間理解に影響を及ぼします。この制限は、CLIP をビジュアル エンコーダーとして使用する VLM にも継承されます。これらの制限を克服するために、複数のビジュアル エンコーダーを組み合わせる新たなアプローチが模索されています。2408.15998 (arxiv.org)
適切に分析して質問に回答するためには、数時間にわたる動画の視覚情報を考慮する必要があるため、長時間の動画の理解は非常に困難です。LLM と同様に、VLM も文脈の長さに制限があり、質問に答えるために動画から含めるフレーム数が決まっています。文脈の長さを拡張し、動画ベースのデータで VLM を学習させる LongVILA などのアプローチが研究されています 2408.10188 (arxiv.org)。
VLM では、特定の製品ラインで製造上の欠陥を発見するなど、非常に具体的な用途において十分なデータを見ていない場合があります。この制限は、ドメイン固有のデータで VLM をファインチューニングするか、モデルを明示的にトレーニングしなくても新しい情報をモデルに教えられる例を提供する、コンテキスト内学習 (In-context Learning) を使った複数の画像を扱える VLM を使用することで克服できます。PEFT を使用してドメイン固有のデータでモデルをトレーニングする手法も、カスタム データでの VLM の精度を向上させるために使用できます。
NVIDIA は、視覚言語モデルの構築と展開を容易にするツールを提供しています。