📷

文献調査: 「NVLM: Open Frontier-Class Multimodal LLMs」

2025/01/20に公開

文献調査: 「NVLM: Open Frontier-Class Multimodal LLMs」

はじめに

お疲れ様です!長期の出張勤務がひと段落したので、久々に中岸が投稿します!
今回は、NVIDIAのマルチモーダルLLMを調査した内容をまとめて書き出してみました!
(なお、「➡」に続いている文章は、読んでいる際に自分が感じたことであり、論文の内容ではないのでご注意下さい。あと記載ミス、表記ゆれ、理解不足などたくさんありますがご容赦ください)
今回の記事は、下記文献(URL)の内容を自分が読んでまとめた結果になります。また、図や表などはこの文献やHuggingface、プロジェクトページから引用しています((Huggingface), (プロジェクトページ))。
Dai, Wenliang and Lee, Nayeon and Wang, Boxin and Yang, Zhuolin and Liu, Zihan and Barker, Jon and Rintamaki, Tuomas and Shoeybi, Mohammad and Catanzaro, Bryan and Ping, Wei. NVLM: Open Frontier-Class Multimodal LLMs. arXiv preprint, 2024

1 翻訳(Abstract)~導入(Introduction)

この文献で、提案されているNVLM-1.0は、NVIDIAが開発し、vision-languageタスク(視覚言語タスク)で (GPT-4やLlama3-V 405B、InternVL 2などの主要なプロプライエタリ/オープンアクセスモデルに匹敵する) state-of-the-art な性能を達成したオープンなマルチモーダル大規模言語モデル。

背景・課題:
ChatGPTの導入から、LLMは自然言語処理、数学的問題やコーディング問題の分野で革命を起こし、飛躍的な発展を遂げた。同時に、実世界と言語モデルの橋渡しをするマルチモーダルLLM(MLLM)も大きな注目を集めている。こういった状況下で、GPT-4Vなどの視覚言語知能のための高性能なプロプライエタリMLLM(文献中では、これらのマルチモーダルおよびテキスト専用タスクの両方で卓越した性能を発揮するプロプライエタリMLLMの持つ品質を、production-grade multimodalityと呼んでいる)が登場しているが、これらのモデルはアーキテクチャやトレーニングデータ・手法が非公開のために、研究コミュニティがそれらを基盤にさらなる研究を行うことを妨げている(➡それは確かにそう)。
一方で、オープンアクセスのMLLMに関しても(BLIP、LLaVA、InternVL、Llama 3-Vといったモデル)大きな進展を遂げたが、既存のMLLMには以下のような課題が存在。

  • MLLMにおいてアーキテクチャが統一されていない(プロプライエタリMLLMは公開もされていない): 既存のMLLMアーキテクチャ(decoder-only vs. cross-attention modelsなど) は同一条件で研究および比較されていいない。さらに、オープンアクセスモデル間では、LLMバックボーン、ビジョンエンコーダ、およびトレーニングデータが異なるという点も、直接比較を困難なものにしている。
  • 高解像度画像入力の設計: 高解像度の画像入力を取り扱うモデル設計は、OCR関連タスクでの性能を大幅に向上させる一方で、推論関連のタスクでは低解像度のものと比較して精度が低下することがある。
  • テキスト専用タスクで性能が劣化する: オープンなMLLMは視覚言語タスクで印象的なベンチマーク結果を達成しているが、テキスト専用タスクでは性能が大幅に低下する傾向がある。これらの課題を解決するために、3種類の独自アーキテクチャ(NVLM-D: デコーダオンリーアーキテクチャ、NVLM-X: クロス(X)アテンションベースのアーキテクチャ、NVLM-H: ハイブリッドアーキテクチャ)を持つ NVLM-1.0 が文献において提案されており、以下の特徴を有する。
  1. モデルアーキテクチャ:
    • 同じLLMバックボーン(MLLMにおいてベースとなるLLM)、ビジョンエンコーダー(特徴抽出部)、適切にキュレーション(専門家によって厳選された信頼性や品質が高いデータ)された学習データを使用して、decoder-onlyモデルとcross-attentionモデルの長所と短所を比較。
      • NVLM-D(デコーダオンリーモデル): 統一的なマルチモーダル推論を提供し、OCRタスクで高い精度を実現。
      • NVLM-X(クロスアテンションモデル): 高解像度画像の効率的な処理を実現。
      • NVLM-H(ハイブリッドモデル): 上記の知見に基づいて提案されたモデル、マルチモーダル推論の性能と高解像度画像処理の効率性を両立。
  2. 高解像度画像処理:
    • OCR 関連のタスクとマルチモーダル推論タスクの両方で高い精度を実現するために、高解像度画像入力の動的タイル分割におけるタイルタグ設計というものが提案されている(後述)。
  3. トレーニングデータ:
    • マルチモーダル事前学習およびsupervised fine-tuning(SFT、教師あり微調整)のデータセットを慎重に収集し、詳細情報を提供(➡やっぱりこういうところちゃんとやってるなぁ)。データセットの選択とフィルタリングでは、事前トレーニングの段階でも、データの品質とタスクの多様性がデータセットの規模よりも重要であることを確認(➡ある程度は数はある前提なんだろうが、これは結構重要な知見かも)。さらに、事前トレーニングにおいてもこのようなデータセットを使用することで、パフォーマンスを大幅に向上させることが判明した(➡事前トレーニング中にMLP層のみをトレーニングするような簡略化された設計であってもパフォーマンスがあがったと記載があるので、データセットの品質とタスク多様性が結構重要であることが分かる)。
  4. プロダクショングレードのマルチモーダリティ:
    • NVLMモデルにより、マルチモーダルタスク(マルチモーダル推論、OCR、自然画像理解など)とテキスト専用タスク(知識推論、コーディング、数学)で卓越した性能を達成したとのこと。テキストのみたくさんの性能を維持するために、以下の2アプローチを採用:
      i) クロスアテンションモデル(NVLM-X)では、LLMのパラメータを固定し、クロスアテンション層のみをトレーニングする手法が有効であると確認(➡視覚言語タスクで適度なパフォーマンスのトレードオフを伴いながら、らしい)。
      ii) 高品質なテキストのみデータセットをマルチモーダルSFTステージに統合することで、テキストのみタスクの性能を劣化させることなく維持、
      モダリティ全体にわたって数学およびコーディングベンチマークで顕著な改善を達成した。

