チャプター 15 · マルチモーダル · 8 min
モデルが画像を読むとき
パッチ埋め込み、ViT、CLIP。テキストTransformerが画像をトークンのグリッドとして扱うことでマルチモーダルになる方法。
モデルは実際には「見ていない」
GPT-4oやClaudeに写真を送ると、それが何を表しているか教えてくれる。しかし、モデルの中に「目」はない。視覚システムも、物体検出器もない。モデルは画像を「見ている」のではなく——ベクトルの列を読んでいるのだ。
現代のマルチモーダル性のすべてのトリックはここにある:あらゆる種類のデータ(画像、音声、動画)をテキストトークンに似た表現に変換する。この変換の後、標準的なトランスフォーマーが残りを行う。
本章のスコープについて。 ここで扱うのは画像を理解するモデル(説明する、質問に答える、グラフを読む)だ。テキストから画像を生成するモデル——Stable Diffusion、DALL-E、Midjourney——はアーキテクチャが異なり、第 21 章で扱う。
ViT:画像をパッチに切り分ける
画像の参照アーキテクチャはViT(Vision Transformer、ビジョントランスフォーマー)と呼ばれ、Googleが2020年に提案した。
アイデアは驚くほどシンプルだ:画像を固定サイズの小さな正方形(パッチ)——デフォルトでは16×16ピクセル——に切り分ける。各パッチはベクトルに平坦化され、トランスフォーマーの埋め込み空間に投影される。
224×224ピクセルの画像を16×16のパッチに切り分けると、196個のパッチが生まれる——196トークン。これらのトークンはテキストトークンとまったく同じようにトランスフォーマーに送られる。アテンションがそれらを処理し、関連付け、関連する特徴を抽出する。
画像内の各パッチの位置は、テキストトークンとまったく同じように位置埋め込みを通じてエンコードされる。
パッチを探索してみよう
画像は正方形のパッチに分割され、各パッチは線形射影で 1 つのトークンになる。Transformer は入力がテキストか画像格子かを区別しない——同じやり方でシーケンスを処理する。
特別な[CLS]トークン
初期のViTでは、特別な [CLS] トークンが列の先頭に追加される。アテンションがすべてのパッチ間で情報を循環させた後、[CLS] ベクトルが画像のグローバル表現として使用される。
「これは何か?」という問いに答えるための分類ヘッドに送られるのは、このベクトルだ。
現代のマルチモーダルモデル(GPT-4V、Claude 3、Gemini)では、アプローチが異なる:画像パッチトークンは同じ列の中でテキストトークンと直接連結される。クロスアテンションが残りを処理する。
CLIP:画像とテキストを整合させる
同じトランスフォーマーで画像とテキストを混在させる前に、画像の埋め込みとテキストの埋め込みが同じベクトル空間に存在しなければならない。
これがCLIP(OpenAI、2021年)が解決した問題だ。CLIPは2つのエンコーダーを並行して訓練する——一方は画像用、他方はテキスト用——単一の目標を持って:画像とそのキャプションの表現を近づける。
何億もの(画像、テキスト)ペアで訓練した後、CLIPは「猫の写真」と実際の猫の写真が近いベクトルを持つ空間を生み出す。この特性がLLMをコンテキストに注入された画像を「理解」できるようにする。
ビジョン言語モデルのアーキテクチャ
現在のマルチモーダルLLMは一般的に次の要素で構成される:
- 視覚エンコーダー(多くの場合、事前訓練済みViT):画像トークンを生成する。
- プロジェクター(小さなMLP):画像トークンをLLMの埋め込み空間にマッピングする。
- LLM:混合された列(画像トークン+テキストトークン)を受け取り、応答を生成する。
この「プロジェクター」は、テキストLLMをマルチモーダルに適応させる際に訓練される唯一の部分であることが多い——残りは凍結されたままだ。
モデルが実際に見ているもの
モデルが深い「視覚的理解」を持っていると想像したくなる。実際に何が起きているかを見てみよう:
各16×16パッチは768個の値のベクトルに平坦化される(ViT-Baseの場合)。このベクトルはピクセルの統計的な平均だ——非常にローカルな表現。
すべてのベクトル間のアテンションが空間的な関係を再構築し、エッジを検出し、形を認識する。モデルには「円」や「顔」の組み込みた概念はない——それらを統計的に発見する。
だから、視覚LLMは人間にとって単純なタスク(物体を数える、左右を区別する)では驚くべき結果を示し、高レベルなタスク(グラフを解釈する、処方箋を読む)では驚くべき能力を示すことがある。
オーディオはどうか?
同じ原理——あるモダリティをトークン列に変換すること——は声にも当てはまる。OpenAIのモデルWhisper(2022年)は、音声→テキストの書き起こしの参照であり続けている。そのアーキテクチャはエンコーダー・デコーダー型のトランスフォーマーで、翻訳モデルとまったく同じだ。
トリックはこうだ:音声信号をメルスペクトログラム——縦軸が周波数、横軸が時間の2D画像——に変換する。このスペクトログラムの小さな各正方形が入力トークンになる、ちょうどViTのパッチが画像に対してそうであるように。Whisperはそれから出力としてテキストトークンを生成する。
音声生成(text-to-speech、TTS)では原理が逆転する:テキストから音声トークンを生成する。ElevenLabs、OpenAI TTS、Suno(音楽用)はすべて、次の音声トークンを予測するように訓練されたトランスフォーマーを使っている。身近な人のクローン音声とは、要は数分の録音をトークン化して条件付けに使ったものだ。
最近の飛躍はネイティブにマルチモーダルな音声モデルから来ている:GPT-4o realtime(2024年)、Gemini Live(2025年)、Claude voice。これらのモデルはもはや内部でテキスト ↔ 音声の往復をしない——テキストトークンと音声トークンが混ざった空間で直接推論する。これがレイテンシを低く(〜300 ms)保ち、プロソディを自然にする理由だ——モデルは話しながら微笑むことができる、なぜなら音声ドメインから一度も離れていないからだ。
視覚と同様に、その下のアーキテクチャは依然としてトランスフォーマーだ。違いはトークンのモダリティだけにある。
トークン:普遍的な通貨
マルチモーダル性の真の教訓は、トークンが普遍的な抽象化であるということだ。
テキスト → トークン。 画像 → トークン(パッチ)。 音声 → トークン(スペクトログラムのスライス)。 分子 → トークン(原子)。
あるモダリティを密なベクトルの列に変換できれば、トランスフォーマーはそれを処理できる。だからこそ、NLPに革命をもたらした同じアーキテクチャが今、視覚、音声、生物学、物理学に革命をもたらしつつある。
トランスフォーマーはトークンエンジンだ。研究者たちは世界をトークン化する新しい方法を発明し続けている。
更新日