deep guide / multimodal
mmprojとマルチモーダル|画像・音声対応GGUFの仕組み
画像入力や音声を扱うマルチモーダルモデルでは、LLM本体とは別に mmproj(投影ファイル)が必要です。 役割・失敗例・取得手順を初心者向けに解説します。
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 の可能性 | 配布元推奨の高品質版を試す |
llama.cpp での手順(概要)
llama.cpp では、LLM 本体と mmproj を別に指定してロードします。具体的なフラグ名はバージョンで変わるため、
使用する llama.cpp のドキュメント(--mmproj 等)を確認してください。
LM Studio での扱い
LM Studio では、マルチモーダル対応モデルの場合、本体と mmproj をセットで管理する形が一般的です。 画像入力が有効にならない場合は、モデルがマルチモーダル対応か、必要な投影ファイルが揃っているかを確認します (トラブルシューティング)。
ファイル名デコーダーとの連携
モデル名に mmproj や vision 等の文字列が含まれることがあります。
ファイル名デコーダー で構成を推測できますが、
「リポジトリ固有の表記」である可能性もあるため、断定はしません。
更新履歴:2026-07-18 ガイド新規(mmprojの役割・失敗例・llama.cpp/LM Studio手順・デコーダー連携)。