第4章 VLMのトレーニング データと前処理
この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com
第3章では、 を使って最初のビジョン言語モデル(VLM)をトレーニングした。損失曲線が低下していくのを見守り、パディングトークンによるループをデバッグし、バッチサイズ1は良いスタートだが、バッチサイズ4になってこそ本領を発揮することを学んだ。 モデルがようやくまともな結果を出し始めたとき、あなたは興奮した。また、少し恐ろしい事実にも気づいた。FineVisionの0.5%(12万サンプル)でさえ、ごく初期段階のVLMをトレーニングさせるには、慎重なトークンパッキング、画像用のプレースホルダートークン、そしてバグを早期に発見するための頻繁な動作確認が必要だったのだ。
さて、これをスケールアップするとどうなるか想像してみてほしい。12万サンプルではなく、320万サンプルだ。さらに1,530万サンプルだ。単一のデータセットの0.5%ではなく、数十のデータセットの混合だ。それぞれが異なる視覚ドメイン、異なるアノテーション品質、異なる構成比、そして異なる目的を持っている。これが、実際のVLMトレーニングにおけるデータ上の課題だ。
第3章で事前学習済みのSigLIPやSmolLMを読み込んだ際にも見たように、VLMは実際にはゼロから学習されるわけではない。現代のVLMは、マルチモーダル学習が始まる前に、事前学習済みのビジョンエンコーダーと言語バックボーンの上に構築される。その後、各段階で異なるデータ品質とデータ量を要求する複数のトレーニング段階を通じて、モデルを「世話」(そう、文字通り、昼夜を問わず、友よ!)することになる。
図4-1のJina-VLMのトレーニングデータの詳細を見てみよう。
これらの数字は、特に(私のように)数年前に畳み込みニューラルネットワーク(CNN)を学習させた「古参」にとっては、無視できない事実を物語っている。CNN分類器のファインチューニングには数千から数万枚のラベル付き画像が必要だったのに対し、VLMのトレーニングは全く異なる規模で行われる。 Jina-VLMのプレトレーニング段階だけで、100億トークンに及ぶ320万サンプルを消費し、その後、1,530万サンプルと370億トークンを用いたポストトレーニングが行われる。
図4-1. トレーニング段階ごとのJina-VLM データ混合の詳細。
各段階には明確な目的があり、その目的に合わせたデータの要件がある:
-
事前学習では、モデルの各構成要素が相互にコミュニケーションするよう学習させることに重点を置く。自然なシーンのキャプション、文書の説明、インフォグラフィックの解説、図表の注釈を通じて、ピクセルが意味する内容を言葉で定義する。
-
ポストトレーニングでは、専門的な能力の特殊化へと移行する。推論の連鎖を含む科学的な図、Q&Aを伴う複数ページの文書、解決策付きの数学問題、そして多様なレイアウトにわたるOCRタスクなどが対象となる。
データ品質は、学習目標と共に進化する。この章では、これらのマルチモダリティデータセットが提起するあらゆる課題を探求する。インターネット規模でコンテンツを調達する方法、数百万のサンプルを効率的にフィルタリングし多様化させる方法、莫大なコストをかけずにアノテーションを行う方法、それらを賢く組み合わせる方法、そしてマルチノード環境ですぐに使えるようにパッケージ化する方法について解説する。 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access