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