各セクションの構成は以下の通り(こちらは以降のセクションで記載)
 § 2 Qualitative Study: モデルの能力を具体例で示し定性的に評価している部分。
 § 3 Preliminaries: マルチモーダルLLMの基本事項と関連研究の概要。
 § 4 NVLM: Models and Training Method: NVLM-1.0モデルファミリーの詳細。
 § 5 Training Data: トレーニングデータの詳細。
 § 6 Results: ベンチマーク結果と考察。

(➡高品質なデータセットを構成したうえで、従来ではちゃんと行えていなかったMLLMのアーキテクチャ(decoder-only, cross-attentoin)を包括的に評価(このときに、品質の高いデータセットを用いて同上条件で両方を評価している)しながら、マルチモーダル推論の性能と高解像度画像処理の効率性を両立できる高性能な(プロダクショングレードのマルチモーダリティであると言える)モデルを提案した、という感じだろうか、この手の論文はやっぱりデータセットのところほんと丁寧にやってるよなぁ。。)

2 Qualitative Study

ここでは、NVLM-1.0が持つ多様なマルチモーダルタスクへの適応能力が具体例を用いて定性的に分析されている。図1にあるように、NVLM-1.0-Dモデル(72Bパラメータ)は、OCR、推論、位置特定、常識、世界知識、コーディング能力を統合することで、多様なマルチモーダルタスクを遂行できることが示されている(セクション内で説明されているのは下記、残りはプロジェクトページやAppendix Aに掲載)。

  • ミーム画像(図1(a))
     ミーム「abstract vs. paper(要約と本文)」のユーモアを理解する能力を示した。このミームでは、「要約」を猛獣、「本文」を家庭猫として視覚的に表現し、その対比がユーモラスである理由を解釈している(これによりOCRと推論ができていることが分かる)。


図1(a):NVLM-D1.0 72Bモデルによる定性的な評価例、ミーム画像の理解(➡ネット世界の俺らと現実世界の俺たちの論文版、こういうユーモアとか皮肉の理解をLLMにさせるという試みは結構好きだわ)

  • 物体の位置特定(図1(b))
     このタスクでは「画像内の左、中、右の物体の違いは何か?」という質問に正確に答える能力を示した。画像内の物体を特定し、その位置や属性を理解するための位置特定の能力を示した。
  • 現実世界のシーン画像(図1(c))
     「どのレーンを通ったらいいか?」という質問に適切に答えられていることが分かる。
  • 手書きの擬似コード(図1(d))・テーブル(図1(e))
     手書きの擬似コードや表形式のデータを基に、数学的推論やコーディングタスクを正確に処理する能力を示した(OCRと数学的推論)。

(➡OCR+数学的推論のような、複合的なタスクを適切にこなせている印象、ミームを理解できるユーモアがあったのは個人的に〇)

3 Preliminaries

ここでは、Vision language モデル(視覚言語モデル:視覚世界とテキストドメインを結びつけ、画像/ビデオのキャプション生成、視覚理解と推論、チャートや図表関連のQA、数学的推論、OCR(光学文字認識)など、さまざまなタスクで活用)の基本構造について、Preliminariesという扱いで説明されている。

3.1 Essential Building Blocks

マルチモーダルLLMは通常、大規模言語モデル (LLM) とVision Encoder(ビジョンエンコーダー)という2つの不可欠な要素で構成されている。

大規模言語モデル(LLM):
マルチモーダルLLMは通常、テキストのみLLM上に構築される(マルチモーダルデータを用いて最初からトレーニングする手法もあるが、それがテキストのみLLM上に構築されたMLLMと比較して、視覚言語タスクで優れた性能を示すという明確な証拠はまだないとのこと)。なお、マルチモーダルLLMの構築には、ベースLLMsよりもInstruction-tuned LLMsを用いるのが一般的(広範囲の視覚言語タスクを解決するために、Instruction-tuned capabilityが不可欠であるということが先行研究によりわかってるため)。NVLMでは、Qwen2-72B-Instruct が使用されてるそう(➡ライセンス的に商用は無理そう?)。

