deep guide / multimodal

mmprojとマルチモーダル|画像・音声対応GGUFの仕組み

画像入力や音声を扱うマルチモーダルモデルでは、LLM本体とは別に mmproj(投影ファイル)が必要です。 役割・失敗例・取得手順を初心者向けに解説します。

読了後に判断できること:mmproj とは何か、なぜ LLM 本体と別なのか、不足/不一致で何が起きるか、 llama.cpp / LM Studio での扱い、ファイル名デコーダーとの連携。

mmproj とは

mmproj は「multimodal projector」の通称ですが、実際には vision / audio encoder 等を含み得る補助ファイルです。LLM 本体がテキストを扱うのに対し、 画像や音声を「LLMが理解できる形」に変換する役割を担います。

[画像/音声]
     │
  mmproj (encoder / projector)
     │  特徴をテキスト空間へ投影
     ▼
  LLM 本体 (.gguf) ──► テキスト応答

概念図。実際の構成はモデルにより異なる。

なぜ本体と別ファイルか

マルチモーダルモデルは、テキストを生成する LLM 本体と、画像/音声を処理する encoder がセットになっています。 配布形態として、これらを 本体 .gguf と mmproj に分けて提供することが一般的です。 これにより「テキストだけの軽量運用」と「マルチモーダル運用」を切り替えやすくなります。

ファイルサイズと「高品質推奨」の理由

mmproj も量子化された形で提供されることがあります。配布元が 「高品質な mmproj を推奨」とする理由は、投影部の精度が最終的な認識品質に影響するためです。 ただし「どの精度が良いか」はモデル次第であり、ここでも断定は避けます。

mmproj のファイルサイズは本体よりずっと小さいことが多く、メモリへの影響は本体ほど大きくありません。 ただし「なくても動く」わけではなく、画像/音声入力には必須です。

失敗例

mmproj 関連の失敗
症状原因対処
画像を扱えないmmproj 不足対応する mmproj を別途用意
エラーになるmmproj と本体が不一致同一モデル・同一配布元の組み合わせを確認
認識がおかしい低品質 mmproj の可能性配布元推奨の高品質版を試す

llama.cpp での手順(概要)

llama.cpp では、LLM 本体と mmproj を別に指定してロードします。具体的なフラグ名はバージョンで変わるため、 使用する llama.cpp のドキュメント(--mmproj 等)を確認してください。

フラグ名・既定値は実行環境(llama.cpp のバージョン)で変化します。実行前にヘルプや公式ドキュメントで確認を。

LM Studio での扱い

LM Studio では、マルチモーダル対応モデルの場合、本体と mmproj をセットで管理する形が一般的です。 画像入力が有効にならない場合は、モデルがマルチモーダル対応か、必要な投影ファイルが揃っているかを確認します (トラブルシューティング)。

ファイル名デコーダーとの連携

モデル名に mmprojvision 等の文字列が含まれることがあります。 ファイル名デコーダー で構成を推測できますが、 「リポジトリ固有の表記」である可能性もあるため、断定はしません。

更新履歴:2026-07-18 ガイド新規(mmprojの役割・失敗例・llama.cpp/LM Studio手順・デコーダー連携)。