第11部 見る・聞く・測る第29章 NEW

マルチモーダル:画像・音声・動画を扱うLLM

写真を見せて質問する、声で話しかける、動画を要約させる。文字しか読めないはずのLLMが、どうやって画像や音を「トークン」に変えて扱っているのかを見ていきます。

約16分で読めます2026年10月改訂

このページの内容(11項目)
  1. マルチモーダルLLMとは
  2. 画像を「読む」仕組み:エンコーダとプロジェクタ
  3. 画像1枚は何トークン?
  4. OCRと文書理解:読むだけでなく「わかる」
  5. 音声:聞く・話す・会話する
  6. 動画:パラパラ漫画として読む
  7. 画像を「描く」のは別の技術
  8. ローカルで動かす:mmprojとOllama
  9. モデルを選ぶときに確かめること
  10. さらに深く学ぶ
  11. 出典・参考

レシートの写真を見せて「合計いくら?」と聞くと、LLMは答えてくれます。でも、LLMは文字(トークン)しか読めないはずでは?

答えは、画像もトークンの仲間に変換してからLLMに渡している、です。音声も動画も同じ発想で扱えます。この章では「変換の仕組み」と「変換にかかるお金」、それから自分のPCで動かす方法までを順に見ていきます。

マルチモーダルLLMとは

ひとことで言うと

テキスト以外の情報(画像・音声・動画)も入力や出力に使えるLLMです。画像を理解するものはVLM(Vision-Language Model、視覚言語モデル)とも呼ばれます。

「モダリティ(modality)」は情報の種類のことです。テキストだけを扱うモデルはシングルモーダル、複数を扱うモデルはマルチモーダルと呼ばれます。

注意したいのは、入力できることと出力できることが別だという点です。画像を読めても画像は描けないモデルや、音声を聞けても声は出せないモデルはたくさんあります。モデルカードの「入力: テキスト・画像/出力: テキスト」のような表記を必ず確認しましょう。

画像を「読む」仕組み:エンコーダとプロジェクタ

現在の多くのVLMは、次の3つの部品でできています。