Vision Encoder(ビジョンエンコーダー):
MLLMでは、Vision Encoderを用いて、入力画像やビデオフレームから視覚特徴を抽出する(CLIPが代表的なモデルとして知られている)。Vision Encoderは、webから取得した大規模で多様かつノイジーなテキスト画像ペアで学習されるのが一般的。これにより、大規模な学習が可能になり、未知のドメインでの視覚入力を効果的に処理する能力が得られる(OCRタスクやセグメンテーションタスクにおいても同様)。NVLMでは、(その能力から)InternViT-6BをデフォルトのVision Encoderとして使用し、すべてのトレーニング段階でパラメータを凍結して効率化を図っているとのこと。

3.2 Architectural Designs

ここでは、マルチモーダルLLM(MLLM)を構築するための、最も一般的な以下の2つのアーキテクチャ(Decoder-only, Cross-attention-based)について説明されている。

Decoder-only MLLMs(デコーダーオンリー)
Decoder-onlyアーキテクチャでは、すべてのモダリティをテキストトークンの埋め込み空間に射影する(これにより、すべてのモダリティを統一的に処理でき(入力の型が揃う)、ほかのモダリティを生成するための拡張も容易になる。モデルには、LLaVA、InternVLなどがある)。これらのモデルでは、ビジョンエンコーダからの画像トークンは、position-wise MLPなどの、プロジェクションモジュール(MLP)を介してテキスト埋め込み空間に投影され、テキストトークンと同様に、デコーダのみのLLMに直接入力される。トレーニングは通常2段階で進めらる:
 事前学習: MLPモジュールのみをトレーニングし、LLMは凍結(LLMの重みを乱さないためとのこと)。
教師ありファインチューニング(supervised fine-tuning, SFT): 視覚言語タスクで優れたパフォーマンスを実現するために、SFT学習中、LLMはアンフリーズ(凍結解除)される。

Cross-attention-based MLLMs(クロスアテンションベース)
Cross-attention-basedアーキテクチャ(機械翻訳用のエンコーダデコーダトランスフォーマーモデルとほぼ同じ)では、テキストデコーダーはCross-attention層でフラット化された画像トークンを処理し、それらを外国語(言語)であるかのように扱う。このアーキテクチャでは通常、事前学習(大規模な、場合によってはノイズを含む、画像とテキストのペア、または画像とテキストが交互に配置されたデータを用いて実施)とファインチューニング(高品質なデータセットを用いて実施)の両段階でLLMのself-attention層を凍結し、Cross-attention層とPerceiver層(受容器、なおNVLMでは使われないらしい)のみをトレーニングすることで、テキスト専用タスクの性能の劣化を防いでいる。
また、デコーダのみのモデルと比較して、クロスアテンションベースのマルチモーダル言語モデル(MLLM)は、追加モジュールの導入、画像とテキストが交互に配置される設定における適切なクロスアテンションマスキングの必要性、事前学習データの必要数の大幅な増加などの理由から実装がより複雑であると考えらているが、計算効率が高いという顕著なメリットがある(➡デコーダーのみモデルでは、画像トークンをLLM(大規模言語モデル)のデコーダにそのまま入力し、すべてのトークンを処理する必要あるので高解像度になると大量の処理が必要になるが、クロスアテンションベースのモデルでは、デコーダですべての画像トークンを展開する必要がなく(画像特徴はクロスアテンション層へ持っていっているから)、必要な情報だけを効率的に取り込めるため、シーケンスが短くなり計算効率が向上する)。

3.3 High-Resolution Inputs

高解像度画像を適切に処理することは、多くのOCRタスクで最先端の性能を達成するために重要であるが、これを実現するためには計算リソースを無駄にしない工夫が必要。これを解決する方法として、
動的高解像度メカニズムがある。この方法では、(いきなり高解像度画像を処理するのではなく)画像を複数のタイルに分割し、各タイルを個別にエンコードすることで生成されるトークンの数を抑制でき、
計算効率を高めながら高解像度画像の詳細情報を保持できるとのこと(➡分割して、小領域ごとに出てくる特徴量の数の和が計算量のオーダーになるので、まとめてやるよりもオーダーが減るというイメージ)。

4 NVLM: Models and Training Methods

このセクションでは、NVLM-1.0というフロンティア級のマルチモーダル大規模言語モデル(LLM)のモデル群(デコーダオンリー(NVLM-D)、クロスアテンションベース(NVLM-X)、ハイブリッド(NVLM-H)の3種)が紹介されている。図3には、これらのアーキテクチャが示されてる。以下では、まず全モデルで共通して利用されるVision Pathwayから説明されている。


