ビジュアル言語モデルは、ここ最近大きく進化しました。ただし、既存のテクノロジは、通常、単一の画像にしか対応していません。複数の画像からの論理的な推論、コンテキスト学習への対応、動画の理解は不可能です。また、推論速度も最適化されていません。
NVIDIA は VILA を開発しました。これは包括的な事前トレーニング、指示チューニング、デプロイ パイプラインを備えたビジュアル言語モデルであり、NVIDIA のクライアントがマルチモーダル製品で成功するのを支援します。VILA は画像と動画両方の QA ベンチマークで SOTA パフォーマンスを達成し、複数画像における強力な論理推論能力とコンテキスト学習能力を備えています。また、推論速度も最適化されています。
他の VLM と比較するとトークンの使用量は 4 分の 1 であり、精度を落とすことなく 4 ビット AWQ で量子化されます。VILA には、最高のパフォーマンスに対応した 40B から、NVIDIA Jetson Orin などのエッジ デバイスにもデプロイ可能な 3.5B まで、さまざまなサイズがあります。
また、NVIDIA が設計した効率的なトレーニング パイプラインにより、128 基の NVIDIA A100 GPU で VILA-13B のトレーニングはわずか 2 日で完了しました。この研究用プロトタイプに加え、私たちは VILA をさらに大量のデータと GPU 時間で拡張できることも実証しました。
推論効率を考え、VILA は TRT-LLM 互換になっています。NVIDIA は VILA を 4 ビット AWQ を使用して量子化しました。単一の NVIDIA RTX 4090 GPU 上で VILA-14B は 1 トークンあたり 10 ms で動作します。
VILA のトレーニング レシピ
Llava のような既存の方法では、ビジュアル指示チューニングを使用して LLM をビジュアル入力に拡張しますが、モデルが両方のモダリティのジョイント モデリングの実行を学習する、ビジュアル言語の事前トレーニング プロセスに対する詳細な研究が欠けています。
モデルのアーキテクチャ
マルチモーダル LLM は、クロス アテンションベースと自己回帰ベースの設定に分類できます。
後者のトークナイザーは画像をビジュアル トークンに変換し、テキスト トークンと連結し、入力として LLM に送ります (つまり、ビジュアル入力を外国語として扱います)。これは、RAG と同様に、ビジュアルの埋め込みで入力を補強することでテキストのみの LLM を自然に拡張するものであり、任意の数のインターリーブされた画像テキスト入力を処理できます。
そのため、柔軟性と量子化/デプロイの容易さから、自己回帰アーキテクチャに注目しました。
図 1 に示す自己回帰型 VLM は、ビジュアル エンコーダー、LLM、および 2 つのモダリティからの埋め込みをブリッジするプロジェクターという 3 つのコンポーネントで構成されます。モデルはビジュアル入力とテキスト入力を受け取り、テキスト出力を生成します。
LLM のアンフリーズが不可欠
事前トレーニングを実施したテキストのみの LLM をビジュアル入力へ拡張するには、一般に 2 種類の方法が使われます。ビジュアル入力トークンで LLM のファインチューニングを実施する方法と、LLM をフリーズさせてビジュアル入力プロジェクターのみをプロンプト チューニングとしてトレーニングする方法です。
LLM をフリーズすれば、事前トレーニングされたテキストのみの LLM の品質低下を防止できるため、後者の方法は魅力的です。とはいえ、コンテキスト学習のような魅力的な LLM プロパティを継承するには、ベース LLM の更新が不可欠です。
私たちは以下のことを観察しました。
- SFT 中にプロジェクターのみをトレーニングした場合、大容量デザインを使用しているにもかかわらず、パフォーマンスが低下します。SFT 中に LLM のファインチューニングを実施するほうが、良い結果を得られます。
- 興味深いことに、事前トレーニング中に LLM をフリーズしてもゼロショット パフォーマンスには影響しませんが、コンテキスト学習の能力は低下します。
- 小容量のプロジェクター (トランスフォーマー ブロックの代わりに線形層) を使用した場合、精度がわずかに向上します。私たちはシンプルなプロジェクターでは、ビジュアル入力を処理するときに LLM がより多くの情報を学習する必要があるため、汎化能力が高まるという仮説を立てています。
これらの観察結果を踏まえ、後の研究では、事前トレーニングと指示チューニングにおいて、シンプルな線形プロジェクター層を使用して LLM のファインチューニングを実施しました。
インターリーブされた画像テキストデータが不可欠
NVIDIA の目標は、LLM を強化してビジュアル入力に対応させることであり、ビジュアル言語入力に対してのみ機能するモデルをトレーニングすることではありません。LLM がテキストのみを処理する能力を維持していることは不可欠です。
データのキュレーションとブレンドは、事前トレーニングと指示チューニングの重要な要素です。次の 2 種類のデータ形式があります。
- 画像とテキストのペア (画像とそのキャプション): <im1><txt1>, <im2><txt2>
- インターリーブされた画像テキスト データ: <txt1><im1><txt2><txt3><im2><txt4>
画像とテキストのペア
COYO データセットにあるような画像とテキストのペアを事前トレーニングに使用すると、破滅的忘却が発生する可能性があります。テキストのみの精度 (MMLU) が 17.2% 劣化します。
注目すべきことに、4 ショットの精度はゼロショットよりも悪く、このモデルがビジュアル言語入力のコンテキスト学習を適切に実行できないことを示しています (事前トレーニングの間に複数の画像を見たことがないからかもしれません)。
破滅的忘却は、通常短く簡潔であるテキストベースのキャプションの分布が原因であると思われます。
インターリーブされた画像テキスト
一方、MMC4 のようにインターリーブされた画像テキストのデータセットを使用した場合、その分布はテキストのみのコーパスと比較してかなり近づきます。インターリーブされたデータを事前トレーニングに使用した場合、MMLU の劣化は約 5% にすぎません。
この劣化は、適切な指示チューニングによって完全に回復できます。また、ビジュアルのコンテキスト内学習が可能になるため、ゼロショットと比較して 4 ショットの精度が高く、VILA の長所となっています。
データ ブレンド
データ ブレンドにより、事前トレーニングを向上させ、両者の良さを組み合わせることができます。インターリーブされたコーパスに画像とテキストのペアをブレンドすることで、コーパスに多様性を導入しながら、深刻な劣化を防ぐことができます。
MMC4+COYO の両方でトレーニングすることで、ビジュアル言語ベンチマークの精度がさらに向上します。
ジョイント SFT で LLM の劣化を回復する
インターリーブ データはテキストのみの能力を維持するのに役立ちますが、それでも精度は 5% 低下します。
テキストのみの能力を維持できる可能性があるアプローチの 1 つが、テキストのみのコーパス (LLM の事前トレーニングに使用されるコーパス) を追加することです。ただし、通常このようなテキスト コーパスはオープンソース モデルであってもプロプライエタリです。また、ビジュアル言語コーパスの規模に合わせてデータをサブサンプリングする方法も不明瞭です。
幸いなことに、テキストのみの能力は一時的に隠されているだけであり、失われていないことがわかりました。SFT 中にテキストのみのデータを追加すると、テキスト事前トレーニングコーパス (通常は兆単位の規模) よりはるかに小さい規模のものを使用しても、劣化を克服するのに役立ちます。
テキストのみの SFT データをブレンドすることで、テキストのみの能力の劣化が克服され、ビジュアル言語の能力が改善されることがわかりました。テキストのみの指示データにより、モデルの命令追従能力が改善されると推測されます。これは、ビジュアル言語タスクにとっても重要です。
興味深いことに、COYO データでのブレンディングのメリットはジョイント SFT を使用すると、より顕著になります。ジョイント SFT を利用することにより、短いキャプションで事前トレーニングさせた場合の劣化に悩まされることがなくなり、ビジュアルの多様性を最大限に活用できるようになる、と考えています。
トークン数ではなく画像の解像度が重要
解像度を 224 から 336 に上げると、TextVQA の精度が 41.6% から 49.8% に向上します。
ただし、解像度が高くなると、画像あたりのトークン数が増え (336×336 は 1 画像あたり 576 トークン相当)、計算コストが高くなります。コンテキストの長さが限られているため、動画の理解ではさらに深刻です。コンテキストの長さを拡張する LongLoRA 手法を組み合わせることを私たちは計画しています。また、コンテキスト学習のデモの数も制限されます。
幸い、生の解像度のほうが、ビジュアル トークン/画像の数よりも重要です。ビジュアル トークンを圧縮するために、さまざまなプロジェクター デザインを使用できます。私たちはダウンサンプル プロジェクターを試しました。2×2 のトークンをすべて 1 つのトークンに連結し、線形層を使用して情報を融合しました。解像度 336 では #tokens が144 に減少し、224+線形 の設定よりも小さくなりました。
それでも TextVQA の精度は、336+線形 設定と比較すれば 3% 劣るとはいえ、高く (46% 対 41.6%)、画像トークンの冗長性の大きさを示しています。OKVQA や COCO といった他のデータセットでは、通常、より高いレベルのセマンティクスが必要なため、ギャップが小さくなります。
初公開の際は、主な結果にトークン圧縮を適用しませんでした。しかし、今回のリリースでは、すべてのサイズのモデルにこのトークン圧縮手法を採用しています。
データは量より質が重要
実験では、事前トレーニングのデータを 25M から 50M に拡大しても、それほど利点がないことがわかりました。ただし、約 100 万件の高品質データを追加すると、ベンチマークの結果が向上します。したがって、データは量より質の方がはるかに重要です。
高性能でありながら、限られた計算リソースで VILA をトレーニングするために、データの量よりも品質を重視しました。たとえば、CLIP スコアに従って、COYO-700M データセットの上位 5% のみをテキストと画像のペアに選択しました。また、動画キャプションのデータセットの最高品質のデータをフィルター処理し、混合データセットに追加しました。
VILA のデプロイ
VILA の GPU での量子化とデプロイは容易です。LLM にビジュアル トークンを追加しますが、LLM アーキテクチャは変更されず、コード ベースのモジュラリティが維持されます。
私たちは VILA を 4 ビット AWQ で量子化し、NVIDIA RTX 4090 と Jetson Orin にデプロイしました。詳細については、「ビジュアル言語のインテリジェンスと Edge AI 2.0」を参照してください。
AWQ 量子化アルゴリズムはマルチモーダル アプリケーションに適しています。GPTQ では必要な逆伝播や再構成が AWQ では必要ないためです。したがって、新しいモダリティへの汎化能力が高く、特定のキャリブレーション セットに過剰適合しません。量子化はモデルの言語部分のみに実施しました。言語部分がモデルのサイズと推論のレイテンシにおいて、支配的なためです。レイテンシにおいてビジュアル部分が占める割合は 4% 未満です。
AWQ のパフォーマンスはゼロショット設定やさまざまな数ショット設定において既存の手法 (RTN、GPTQ) を上回っており、さまざまなモダリティとコンテキスト学習ワークロードに対する汎用性が実証されています。
パフォーマンス
モデル | VQA-V2 | GQA | VQA – T | ScienceQA – I | MME | SEED- I | MMMU 値 | MMMU テスト |
LLaVA-NeXT-34B | 83.7 | 67.1 | 69.5 | 81.8 | 1631 | 75.9 | 51.1 | 44.7 |
VILA1.5-40B | 84.3 | 64.6 | 73.5 | 87.4 | 1727 | 75.7 | 51.9 | 46.9 |
モデル | 精度 | VQA-V2 | GQA | VQA – T | ScienceQA – I | MME | SEED- I | MMMU 値 | MMMU テスト |
VILA1.5-13B | fp16 | 82.8 | 64.3 | 65 | 80.1 | 1570 | 72.6 | 37.9 | 33.6 |
VILA1.5-13B | int4 | 82.7 | 64.5 | 64.7 | 79.7 | 1531 | 72.6 | 37.8 | 34.0 |
Llama-3-VILA1.5-8B | fp16 | 80.9 | 61.9 | 66.3 | 79.9 | 1577 | 71.4 | 36.9 | 36 |
Llama-3-VILA1.5-8B | int4 | 80.3 | 61.7 | 65.4 | 79.0 | 1594 | 71.1 | 36.0 | 36.1 |
モデル | 精度 | NVIDIA A100 GPU | NVIDIA RTX 4090 | NVIDIA Jetson AGX Orin |
VILA1.5-13B | fp16 | 51 | OOM | 6 |
VILA1.5-13B | int4 | 116 | 106 | 21 |
Llama-3-VILA1.5-8B | fp16 | 75 | 57 | 10 |
Llama-3-VILA1.5-8B | int4 | 169 | 150 | 29 |
動画キャプションのパフォーマンス
VILA にはコンテキスト学習の能力があり、明示的にタスク (会社の説明、分類と計数、世界の知識など) を説明しなくても、数ショットのサンプルでプロンプトを作成できます。VILA は自動的にタスクを認識し、正しい予測を行うことができます。
VILA には優れた汎化能力と論理的な推論能力があります。ミームの理解、複数の画像や動画フレームについての関連付け、運転シナリオでのまれなケースの処理などが可能です。
NVIDIA GTC 2024 での VILA
NVIDIA GTC 2024で、私たちはエッジからクラウドまで効率的なマルチモーダル NVIDIA AI ソリューションを実現する VILA を発表しました。
エッジでは、VILA は AWQ を使用して効率的に 4 ビットへと量子化され、すぐにダウンロードできる状態になっています。これにより、NVIDIA Jetson Orin Nano および Jetson AGX Orin プラットフォームでリアルタイム推論が可能になります。これにより、ロボティクスや自動運転車のようなエッジでのアプリケーションが直面する、エネルギーやレイテンシーの制限、バジェットの問題にかなり対処することができます。包括的なチュートリアルについては、「ビジュアル言語のインテリジェンスと Edge AI 2.0」を参照してください。
VILA と NVIDIA Visual Insight Agent
VILA はクラウドの NVIDIA Visual Insight Agent (VIA) フレームワークを強化し、AI エージェントの作成を可能にします。これらのエージェントは、「工場の通路 3 で何が起こったのか」などの問い合わせに対応することで、運用チームを支援します。たとえば、生成 AI を活用したエージェントがすぐにインサイトを提供し、「午後 3 時 30 分、棚から箱が倒れ、通路を塞いでいる」と説明できます。
VIA フレームワークを使用すれば、リアルタイムの、またはアーカイブされた大量の動画や画像データをビジュアル言語モデルで処理する AI エージェントを作成できます。この先進的な世代のビジュアル AI エージェントは、エッジへの導入でもクラウドへの導入でも、事実上あらゆる業界を変革することになるでしょう。これにより、自然言語を使用して動画コンテンツを要約し、検索し、そこから実行可能なインサイトを取得できるようになります。
詳細については、「同期を維持する: NVIDIA が産業オートメーション向けにデジタル ツインとリアルタイム AI を組み合わせる」を参照してください。
まとめ
VILA は、トレーニングから推論の導入まで、ビジョン タスク向けに LLM を強化する効率的なデザイン レシピを提供します。LLM のアンフリーズ、インターリーブされた画像テキスト データのキュレーション、そしてテキスト データの慎重な再ブレンドの力を最大限に活用することにより、VILA は、テキストのみのときに実現していた能力を維持しつつ、ビジョン タスク向けの最先端の手法をしのぐものとなっています。
VILA は、複数画像分析、コンテキスト学習、ゼロショット/数ショット タスクのための強力な論理推論能力を持つことが実証されています。NVIDIA は、VILA が NVIDIA Metropolis、音響映像、ロボティクス、生成 AI などの多様なアプリケーションで、さらに優れたマルチモーダルな基盤モデルの構築に役立つことを願っています。
詳細については、「VILA: ビジュアル言語モデルの事前トレーニングについて」論文と GitHub の /Efficient-Large-Model/VILA リポジトリを参照してください。
関連情報
- GTC セッション: GPU でスーパーチャージされた JAX: JAX と OpenXLA を使用した高性能 LLM
- GTC セッション: NVIDIA DRIVE で大規模言語モデルとビジョン言語モデルを使用して自動車 AI を進化させる
- GTC セッション: テキスト生成に TensorRT-LLM を使用した LLM の最適化とスケーリング
- NGC コンテナー: LLM 向け NVIDIA NIM
- ウェビナー: NVIDIA Jetson で生成 AI に命を吹き込む
- ウェビナー: 大規模言語モデルの実装