MLX-LMとは何か
MLX-LMは、Apple Machine Learning Researchによる無料・オープンソースのPythonパッケージで、Apple独自の配列フレームワークMLXの上に構築され、Apple Silicon上でのテキスト生成と大規模言語モデルのファインチューニングに特化しています。 MLX自体は2023年12月5日に初リリースされ、mlx-lmは言語モデル向けのワークフローに特化した関連パッケージとして提供されています。
このプロジェクトはgithub.com/ml-explore/mlx-lmでMITライセンスの下でホストされています。より広範なフレームワークであるMLXはGitHubスターが約27,300を突破しており、mlx-lm単体では約6,900以上です。
- モデルアクセスのためHugging Face Hubと連携し、モデルの量子化と結果のHubへの再アップロードにも対応
- LoRA(低ランク)とフルファインチューニングの両方をサポート。量子化済みモデルのファインチューニングも含む
- 生成時の効率化のため、プロンプトキャッシュとローテーション式のキー・バリューキャッシュを搭載
mx.distributedを介した複数マシンにまたがる分散推論・分散ファインチューニングをサポート- ストリーミング生成出力と、モデル提供用の
mlx_lm.serverコマンドを提供
ユニファイドメモリとは何か、なぜMLXはそれに依存するのか
ユニファイドメモリとは、Apple SiliconのCPUとGPUが、それぞれ専用の別々のメモリを持ちその間でデータをコピーする代わりに、1つの物理メモリプールを共有することを意味します。 MLXはこのアーキテクチャを前提に特化して設計されており、専用のNVIDIAまたはAMD GPUを搭載したWindowsおよびLinuxシステムに見られる、独立したCPU RAMと別個のGPU VRAMという構成とは根本的に異なります。
- モデルの重み、KVキャッシュ、アクティベーションはすべて同じメモリプール内にあり、コピー処理なしにCPUとGPUの両方からアクセス可能
- 演算は、専用GPUを持つシステムで必要となるデータ転送のオーバーヘッドなしに、必要に応じてCPUとGPUに振り分けられる
- これはApple Silicon(Mシリーズチップ)のハードウェアレベルの特性であり、MLXはそれを活用するために専用設計されています。非Appleハードウェアで同一に再現できるソフトウェア上のトリックではありません
- 2026年1月、AppleはMLX実行時のM5チップ各GPUコア内蔵の専用Neural Acceleratorを具体的にベンチマークした研究を発表しました
MLX-LMのインストール方法と使い方
MLX-LMはpipまたはcondaでインストールでき、生成・ファインチューニング・提供のためのコマンドラインインターフェースとPython APIの両方を提供します。 Apple SiliconのmacOSが必要で、一部の機能はmacOS 15.0以降を必要とします。
- 1pipでインストール:
pip install mlx-lm、またはcondaで:conda install -c conda-forge mlx-lm。 - 2Hugging Face Hubのモデルから直接テキストを生成する。例:
mlx_lm.generate --model <hf-model-id> --prompt "..."。これによりモデルがダウンロードされ実行される。 - 3ファインチューニングを行うには、プロジェクトのGitHub READMEに記載されたLoRAまたはフルファインチューニングのコマンドを使用する。フル精度モデルと量子化済みモデルの両方に対応している。
- 4モデルを量子化し、必要に応じてHugging Face Hubに再アップロードするには、プロジェクトの変換・量子化ツールを使用する。
- 5モデルをAPI経由で提供するには
mlx_lm.serverを実行する。プログラムからアクセスできるローカルサーバーが起動する。 - 6複数マシンにまたがる分散推論やファインチューニングには、プロジェクトの高度な使用ガイドに従って
mx.distributedを設定する。
MLX-LMはIntel Macで動作しますか?
いいえ。MLX-LMはApple Silicon(Mシリーズチップ)を必要とし、Intelベースのmacはサポートされていません。
MLX-LMにはインターネット接続が必要ですか?
最初にモデルをダウンロードする際、通常はHugging Face Hubからのみ必要です。モデルをダウンロードした後は、生成と推論は完全にローカルで実行されます。
MLX-LMに必要なハードウェアは何ですか
MLX-LMはApple SiliconのMacを必要とし、Intel Mac、Windows、Linux、非Appleの GPUはいかなる種類も一切サポートされていません。 これがllama.cppのようなクロスプラットフォームのエンジンと比較した際の中心的なトレードオフです。
- Apple Silicon(Mシリーズチップ)が必須 — M1から現行世代まで対応しており、新しいチップほど継続的なMLXの最適化の恩恵を受ける
- Intel MacもmacOSを実行できるが、サポート対象外
- Windows、Linuxのいずれもサポートなし
- 非Apple GPUのサポートなし — MLXはNVIDIAやAMDのハードウェアでは動作しない
- 一部の機能はmacOS 15.0以降を特に必要とし、これには文書化されたwired memory最適化が含まれる
MLX-LMを使うべきなのは誰か
対象マシンが確実にApple Siliconであり、そのハードウェア固有のユニファイドメモリを最大限活かすことが重要な場合はMLX-LMを使用してください。ハードウェアに柔軟性が必要、またはMac以外の場合はクロスプラットフォームのエンジンを使用してください。
🧭 MLX-LMを使うべき人
- そのアーキテクチャに適応させたクロスプラットフォームエンジンではなく、専用に構築されたツールを求めるApple SiliconのMacユーザー
- MLX-LMのネイティブなLoRAおよびフルファインチューニングのサポートを活用し、Mac上でローカルにモデルをファインチューニングする開発者
- Hugging Face Hubのモデルを中心にPythonベースのワークフローを構築しており、Apple独自のフレームワークとの緊密な統合を求める人
- 単一マシンでの大規模モデル推論における、ユニファイドメモリのパフォーマンス特性に特に関心のあるユーザー
❌ MLX-LMを避けるべき人
- Windows、Linux、Intel Macを使用している人 — MLX-LMはそのハードウェアでは単純に動作しない
- 1つのツールで可能な限り幅広いハードウェアベンダーのサポートを求めるユーザー — llama.cppは単一のプロジェクトでNVIDIA、AMD、Intel、Apple Siliconをカバーする
- 高スループットのマルチユーザー本番提供が必要なチーム — vLLMやSGLangがその用途向けに構築されており、MLX-LMではない
- モデル管理付きの最もシンプルなワンコマンドのローカルチャット環境を求める人 — Ollamaはその特定の目的においてよりシンプルであり、MLX-LMが対応できない非Macハードウェアにも対応している
🏆 用途別のベストな選択肢
- ユニファイドメモリによるApple Silicon固有のパフォーマンスに最適:MLX-LM
- Apple Siliconを含む最も幅広いハードウェアサポートに最適:llama.cppを直接使用
- 最もシンプルなクロスプラットフォームのローカル環境に最適:Ollama
- 高スループットのマルチユーザー本番提供に最適:vLLMまたはSGLang
- MacとNVIDIAハードウェアの直接的なモデル対モデルの速度比較には:MLX対CUDAの比較を参照
MLX-LMはllama.cppや他のエンジンとどう比較されるか
MLX-LMに最も近い比較対象はllama.cpp自体のMetalバックエンドです。どちらもApple Silicon上で動作しますが、違いは、MLX-LMがApple独自のフレームワークでありMac専用であるのに対し、llama.cppはさらにNVIDIA、AMD、Intelのハードウェアもカバーしている点です。
MLX-LMを評価する際のよくある誤解
混乱の多くは、MLX-LMがApple Silicon以外でも動作すると期待すること、またはユニファイドメモリが実際に何を変えるのかを誤解することから生じます。
誤解1:MLX-LMがIntel Macや非Macハードウェアで動作すると期待すること
MLX-LMは特にApple Siliconを必要とし、Intel Mac、Windows、Linuxでは、それらのシステムにどのGPUが搭載されていても動作しません。
誤解2:ユニファイドメモリを、他のプラットフォームに追加できるソフトウェア機能だと想定すること
ユニファイドメモリはApple Siliconチップのハードウェアアーキテクチャ上の特性であり、MLXが考案したソフトウェア抽象化ではありません。物理的に分離されたCPU RAMとGPU VRAMを持つシステムでは再現できません。
誤解3:MLX-LMとllama.cppのMetalバックエンドを同一のものとして扱うこと
どちらもApple Silicon上でモデルを実行できますが、メンテナー、API、モデル形式の前提が異なる別々のプロジェクトです。llama.cppはさらに非Appleハードウェアでも動作しますが、MLX-LMはApple独自のフレームワークであり、Apple Silicon専用に構築されています。
よくある質問
MLX-LMとは何ですか?
MLX-LMは、Apple Machine Learning Researchによる無料・MITライセンスのPythonパッケージで、Apple独自の配列フレームワークMLXの上に構築され、Apple Silicon上でテキスト生成と大規模言語モデルのファインチューニングを行います。
MLX-LMはWindowsやLinuxで動作しますか?
いいえ。MLX-LMはApple Siliconを必要とし、Mシリーズ搭載MacのmacOS上でのみ動作します。
MLX-LMは商用利用にも無料ですか?
はい。MLX-LMはMITライセンスで、個人利用・商用利用ともに無料です。
MLXにおけるユニファイドメモリとは何ですか?
ユニファイドメモリとは、Apple SiliconのCPUとGPUが1つの物理メモリプールを共有していることを意味し、これによりモデルの重み、KVキャッシュ、アクティベーションはコピー処理なしに両方からアクセス可能です。これは、ほとんどのWindows/Linuxシステムにおける独立したCPU RAMとGPU VRAMという構成とは異なるハードウェア上の特性です。
MLX-LMはモデルをファインチューニングできますか?
はい。LoRA(低ランク)とフルファインチューニングの両方をサポートしており、量子化済みモデルのファインチューニングも含まれます。
MLX-LMはHugging Faceのモデルに対応していますか?
はい。MLX-LMはHugging Face Hubと連携してモデルをダウンロードでき、量子化済みモデルをHubに再アップロードすることもできます。
MLX-LMは誰が開発していますか?
Apple Machine Learning Researchが、その基盤となるより広範なMLXフレームワークとともにMLX-LMを開発・保守しています。MLXは2023年12月5日に初リリースされました。
MacにおけるMLX-LMとllama.cppの違いは何ですか?
どちらもApple Silicon上でモデルを実行できますが、MLX-LMはApple独自のフレームワークであり、ユニファイドメモリを前提に特化して構築され、Apple Silicon専用です。一方llama.cppは別のクロスプラットフォームプロジェクトであり、Mac上のMetalバックエンドを介してNVIDIA、AMD、Intelのハードウェアもサポートします。
MLX-LMはAPI経由でモデルを提供できますか?
はい。mlx_lm.serverコマンドは、読み込んだモデルへのプログラムからのアクセス用にローカルサーバーを起動します。
MLX-LMは高スループットの本番提供に向いていますか?
それが主な設計目標ではありません。高スループットのマルチユーザー本番提供には、vLLMやSGLangがより専門的なツールです。MLX-LMは単一のApple Siliconマシンでの推論とファインチューニングに焦点を当てています。