図3:NVLMアーキテクチャ全体像、左側からMLPくらいまでがvision patheway(➡モダリティ統合部分はそれぞれ違いはあるが図内に明示されていないような気もする)、そこからそれぞれつながっている右側にあるのがNVLMのモデル群(上からデコーダオンリー(NVLM-D)、ハイブリッド(NVLM-H)、クロスアテンションベース(NVLM-X)。

4.1 Shared Vision Pathway

視覚エンコーダ:

  • 全てのNVLMアーキテクチャは、InternViT-6Bをデフォルトが視覚エンコーダとして使用されている(なお、全てのトレーニング段階を通じてそのパラメータは固定されている。また、このエンコーダは、固定解像度(448×448ピクセル)で画像を処理し、1024個の出力トークンが生成される)。
  • 画像入力時には、動的高解像度(DHR, Chenらにより提案)アプローチが採用されている(図3左側)。トレーニングでは最大6タイルを許可し、{1:1, 1:2, 1:3, 1:4, 1:5, 1:6, 2:1, 2:2, 2:3, 3:1, 3:2, 4:1, 5:1, 6:1}のアスペクト比が定義されている。各入力画像はその解像度に基づき、定義されたアスペクト比に動的にマッチングされ、1~6タイルに分割される(各タイルは448×448ピクセルに)。また、画像全体の縮小版タイル(サムネイル)も追加されており、グローバルなコンテキストもネットワーク内で捉えられるようになっている。
  • 各タイルは、InternViT-6B-448px-V1-5に入力され、まず1024トークンが生成される。その後、処理の負荷を軽減するためにダウンサンプリングを適用し、1024トークンを256トークンに削減する。この操作では、隣接する4つの画像トークンをチャンネル方向に結合する「ピクセルシャッフル(図4)」が使用されている(➡シャッフル1024トークン → 32x32トークン → (16x16トークン)x4 → 256トークンx4、チャンネル方向にもってくることでトークン自体の数を少なくするということらしい(トリックもといダウンサンプリング))。
  • 動的高解像度(DHR)は、OCR関連タスクの性能を大幅に向上させるが、すべてのタイルの画像トークンを単純に結合してLLMに入力した場合、推論関連タスクで性能が低下する場合があることが知られている。NVMLでは、これらの課題に対応するため、3つのアーキテクチャ(NVLM-D、NVLM-X、NVLM-H)にそれぞれ異なる方法で対応しているとのこと。


図4:高解像度の入力画像の動的タイリング。各タイルは InternViT-6B によって個別にエンコードされ、1024トークンが生成。さらにピクセルシャッフル操作を使用し256トークンにダウンサンプリングしている。

4.2 NVLM-D: Decoder-only Model

アーキテクチャの特徴:

  • 画像トークンを2層のMLP(プロジェクションモジュール)を通じてテキスト空間に統合。NVLM-Dモデルでは事前学習済みの視覚エンコーダをLLMに入力するために2層のMLPが(projector/modality-alignment moduleとして)使用されている。

Training NVLM-D involves two stages:
事前学習: MLPはランダムに初期化され、LLMとビジョンエンコーダは凍結された状態で学習される。
SFT: MLPとLLM(凍結を解除し)が、新しいタスクに適応するために学習される。視覚エンコーダーは凍結されたまま。

タイルタグによる動的高解像度対応
図3のように、LLMバックボーンは、動的高解像度タイル全体のフラット化された画像トークン、およびサムネイルタイルを処理する必要があるが、各トークンを単純に結合すると、LLMが動的タイル構造に関する事前知識を持てないという課題がある。この問題に対処するため、入力シーケンスにテキストベースのタイルタグ(各タイルの開始位置とタイル構造内での位置)を挿入し、タイルタグの後に、そのタイルに対応するフラット化された256個の画像トークンを追加するという工夫を行っている(➡従来のもとは異なるらしいが、提案された設計はモデルサイズとトレーニングデータをスケールアップした場合に、特にいい性能を発揮することが分かったらしい)。
タイルタグには3つの異なる設計が提案され、それぞれの条件(アブレーション実験)で比較・評価されており(文献表1)、これらの設計が精度向上に寄与していることが確認できる。

  • No tag: タイルタグを使用せず、単純にトークンを結合。
  • 1次元タイルタグ: 各タイルに識別タグ(例:<tile_1>)を付与。
  • 2次元グリッドタグ: タイルのXY座標情報を含むタグ(例:<tile_x0_y0>)。
  • 2次元バウンディングボックスタグ: 各タイルの座標境界を明示するタグ(例:<box> (x0, y0), (x1, y1) </box>)。


表1: Yi-34BをバックボーンLLMとしてデコーダーのみのNVLM-Dを使用した際の動的高解像度(DHR)のタイルのタグ形式ごとの性能評価。

(➡情報がリッチなほうがいい結果がでると思いきや、最もいい結果だったのは1次元タイルタグ(1-D tag)だったとのこと。何でかみたいな部分はこのセクションには言及がなかった気がする。区切ったあと結合される順番は同じような感じとすれば、意外と位置情報まではいらないのかもしれない、むしろ2Dの数値情報が悪さをした可能性もある?)

4.3 NVLM-X: X-attention Model

アーキテクチャの特徴:

  • NVLM-Xモデルは、ゲート付きクロスアテンションを用いて画像トークンを処理。
  • Perceiver Resamplerの非採用: 視覚トークンの空間的関係を維持のため(初期の調査において、Perceiver Resamplerはキャプション生成には有効であるが、OCRのような密なタスクには不利であることが判明→潜在配列(latent array)へのクロスアテンションが、入力画像トークンを混合し、画像パッチ間の空間的関係が乱される可能性があるため、OCRのように空間情報が重要なタスクに悪影響を及すことがある)、視覚エンコーダから出力された画像トークンを直接クロスアテンションで処理。
    モデル学習(マルチモーダルSFT段階のトレーニング戦略): テキスト専用タスクの性能を維持し、マルチモーダルトレーニングによる性能低下を防ぐため、LLMを凍結せず、高品質なテキスト専用データセットを統合することで、テキスト性能を維持する(➡高品質データ大事)。

動的高解像度におけるタイルタグ

NVLM-Xは、NVLM-Dと同様の動的高解像度(DHR)アプローチを使用して、
画像トークンをグローバルサムネイルタイルおよび通常のタイルから取得。
図3にあるように、NVLM-Xは、各タイルのフラット化された画像トークンを処理するために**ゲート付きクロスアテンション(Gated X-attention)**を採用しており、これらのトークンをLLMデコーダに直接入力することはない(すなわち計算効率がいい)。
NVLM-D同様に、LLMデコーダには一連のテキストベースのタイルタグ(例:<tile_1>, ···, <tile_k>)を挿入。
また、各タグ(<tile_k>)が対応する画像トークンにのみアテンションできるように、処理の際は、
適切にクロスアテンションマスクを設定している。

Decoder-only vs. X-attention
クロスアテンションベースのNVLM-XとデコーダオンリーモデルNVLM-Dの長所と短所がまとめられている。
パラメータ効率:

  • NVLM-DはNVLM-Xに比べてパラメータ数が少ない。NVLM-Xは新たにゲート付きクロスアテンション層が追加されるため、モデルスケールが大きくなるほど追加されるパラメータ数が増加してしまう。(➡Llama 3-V 405Bでは、テキスト専用モデルLlama-3.1-405B-Instructに対し、100Bの追加パラメータが必要になるんだそうな。。。)
    トレーニング効率:
  • NVLM-Xは、LLMデコーダ側で全画像トークンを展開する必要がないため、高解像度画像の処理がより効率的に行える(文献中表3には、34BモデルのNVLM-DとNVLM-Xのトレーニングスループットが比較されており、その差が確認できる)。
    マルチモーダル推論:
  • NVLM-Dは、異なるモダリティ(視覚、テキスト)の全トークンを統一的に処理することで、LLMデコーダ内でのマルチモーダル推論を可能にしているが、高解像度画像の長いシーケンス(例:256トークン×7タイル = 合計1792トークン)は、タイルタグの助けがあっても推論を困難にする場合があるとのこと。
    (➡精度だけ見るとNVLM-Dかもだが、効率面も考えると一概にこれでいいとはならない感じなんかな)

4.4 NVLM-H: Hybrid Model

ここまでの特徴や実験結果から、両方の利点を組み合わせたVLM-Hという新しいハイブリッドアーキテクチャが提案されている。

アーキテクチャの特徴:

  • グローバルタイル(サムネイル)はデコーダ内で処理し(マルチモーダル推論)、分割された各タイル(通常タイルトークン)はクロスアテンション層で処理(これにより画像の細部をより詳細にとらえることができるように)。
  • このアーキテクチャにより、NVLM-Xに比べ高解像度画像の処理能力が向上し、NVLM-Dに比べ計算効率が大幅に改善。表3でも、NVLM-HはトレーニングスループットでNVLM-Dを上回ってることが分かる。


表3:Yi-34BをバックボーンLLMとして使用した際のNVLM-X、NVLM-D、NVLM-Hのトレーニングスループット(サンプル数/秒)。アーキテクチャ構成からNVLM-X<NVLM-H<NVLM-Dとなっていることが確認できる。

動的高解像度のためのタイルタグ:

  • NVLM-Dで使用された1次元タイルタグ(<tile_k>)を採用。
  • タグのテキスト埋め込みを視覚埋め込みと共にゲート付きクロスアテンション層に統合(図3、ここはNVLM-Dと異なる点)。
  • 文献表2より、タイルタグの追加でOCR関連タスクの性能向上を確認できたとのこと(➡タイルタグが事前学習中にテキストと視覚埋め込みの間で適切に整列され、クロスアテンション内でシームレスに解釈されるからということがうまく機能している理由として述べられている、少し上でいってたことと同じような感じか)。

(➡ここまで来て、(ここまで各モデルやモジュールが分かりやすく説明されているのもあって)図3をみるとvision pathway(vision encoder)で生成された画像特徴がどのように各モデルに入れられているか、その差分を感じられて面白い)

4.5 Model Configurations and Training Method**

バックボーン(LLM, Vision decoder):
 LLM: NVLM-D、NVLM-X、NVLM-Hモデルは、Qwen2-72B-InstructをLLMバックボーンとして使用(アブレーション研究や実験の際は小型モデルであるNous-Hermes-2-Yi-34BをLLMバックボーンとして使用)。
 Vision Encoder: InternViT-6Bを視覚エンコーダとして全アーキテクチャに採用。

モダリティアラインメントモジュール(画像特徴をどうLLMに投げるか)
 NVLM-D: LLMと視覚エンコーダは、2層のMLPを用いてモダリティを整合させる。
 NVLM-X: 画像特徴をLLMの隠れ次元に投影するために、1層のMLPを使用。ゲート付きクロスアテンション層の挿入、ゲート付きクロスアテンション層を、6層おき(34Bモデル)または8層おき(72Bモデル)に挿入。両モデルとも合計10層のクロスアテンション層が使用。
 NVLM-H: 2層のMLPとゲート付きクロスアテンション層を併用。サムネイルタイル:画像トークンは2層のMLPで投影され、直接LLMデコーダに入力。通常タイル:画像トークンは2層のMLPを介したのち、クロスアテンション層で処理。ゲート付きクロスアテンション層: NVLM-Xと同様に、34Bモデルと72Bモデルの両方で合計10層を使用。

トレーニング方法:
ハイパーパラメータもAppendix Bに掲載されているがここでは省略。
事前学習:

  • LLMバックボーンと視覚エンコーダを凍結。
  • モダリティアラインメントモジュール(MLPまたはクロスアテンション層)のみをトレーニング。
  • 事前学習には大規模かつ多様なデータセットを使用(表4)。
    教師あり微調整(SFT):
  • 高品質なマルチモーダルおよびテキスト専用データセットを使用し、LLMとモダリティアラインメントモジュールをトレーニング。

5 Training Data

本セクションでは、事前学習(Pretraining)および教師あり微調整(SFT)で使用されるデータセットの詳細が説明されている。

5.1 Multimodal Pretraining Data1

マルチモーダル事前学習データセットは、オープンソースコミュニティから多様で高品質なデータを収集(➡単に集めたとか言わないでCurateって単語でめっちゃいわれてるからホンマに重要なんやなぁ)。
事前トレーニングの段階でも、データセットの規模よりも質が重要であることを確認されている。
初期の実験において、大規模でノイズの多いデータセット(例:CLIPのトレーニングデータ、インターリーブ型データセットも試されているがほとんど向上しなかったらしい(➡去年からLLM関連の論文読んでるけど、データセットに関してはかなり気をつかって言及されてたから、ホンマにそう思う))を用いたが、これらのノイズデータは、視覚と言語間の不正確なアライメントを引き起こす可能性があり、性能向上には寄与しなかったことが確認された。一方で、より慎重にフィルタリング、再キャプションされた高品質なデータセットは、モデル性能の大幅な改善がみられたとのこと(インターリーブ型データセットもこっちで使えば効果的に活用できるであろうと考察されている)。
事前データセット概要(タスク別)
キャプション生成については、有害データ・不適切データという観点でも徹底的なフィルタリングや再キャプション、サニタイズが(ユーザーが入力したデータに含まれる危険な文字や文字列を、一定の規則に従って別の表記に置き換えること)行われているらしい。表4に各タスクのデータセットがまとめられている(キャプション生成, VQA(自然画像), チャート, 文書, OCR/Scene-Text, Math)。表5には、表4に示される多様な事前学習データセット(表5 vs. LLaVA-1.5の事前学習データセット)が、最先端のNVLM-Dモデルにおいても性能を大幅に向上させることが確認できている(この効果は、キュレーションされた高品質なSFTデータセット(表6)を使用した場合でも同様)。


表4:NVLM-1.0 が事前トレーニング段階で使用するデータセット(たくさんあるのが分かる)。

5.2 Multimodal SFT Data

高品質でタスク指向のデータ: SFT(教師ありファインチューニング)データセットは、視覚と言語タスクでの性能向上を目的とし、以下のような幅広いタスクをカバーしている。
NVLMの幅広い視覚言語タスクにおける能力を強化するため、高品質で多様なタスク指向のSFTデータセットを収集(詳細なデータセットの一覧は表6に記載(タスクの種類は、キャプション生成(COCOのような短く高品質データセットからhareGPT-4oなどの詳細な画像の説明を提供するなども含む)、VAQ(オブジェクトレイアウト、カウンティング、視覚的推論、知識ベースQAなど)、チャート・図・表・文書理解(マルチモーダルLLM の重要な実世界アプリケーション。さまざまなデータセットを組み込んでいるとのこと)、OCR関連タスク(これも重要な実世界アプリなので、SFTデータセットに多く含まれているとか)、数学的推論などと多岐に渡っている))。
また、表の中にも入っているが、これまでの代表的なオープンソース研究に倣って、ChartQA、DocVQA、VQAv2、TextVQA 、AI2Dなどのデータセットのトレーニング分割をSFTデータセットに組み込む(➡ベンチマーク側のものもデータセットにいれるってこと)。すなわち、これらのテストセットは6章の評価ベンチマークとして使用されており、ゼロショット設定では評価されていない点に言及しているとともに、これらのベンチマークデータセットのトレーニング用の分割にデータ拡張を適用していないことも強調されている。独自のマルチモーダルLLMについては、トレーニングデータセットに関する情報は提供されていないため、これらのベンチマークでゼロショット設定またはファインチューニング設定で評価されているかどうかは不明とのこと(➡このあたりは、ちょっとした注意書きみたいなもの、こういったデータもモデル学習に用いているけど、アンフェアなことはやってないとか、ゼロショットの観点での評価はないとか(さらに独自のMLLMもこの観点で評価してるかは不明))


表6:NVLM-1.0 がSFT段階で使用するデータセット(こちらもたくさんあるのが分かる)。

5.3 Text-only SFT Data

高品質なテキスト専用SFTデータセットを作成し、マルチモーダルSFT段階に統合することで、LLMバックボーンのテキスト専用性能を効果的に維持し、「破滅的忘却」を防ぐことが可能になった。先行するオープンアクセスのマルチモーダルLLMにおいてもテキスト専用SFTデータセットが使用されているが、それでもテキスト専用ベンチマークでは依然として顕著な性能低下が見られており(表8)、それらと本文献のアプローチとの違いは、データの質であると述べられている。

データセットの構成
本研究のテキスト専用SFTデータセットは、オープンソースのSFTデータセットを基に構築され、以下のカテゴリからデータを収集、作成(リファインメントやデータクレンジング):
一般カテゴリ: ShareGPT、SlimOrca、EvolInstruct、GPTeacher、AlpacaGPT4、UltraInteract
数学カテゴリ: OrcaMathWordProblems、MathInstruct、MetaMath
コーディングカテゴリ: Magicoder、WizardCoder、GlaiveCodeAssistant
データのリファインメント: OpenAIのGPT-4o【108】およびGPT-4o-mini【109】を活用し、これらのデータセットに含まれるプロンプトへの応答をさらにリファインし、SFTデータセットの品質を向上させている。
データクレンジング:作成したデータセットに、ベンチマークテストデータセットのプロンプトが含まれないよう徹底的に確認。

6 Results

NVLM 1.0の性能を、視覚言語タスクとテキスト専用タスクの両方で評価、比較を行っている。

6.1 Benchmarks

はじめに、実験で使用した視覚言語とテキストのみのベンチマークが紹介されている。これまでの最先端クラスのマルチモーダルLLMに続いて、マルチモーダル推論、視覚コンテキストでの数学推論、自然画像理解、シーンテキスト読み取り、チャート理解、ドキュメント理解、現実世界の認識、OCR、に焦点を当てた9つの視覚言語ベンチマークでNVLMを評価。

視覚言語ベンチマーク:
以下は、視覚言語ベンチマークの例(評価するテストデータの設定はデータセットよって違うとのこと、デフォルトはtestだが場合によっては異なるものを使っているとのこと):
MMMU: マルチモーダル推論の代表的なベンチマーク、多分野にわたる大学レベルの問題をカバー。
MathVista: 様々な数学的問題をカバーする数学的推論のベンチマーク。
VQAv2: 自然画像の理解を対象とするベンチマーク。
TextVQA: シーンテキスト読み取りを対象としたベンチマーク、自然画像からのテキスト読み取りに関連する多様な問題をカバー。
ChartQA チャートの理解を対象としたベンチマークで、視覚的および論理的推論が必要となるタスク。
DocVQA 文書画像を対象とした視覚的質問応答(VQA)のベンチマーク。
OCRBench: マルチモーダルLLMのOCR能力を評価するための包括的なベンチマーク
RealWordQA: 物理的世界の知覚と理解に焦点を当てたベンチマーク。
AI2D: 小学校の理科レベルの図表を含むマルチモーダル推論データセット(テスト設定が少し特殊)。
 test設定(デフォルト):画像内のテキストを回答選択肢の文字(例:A, B, Cなど)に置き換え。
 test_no_mask設定:画像内のテキストを回答選択肢の文字とその対応する値(例:A: 25, B: 30など)に置き換え。この設定は「no_mask」と定義される。

テキスト専用ベンチマーク:
多分野の知識推論、数学的推論、コーディング能力を評価するベンチマーク:
MMLU: 初等数学、米国史、コンピューター サイエンス、法律など57の分野をカバーする多分野ベンチマーク。
GSM8K: 小学校レベルの数学(算数)の文章題で構成されるベンチマーク。
MATH: 5つの難易度レベルと7つのサブ分野にわたる数学の問題をカバーする数学推論ベンチマーク。
HumanEval: docstringからプログラムを合成するための機能的正確性を測定するコーディングベンチマーク。

6.2 Baseline Models

比較対象となるMLLM。
プロプライエタリモデル(独自MLLM):
GPT-4o、Claude 3.5、Gemini Proなどの商用モデルと比較。
オープンアクセスモデル:
InternVL-2-Llama3-76B、InternVL 2-Pro、LLaVA-OneVision 72B、Llama 3-V 70B および 405Bなど、最先端のオープンアクセスモデルを基準に評価(Llama 3-Vなど一部モデル重みはまだオープンアクセスになってないとのこと)。

これらと、以下の NVLM-1.0 モデルを最適化して評価(アブレーションの研究で用いられた34Bも用いられているが、結果はAppendix Fへとのこと(こちらは最適化されてないモデルであるが一部の他のモデルよりも結果がよかったとのこと)):
i) NVLM-D 1.0 72B
ii) NVLM-X 1.0 72B、
iii) NVLM-H 1.0 72B。