flowchart TD
  I["画像"] --> P["小さなパッチに分割"]
  P --> E["ビジョンエンコーダ
パッチごとの特徴ベクトル"] E --> J["プロジェクタ
LLMの言葉の空間へ変換"] T["質問テキスト"] --> K["トークン埋め込み"] J --> L["LLM本体
画像トークンと文字を一緒に読む"] K --> L L --> O["回答テキスト"]
図: よくあるVLMの構成。画像は「画像トークン」の列になってLLMに入る
  1. ビジョンエンコーダ(vision encoder): 画像を小さな正方形(パッチ)に切り分け、それぞれを数値ベクトルにします。土台は2020年の Vision Transformer(ViT、論文名は「画像は16×16の単語に値する」)で、画像と説明文の対応を学習した CLIP などが広く使われてきました。
  2. プロジェクタ(projector): エンコーダの出力を、LLMが読めるベクトルの形(埋め込み空間)に変換する小さな層です。2023年の LLaVA は、学習済みのエンコーダとLLMをこの変換層でつなぐだけでも画像についての会話ができることを示しました。
  3. LLM本体: 変換された画像ベクトルを、文字のトークンと同じ列に並べて読みます。これが画像トークンです。

外国語の資料を読む会議にたとえると、ビジョンエンコーダは「現地スタッフが写真を見て特徴をメモする係」、プロジェクタは「そのメモを日本語に訳す通訳」、LLMは「訳されたメモと質問を読んで答える担当者」です。

部品の分け方には別の流儀もあります。Meta の Llama 4 は、テキストと画像のトークンを最初から1つのモデルで一緒に学習するアーリーフュージョン(early fusion)を採用しました。Google の Gemma 4 の 12B Unified モデルは、専用のエンコーダを使わず、画像のパッチや音声波形を軽い線形層で直接LLMの埋め込み空間に入れる「エンコーダなし」の構成だとモデルカードで説明されています2026年10月時点。

画像1枚は何トークン?

画像トークンはテキストのトークンと同じように課金され、コンテキストウィンドウも消費します。何トークンになるかはモデルやサービスごとに決まっています2026年10月時点。

サービス・モデル数え方(公式ドキュメントより)
Claude28×28ピクセルのパッチ1つが1トークン。⌈幅/28⌉×⌈高さ/28⌉。上限を超える画像は縮小される
Gemini API縦横とも384px以下なら258トークン。大きい画像は768×768のタイルに分け、1タイル258トークン
Gemma 4(オープン)画像あたりのトークン数を 70/140/280/560/1120 から選べる

Claudeの数え方で1000×1000ピクセルの画像を計算すると、36×36=1,296トークンです。日本語の文章なら、ざっと原稿用紙数枚分のトークンに相当します。スクリーンショットを何十枚も送るエージェント(第28章)では、画像トークンがコストの大半を占めることも珍しくありません。

ためしてみよう

送る前に画像を必要な部分だけ切り抜き、読める範囲で縮小してみましょう。トークン数が減るだけでなく、余計な部分に気を取られず精度が上がることもあります。逆に、小さな文字を読ませたいのに縮小しすぎると読めなくなります。Gemma 4 のようにトークン数を選べるモデルなら、細かい文字は多め、ざっくりした分類は少なめ、と使い分けられます。

OCRと文書理解:読むだけでなく「わかる」

紙やPDFから文字を取り出す技術をOCR(光学文字認識)と呼びます。従来のOCRは「文字を写し取る」専門の道具でしたが、VLMは表の構造、グラフの意味、請求書のどこが合計欄かといった文書の理解まで一度にこなせます。Qwen2.5-VL の技術報告は、請求書・帳票・表からの構造化データ抽出を主な機能に挙げています。

OCRはLLMの「記憶」を広げる道具にもなりえます。2025年の DeepSeek-OCR 論文は、長い文章を画像として渡せばテキストより少ないトークンで済むのでは、という「光学的な圧縮」を検討しました。文字トークン数が画像トークン数の10倍以内なら約97%の精度で文字を復元できた、と報告しています。

注意

VLMは、読めない文字や数字を「それらしく」補ってしまうことがあります。金額や型番のように1文字の誤りが致命的な用途では、元画像と突き合わせる、検算する、専用OCRと併用するなどの確認が欠かせません。社内文書を検索に使う場合(第19章のRAG)も、取り込み時の読み取り誤りが回答の誤りにつながります。

音声:聞く・話す・会話する

音声の入口が音声認識(ASR: Automatic Speech Recognition)です。OpenAI が2022年に公開した Whisper は、インターネット上の68万時間分の多言語音声と書き起こしで学習し、追加学習なしでも多くの評価で高い頑健性を示しました。重みが公開されたため、ローカルの文字起こしツールの定番になっています。

音声で会話するAIの作り方は、大きく2通りあります。

flowchart TD
  U["ユーザーの声"] --> A1["音声認識で文字に"]
  A1 --> A2["LLMが文字で回答"]
  A2 --> A3["音声合成で声に"]
  U --> B1["音声対応モデルが
声を直接理解して
声で直接返す"] A3 --> R["返答の声"] B1 --> R
図: 左は部品をつなぐ「パイプライン型」、右は1つのモデルで完結する「speech-to-speech型」

パイプライン型は部品を自由に選べ、途中の文字をログとして残せるのが利点です。一方で段階ごとに待ち時間が積み重なり、声の調子や感情といった情報は文字にした時点で落ちてしまいます。

speech-to-speech型は、音声のまま理解して音声で返すので応答が速く、相づちや割り込みにも対応しやすくなります。2024年5月に発表された GPT-4o の「o」は omni(全部)の意味で、テキスト・音声・画像を1つのモデルで扱うことを打ち出しました。OpenAI の Realtime API は、こうした音声対話を WebRTC や WebSocket で実装するための仕組みです2026年10月時点。オープンなモデルでは、考える部分(Thinker)と話す部分(Talker)を分けた Qwen3-Omni などがあります。

動画:パラパラ漫画として読む

動画は、多くのモデルにとって「時間順に並んだ画像(フレーム)」です。一定間隔でフレームを抜き出し、それぞれを画像トークンにして、時刻の情報を添えて並べます。音声トラックを別に読むモデルもあります。

動画理解は、パラパラ漫画を1枚ずつめくりながらメモを取る作業に似ています。めくる間隔を狭めれば細かい動きを捉えられますが、メモ(トークン)の量は一気に増えます。

コストの目安として、Gemini API のドキュメントは動画を1秒あたり263トークン、音声を1秒あたり32トークンと説明しています2026年10月時点。この計算だと10分の動画は約15万8千トークンです。長い動画では、必要な区間だけ切り出す、フレームの間隔を広げるといった工夫が効きます。Qwen2.5-VL や Qwen3-VL の技術報告は、数時間の動画を扱い、秒単位で出来事の位置を特定できることを特徴に挙げています。

画像を「描く」のは別の技術

「画像を理解する」と「画像を生成する」は、名前は似ていても中身が違います。

方式仕組み代表例
拡散モデル(diffusion)ノイズだらけの画像から少しずつノイズを取り除いて絵にするStable Diffusion の元になった潜在拡散モデル
自己回帰(autoregressive)画像をトークン列として、文章と同じく1トークンずつ生成するChameleon(Meta, 2024)

拡散モデルは、2021年の潜在拡散モデル(latent diffusion)の論文以降、画像生成の主流になりました。一方、Meta の Chameleon は画像も文字も同じトークン列として扱い、1つのモデルで理解と生成の両方をこなす方向を示しました。OpenAI は2025年3月、GPT-4o にネイティブに組み込んだ画像生成を発表し、従来の DALL·E 3 とは別のアプローチだと説明しています。内部構造の詳細はあまり公開されていません。

any-to-any / オムニモデル omni model

テキスト・画像・音声などを入力にも出力にも使える、何でも入って何でも出るモデルの呼び方。ただし「omni」と名乗っていても、実際に出力できるのは文字と音声だけ、という場合もあります。名前ではなく対応表で判断しましょう。

ローカルで動かす:mmprojとOllama

マルチモーダルモデルは手元のPCでも動かせます。llama.cpp(第7章)では、マルチモーダル入力を libmtmd というライブラリが受け持ち、画像・音声に加えて動画入力にも対応しています2026年10月時点。

mmproj multimodal projector

llama.cppで画像や音声を扱うときに、LLM本体のGGUF(第5章)とは別に読み込むファイル。エンコーダとプロジェクタが入っていて、画像を埋め込みに変換する役目を持ちます。モデルごとに専用のものが必要です。

# Hugging Face から mmproj ごと取得して起動(llama.cpp)
llama-server -hf ggml-org/gemma-3-4b-it-GGUF

# ローカルのファイルを指定する場合は2つを渡す
llama-server -m gemma-3-4b-it-Q4_K_M.gguf --mmproj mmproj-gemma-3-4b-it-Q4_K_M.gguf

# Ollama なら画像のパスをプロンプトに書くだけ
ollama run gemma4 ./image.png what is in this image?

llama.cpp の公式ドキュメントには、Gemma 3/Gemma 4、Qwen2.5-VL、Llama 4 Scout、InternVL などの画像対応モデル、Voxtral や Qwen3-ASR などの音声対応モデル、両方に対応する Qwen2.5-Omni・Qwen3-Omni が変換済みGGUFとして並んでいます2026年10月時点。Ollama(第8章)も2025年に独自エンジンでマルチモーダル対応を強化し、API では画像を base64 の images 配列で渡します。

もう一歩深く

画像を扱うと、テキストだけのときよりメモリと待ち時間が増えます。エンコーダ自体の重みに加え、画像トークンの分だけKVキャッシュ(第15章)が膨らむからです。llama.cpp のドキュメントも、モデルによっては -c 8192 のように大きめのコンテキストが必要だと注意しています。

モデルを選ぶときに確かめること

マルチモーダルモデルは対応範囲がモデルごとに大きく違います。用途ごとに、次の点をモデルカードやドキュメントで確認しましょう。

用途確かめること
書類・スクショの読み取り対応する解像度と画像トークン数、日本語の文字認識、表の構造の扱い
音声の文字起こし対応言語、長い音声の扱い、話者の区別が必要か
音声対話音声を直接出力できるか、割り込み対応、応答の速さ
動画の要約・検索最大の長さ、フレームの間隔、時刻を答えられるか
ローカル実行mmproj が用意されているか、使うツールが対応しているか、必要なメモリ

精度は、実際の画像や音声を数十件集めて試すのがいちばん確実です。評価セットの作り方は第30章で扱います。

よくある誤解

画像を読めるモデルなら、画像も描ける

理解と生成は別の能力。多くのVLMは画像を入力できても、出力はテキストだけ

画像は1枚送っても数トークンくらいのもの

1枚で数百〜数千トークンになるのがふつう。解像度と枚数がそのままコストになる

VLMのOCRは正確なので、読み取った数字はそのまま使える

読めない部分をもっともらしく補うことがある。重要な数字は検証が必要

確認クイズ

Q1. VLMの「プロジェクタ」は何をする部品?

ビジョンエンコーダが作った画像の特徴ベクトルを、LLMが読める埋め込みの形に変換する部品です。llama.cppでは mmproj ファイルにエンコーダと一緒に入っています。

Q2. Claude の数え方(28×28ピクセルで1トークン)だと、560×280ピクセルの画像は何トークン?

  • 約20トークン
  • 200トークン
  • 約15万トークン

560÷28=20、280÷28=10 なので 20×10=200トークンです。

Q3. 音声対話で「応答の速さ」と「声の調子の理解」を重視するなら?

  • 音声認識→LLM→音声合成のパイプライン型
  • 音声を直接理解して音声で返す speech-to-speech 型
  • 音声をいったん画像に変換して VLM に渡す

パイプライン型は部品を選べてログも残しやすい反面、待ち時間が積み重なり、文字にした時点で声の調子などの情報が落ちます。

この章のまとめ

  • 多くのVLMは「ビジョンエンコーダ+プロジェクタ+LLM」の構成で、画像を画像トークンに変えて読む。
  • 画像1枚は数百〜数千トークン。解像度・枚数・動画の長さがそのままコストと待ち時間になる。
  • 音声は、部品をつなぐパイプライン型と、音声のまま扱う speech-to-speech 型がある。
  • 画像の理解と生成は別の技術。入力と出力の対応モダリティはモデルカードで確認する。
  • ローカルでは llama.cpp の mmproj(libmtmd)や Ollama で画像・音声入力を試せる。

さらに深く学ぶ

この章の内容をもう一歩掘り下げるための原典です。

第29章の論文・資料をすべて見る →

出典・参考

  1. Dosovitskiy et al. "An Image is Worth 16x16 Words"(arXiv:2010.11929, 2020)
  2. Radford et al. "Learning Transferable Visual Models From Natural Language Supervision"(CLIP, arXiv:2103.00020, 2021)
  3. Liu et al. "Visual Instruction Tuning"(LLaVA, arXiv:2304.08485, 2023)
  4. Meta "Llama 4"(公式サイト) — Llama 4 のアーリーフュージョン(2026年10月確認)
  5. google/gemma-4-E4B-it モデルカード — 対応モダリティ、12B Unified、画像トークン数の選択肢(2026年10月確認)
  6. Claude ドキュメント "Vision" — 画像トークンの計算(2026年10月確認)
  7. Gemini API ドキュメント "Understand and count tokens" — 画像・動画・音声のトークン数(2026年10月確認)
  8. Qwen Team "Qwen2.5-VL Technical Report"(arXiv:2502.13923, 2025) / "Qwen3-VL Technical Report"(arXiv:2511.21631, 2025)
  9. Wei et al. "DeepSeek-OCR: Contexts Optical Compression"(arXiv:2510.18234, 2025)
  10. Radford et al. "Robust Speech Recognition via Large-Scale Weak Supervision"(Whisper, arXiv:2212.04356, 2022)
  11. OpenAI "Hello GPT-4o"(2024年5月) / OpenAI Realtime API ドキュメント(2026年10月確認)
  12. Qwen Team "Qwen3-Omni Technical Report"(arXiv:2509.17765, 2025) / モデルカード
  13. Rombach et al. "High-Resolution Image Synthesis with Latent Diffusion Models"(arXiv:2112.10752, 2021)
  14. Chameleon Team "Chameleon: Mixed-Modal Early-Fusion Foundation Models"(arXiv:2405.09818, 2024)
  15. OpenAI "Introducing 4o Image Generation"(2025年3月)
  16. llama.cpp docs/multimodal.md / tools/mtmd/README.md — libmtmd、mmproj、対応モデル(2026年10月確認)
  17. Ollama Blog "Ollama's new engine for multimodal models" / Ollama ドキュメント "Vision"(2026年10月確認)