llama.cpp がサーバーとCLIツールにマルチモーダルビジョンサポートを追加

BigGo Editorial Team
llama.cpp がサーバーとCLIツールにマルチモーダルビジョンサポートを追加

オープンソースの llama.cpp プロジェクトは、サーバーとコマンドラインインターフェースツールの両方に包括的なマルチモーダルビジョンサポートを追加することで、その機能を大幅に拡張しました。この統合により、ユーザーは自分のハードウェア上でローカルにビジョン言語モデルを実行し、クラウドサービスに依存することなく画像の説明と分析が可能になりました。

統一されたマルチモーダル実装

新しい実装では、以前は別々だったビジョン機能を統一されたフレームワークの下に統合しています。コミュニティディスカッションによると、開発者の ngxson がこの取り組みで重要な役割を果たし、まず様々なビジョンモデルを個別のCLIプログラムでサポートし、次にそれらを llama-mtmd-cli という単一のコマンドラインツールに統合し、最終的にこの機能をサーバーコンポーネントにも導入しました。マルチモーダルサポートは、画像からの埋め込み前処理をメインの言語モデルとは別に処理する libmtmd というライブラリを通じて機能します。

このアーキテクチャアプローチは、トランスフォーマーエコシステムでのテキスト前処理の進化と類似しており、特殊なライブラリがコアモデルとは別にトークン化を処理します。この分離により、より広範な llama.cpp フレームワークとの互換性を維持しながら、画像処理に特化した最適化が可能になります。

サポートされているモデルとパフォーマンス

この実装は、Gemma 3(4B、12B、27Bの各バリアント)、SmolVLM モデル、Pixtral 12B、Qwen2 VL、Qwen2.5 VL、Mistral Small 3.1 など、印象的な範囲のマルチモーダルモデルをサポートしています。ユーザーからは特に Gemma 3 4B モデルについて良い評価が報告されており、比較的小さなサイズにもかかわらず、印象的な画像説明を提供しています。

コミュニティからのパフォーマンスレポートによると、64GB RAMを搭載した M1 MacBook Pro では、Gemma 3 4B モデルは約25トークン/秒でプロンプトを処理し、63トークン/秒で生成を行います。画像処理は画像サイズに関係なく約15秒かかります。このレベルのパフォーマンスにより、これらのモデルは消費者向けハードウェアでの実用的なアプリケーションに適しています。

対応マルチモーダルモデル

  • Gemma 3 シリーズ

    • ggml-org/gemma-3-4b-it-GGUF
    • ggml-org/gemma-3-12b-it-GGUF
    • ggml-org/gemma-3-27b-it-GGUF
  • SmolVLM シリーズ

    • ggml-org/SmolVLM-Instruct-GGUF
    • ggml-org/SmolVLM-256M-Instruct-GGUF
    • ggml-org/SmolVLM-500M-Instruct-GGUF
    • ggml-org/SmolVLM2-2.2B-Instruct-GGUF
    • ggml-org/SmolVLM2-256M-Video-Instruct-GGUF
    • ggml-org/SmolVLM2-500M-Video-Instruct-GGUF
  • Pixtral

    • ggml-org/pixtral-12b-GGUF
  • Qwen 2 VL

    • ggml-org/Qwen2-VL-2B-Instruct-GGUF
    • ggml-org/Qwen2-VL-7B-Instruct-GGUF
  • Qwen 2.5 VL

    • ggml-org/Qwen2.5-VL-3B-Instruct-GGUF
    • ggml-org/Qwen2.5-VL-7B-Instruct-GGUF
    • ggml-org/Qwen2.5-VL-32B-Instruct-GGUF
    • ggml-org/Qwen2.5-VL-72B-Instruct-GGUF
  • Mistral Small

    • ggml-org/Mistral-Small-3.1-24B-Instruct-2503-GGUF

実際のアプリケーション

コミュニティメンバーはすでにこれらの機能を実用的に活用し始めています。あるユーザーは、休暇の写真のキーワードと説明を生成するシステムを作成し、Gemma 3 4B モデルがテキストを含む画像から基本的なOCR(光学文字認識)を含む意味のある情報を抽出し、文脈的な位置情報を識別できたと述べています。

SmolVLM シリーズのモデルは、そのコンパクトなサイズと高速な応答時間により、ホームビデオ監視などのリアルタイムアプリケーションに特に適していると強調されています。これらのモデルは256MBから2.2GBの範囲で、リソースが限られたデバイスでも利用可能です。

パフォーマンス指標( M1 MacBook Pro 64GB 上の Gemma 3 4B)

  • プロンプト処理速度:25トークン/秒
  • トークン生成速度:63トークン/秒
  • 画像処理時間:画像1枚あたり約15秒(サイズに関係なく)

インストールと使用方法

マルチモーダル機能の利用開始は簡単です。ユーザーは llama.cpp の GitHub リリースページからプリコンパイルされたバイナリをダウンロードするか、Homebrew などのパッケージマネージャーを通じてインストールできます。これらのツールは、使用するモデルを指定する簡単なコマンドで実行でき、パフォーマンス向上のためのGPUオフロードを制御するオプションもあります。

Homebrew を使用する macOS ユーザーの場合、パッケージはこれらの新機能を含むように更新され、brew upgrade llama.cpp を実行するだけで最新機能を入手できます。この実装は利用可能なGPUアクセラレーションを自動的に活用し、Metal バックエンドユーザーは自動レイヤーオフロードの恩恵を受けることができます。

この開発は、エッジAI機能の大きな前進を表し、クラウド接続やサブスクリプションサービスを必要とせずに、強力なビジョン言語モデルをローカルデバイスにもたらします。これらのツールが成熟するにつれて、個人的および専門的なユースケースでマルチモーダルAIを活用するアプリケーションがますます増えることが予想されます。

参考: Multimodal