6.3 Main Results

主な結果は表7(9つの視覚言語ベンチマークと4つのテキスト専用ベンチマークの結果)に掲載。
結果から、NVLM-1.0の72Bモデルは、主要なプロプライエタリモデル(例:GPT-4o)やオープンアクセスモデル(例:LLaMA 3V(まだ公開されていない)、InternVL 2)に匹敵する性能を示していることが分かる。


表7: 視覚言語およびテキストのみのベンチマークの評価(テキストのみの性能を落とさずに、NVLMが既存の最先端MLLMに匹敵する性能を発揮しているのが分かる(赤枠囲った部分))。

NVLM-D(デコーダオンリー)は、OCRBenchやVQAv2で最高スコアを記録(本レポートの発行時点での主要なプロプライエタリモデルおよびオープンアクセスモデルのすべてを大幅に上回っていた)。他のベンチマークでも高いパフォーマンスを発揮していることが分かる。
NVLM-H(ハイブリッドモデル)は、本レポートの発行時点でオープンアクセスのすべてのマルチモーダルLLMの中で最高のMMMU(Val)スコア(60.2)を達成。また、NVLM-1.0ファミリー内で最高のMathVistaスコア(66.6)を達成しており、GPT-4o、Gemini Pro 1.5(2024年8月)、InternVL-2-Proなど、多くの強力なモデルを上回っていることが分かり。NVLMの優れたマルチモーダル推論能力を実証。(➡目論見通りバランスのいいモデルができているといえる)
NVLM-X(クロスアテンションモデル)についても、フロンティアクラスの結果を達成するとともに、効率的なトレーニングと推論を可能にし、計算コストを削減できていると述べられている。(➡結果としては、LLMのアーキテクチャ的に妥当)
LLaVA-OneVision 72B や InternVL-2-Llama3-76B などのオープンアクセスMLLMは、マルチモーダルトレーニング後にテキストのみのタスクでパフォーマンスが大幅に低下、対照的に、NVLM-1.0モデルは、高品質のテキスト専用のSFTデータが含まれているため、テキスト専用タスクのパフォーマンスがさらに向上していることが分かる。これらの結果から、高品質のデータが組み込まれている限り、マルチモーダルSFT中にLLMバックボーンの重みを解凍してもテキストのみのパフォーマンスが損なわれないことが示された。

