Blaizzy/mlx-vlm

MLX-VLM is a package for inference and fine-tuning of Vision Language Models (VLMs) on your Mac using MLX.

概要

MLX-VLM は、Mac 上で直接 視覚言語モデル(VLM) — 画像、動画、音声を理解する AI モデル — を実行(推論)およびファインチューニングできる Python パッケージです。Apple の MLX 機械学習フレームワーク上に構築されており、Apple Silicon(M1/M2/M3 チップ)向けに最適化されています。

README には、コマンドラインインターフェース、Web チャット UI(Gradio)、継続的バッチ処理とプレフィックスキャッシュを備えたローカルサーバー(FastAPI)、高速化のための投機的デコーディング、マルチイメージチャット、ファインチューニング、そして多数の特定モデルアーキテクチャ(Qwen、Gemma、MiniCPM、Phi、DeepSeek‑OCR など)のサポートを含む、多機能なツールが説明されています。

興味深い点

  • 重いマルチモーダルモデルを Mac 上でローカル実行 — クラウド不要、GPU サーバー不要。
  • 推論とファインチューニング を1つのパッケージで提供し、Hugging Face モデルを MLX 形式に変換するユーティリティも含まれています。
  • 投機的デコーディング による高速化: 小さな「ドラフター」モデルを使用して次のトークンを予測し、大きなモデルで検証することで、2〜3 倍の高速化を実現。DFlash、EAGLE‑3、MTP など複数のドラフターファミリーをサポート。
  • オムニモデル — 画像だけでなく、音声や動画も処理できるモデル(音声生成を含む)。
  • 本番環境対応サーバー — 継続的バッチ処理(複数リクエストを効率的に処理)、自動プレフィックスキャッシュ、メモリ節約のための KV キャッシュ量子化を搭載。
  • モデル別の詳細なドキュメント — サポートされている各アーキテクチャには、プロンプト形式とベストプラクティスを示す専用 README があります。

動作方法

  • インストール: pip install -U mlx-vlm(UI を使用する場合は mlx-vlm[ui])。
  • CLI で使用: 例: mlx_vlm.generate --model mlx-community/Qwen2-VL-2B-4bit --image http://... --prompt "この画像を説明してください"。
  • プログラムから使用: モデルとプロセッサをロードし、generate() を呼び出します。画像、音声、テキストをサポート。
  • サーバー: mlx_vlm.server --model ... で REST API(FastAPI)を公開。生成、チャット、音声、キャッシュ、メトリクスのエンドポイントを提供。
  • 量子化: mlx_vlm.convert で Hugging Face モデルを MLX 形式に変換し、ビット幅(例: 4 ビット)を選択してメモリを削減。
  • ファインチューニング: パッケージにはファインチューニング機能が含まれています(目次に記載あり。ただし、この README 抜粋には詳細はありません)。

注目すべき詳細

  • 思考予算: 推論モデルの場合、回答前に思考に費やすトークン数を制限できます。
  • マルチイメージチャット: 複数のモデルでサポートされており、会話内で複数の画像を渡すことができます。
  • 分散推論 と 1 ビットアフィン推論 もカバーされています。
  • このプロジェクトには エージェントスキル が同梱されています — コーディングアシスタント(Claude Code、Codex、Gemini)向けの既製プロンプトで、プロジェクトの規則に従うのに役立ちます。

結論

MLX‑VLM は、Mac 上で 最新の視覚言語モデルやオムニモデルを実行・カスタマイズしたい人にとって、実用的でドキュメントが充実したツールキットです。投機的デコーディング、ローカルサーバー、ファインチューニングなどの実用的な機能を備えています。これは本格的なソフトウェアプロジェクトであり、積極的にメンテナンスされ、膨大なサポートモデルマトリックスを持っています。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト