【DL輪読会】MM1: Methods, Analysis & Insights from Multimodal LLM Pre-training

4K Views

March 22, 24

スライド概要

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

MM1: Methods, Analysis & Insights from Multimodal LLM Pre-training Shohei Taniguchi, Matsuo Lab

2.

書誌情報 MM1: Methods, Analysis & Insights from Multimodal LLM Pre-training • 3/19にarXivに投稿 • マルチモーダルLLMの学習において,どの要素が性能により影響を与えるのか について検証したAppleの論文 • 検証結果をもとにしたベストな構成で学習したモデルは,同サイズの他のモデ ルと比較して,高い性能を実現 2

3.

背景 マルチモーダルLLM, MLLM • 近年のLLMは,テキストだけでなく,画像もコンテキストとして与えられるも のが増えている(例:GPT-4V, Gemini) 3

4.

背景 マルチモーダルLLM • MLLMの構成はとてもシンプル • 画像を埋め込んでテキストと同じように トークン化してLLMに入力するだけ • ただし,細かい構成方法にはバリエーション があり,どの要素がより重要なのかはあまり 自明ではない 4

5.

背景 Closed Model vs Open Model • 最近は,GPTやGeminiのように,APIのみを提供して,モデルを公開しない closed modelが増えている • Open modelも,モデルやデータ,学習設定などは公開しているが,その選定 に至るプロセスはほとんど公開されておらず,大規模なモデルの開発において 何が重要なのかが知見として共有されていない 5

6.

モチベーション • MLLMの学習において,重要な要素を幅広いablationを通して明らかにする • 特に以下の項目を詳細に調査 • 画像エンコーダの学習方法 • 画像と言語の接続方法 • 事前学習時のデータの選定方法 6

7.

実験設定 • Ablationでは比較的小さいモデルで 各要素を検証する • Image Encoder: VITベースのCLIP • VL Connector: C-Abstractor • LLM: 2Tトークンで事前学習した1.2Bのdecoder-only Transformer • 最後にベストな構成で30Bまでスケールさせる • 評価はcaptioningとVQAのfew-shot性能 + text-onlyの性能(TextCore)

8.

Image Encoder • MLLMはImage Encoderを何らかの方法で事前学習してから,LLMと結合する • 事前学習の方法として以下の要素を検証 • ロス:対照学習(CLIP)vs 再構成(AIM) • モデルサイズ:ViT-L vs ViT-H • 入力画像サイズ:224~378で変動させる • データ:人工的なキャプションデータ(VeCap)を使うかどうか

9.

補足:VeCap Visual-enriched Caption • AltTextのキャプションデータをLLMに校正させたもの https://arxiv.org/abs/2310.07699

10.

Image Encoder • 画像サイズ > モデルサイズ > 人工データの順で効果がある • 同じモデルサイズだとCLIPの方が 若干良いが,これはデータの量が 違うから何とも言えない (なぜデータを揃えてないのか不明

11.

Vision Language Connector • Image Encoderの特徴量はそのままだと扱いづらいので,LLMに入力しやすい ようにテキストと同じサイズにトークン化する必要がある • 基本的には何らかの方法でpoolingして,サイズを整える • Average pooling • Attention: トークン数分queryを用意してattention • C-Abstractor: ResNet + avg. pooling

12.

Vision Language Connector • Connectorの種類はどれも大差はない • 画像サイズやトークン数を上げる方が重要

13.

事前学習用データ • 全体の事前学習時に使うデータの種類の影響を検証 • 以下を様々な割合で混ぜて事前学習に使う • キャプション付き画像 • Interleaved Image-Text • テキストのみ • 人工キャプション(VeCap)の効果も検証

14.

補足:Interleaved Image-Text • https://huggingface.co/spaces/HuggingFaceM4/obelics_visualization

15.

事前学習用データ • Interleavedはfew-shot性能に重要 • キャプションはzero-shot性能に重要 • Text-onlyもある程度必要 • VeCapはfew-shotを少しだけ改善する • Caption : Interleaved : Text = 5 : 5 :1くらいがちょうど良い

16.

最終モデル • Image Encoder: ViT-Hを解像度378x378でCLIPロスで学習 • VL Connector: C-Abstractorで144トークンに変換 • データ:caption, interleaved, textを45%, 45%, 10%の割合で混ぜる • LLM部分は,3B~30Bまでスケールアップさせる

17.

ハイパーパラメータの決め方 • モデルをスケールさせるとき,学習率などのハイパラの調整が難しい • 各サイズでそれぞれチューニングするのはコスト的に厳しい • まずは,9M~1.2Bのサイズでそれぞれグリッドサーチしてから,その値を線形 回帰させて,大きいモデルにも外挿する

18.

事前学習後の性能 • 同じサイズの既存のモデルよりも 大きく性能を改善 • MM1-30Bは80Bサイズの既存モデル よりもいい性能

19.

Supervised Fine-Tuning • 事前学習したMM1をSFTしたときの性能も検証 • データには,以下を使用 • 複雑な推論タスクをGPT-4VやLLaVAに答えさせて作ったデータ • VQAv2などのvision-languageデータセット • テキストのみのSFTデータセット(社内データ)

20.

Supervised Fine-Tuning 高解像度画像への対応 • 事前学習時には378x378の画像にしか対応していないが,より高解像度画像 に対応できるように,SFTでは448~672の解像度で学習 • ViTのpositional encodingを補完すれば事前学習時の モデルをそのまま使える • より大きい画像を入れる場合は,672x672に縮小した ものと分割したものを両方入力することで対応 • これにより最大1792x1792まで対応

21.

Supervised Fine-Tuning • SFT後も同規模のモデルの中で SOTAな性能を発揮 • 同時期に出たLLaVA-NeXTとは 大体同じくらいの性能

22.

Supervised Fine-Tuning • 画像は基本的に大きいほど良い • 事前学習を短くすると性能は下がる

23.

まとめ • マルチモーダルLLMの学習における構成要素を細かくablation • 検証結果を反映してスケールさせたMM1は,同サイズのモデルでSOTA性能を 実現 感想 • MLLMのまとまった検証は少ないので,参考になる部分は多そう • 結果自体はそこまで意外な部分は多くない(気がする)