6.4 Text-only Performance

NVLMモデルは、ベースのLLM(Qwen2-72B-Instruct)と比較しても性能が向上。特に数学タスク(GSM8K、MATH)で顕著な改善が見られ、マルチモーダルトレーニングがテキスト性能にも良い影響を与えていることが確認できる。表8には、NVLMモデルと、主要な独自およびオープンアクセスのMLLMのテキストのみのパフォーマンスの詳細な結果が示されている。NVLM以外のすべてのオープンアクセスモデルでは、LLMバックボーンと比較して精度が大幅に低下していることが確認できる。なお、Llama 3-Vでは、マルチモーダルトレーニング中にLLMは固定されるため、テキストのみのパフォーマンスは低下しない。一方で、6.5で説明するように、このLLMを固定する戦略は、視覚と言語のパフォーマンスに不要なトレードオフをもたらす可能性があると述べられている。
NVLMでは、高品質のテキストSFTデータを組み込むことで、各モデルはLLMバックボーンであるQwen2-72B-Instructよりも高い平均精度を達成していることが確認できる。たとえば、NVLM-D 1.0 72Bモデルでは、4つのベンチマークの平均精度が79.8から84.1に向上している。特に、NVLM-1.0モデルの数学機能がテキストのみのバックボーンに比べて大幅に向上している点は興味深く、これは、高品質のテキストのみのSFTデータと、トレーニングブレンドに含まれる大量のマルチモーダル数学データによるものだと考察され、これにより、モダリティに関係なく数学推論スキル全体が強化されている。

6.5 Frozen versus Unfrozen LLM during Mutimodal SFT

クロスアテンションモデル(NVLM-X)は、LLMを凍結しても視覚言語タスクで良好な性能を発揮したが、非凍結の方がマルチモーダルタスクでの性能は向上したとの結果が述べられている。

7 Conclusion

本文献にて、提案されたNVLM-1.0は、視覚言語タスクにおいて、(テキスト専用性能も損なわずに)最先端のマルチモーダル大規模言語モデルに匹敵する性能を示したフロンティア級のオープンマルチモーダル大規模言語モデル。
さらに、下記の重要な知見を示した。

  • アーキテクチャ設計に関する洞察
  • タイルベースの動的高解像度入力
  • マルチモーダル学習データのキュレーション(高品質かつ多様なタスクを持つデータセットの作成)
  • マルチモーダル学習後もテキスト専用性能をさらに向上させつつ、production-grade multimodalityを実現する方法

さいごに(所感)

視覚言語LMMについて調べていたらいい論文を読めた。視覚言語LLMについてさまざまな知見を示しつつ、state-of-the-artな性能ということもさることながら、個人的にはオープン(しかし、残念ながらおそらく研究特化で商用利用はNGっぽい & HuggingFaceだとまだデコーダーオンリーモデルしかなかった(プログラムも結構直書きになってる部分もあって、まさに今書かれているものなんだなぁというのが実感できた、デフォルトだとCPUオンリーでは動かない仕様になってた(なぜ、やろうとおもったのか…))というのと、やはり学習データセットについての言及があるのが個人的にはよかった(おそらく自分は高品質データセット原理主義者(笑))。
しかし、ここまで多岐にわたるタスクがこなせるのはホント先が楽しみ。単なる画像理解やキャプション生成とかだけでなく、画像や図の中から得られる事実や一般的な知識をもとに何か新しい知見を得るタスク(画像診断とかとか、OCRすっ飛ばしていきなり必要な情報だけまとめてくれるとかもありそう)というのが今後より一般化していくんだろうなぁ。。とうことで乗り遅れないようにしないと。

Discussion