実行プログラムと拡張機能
Apple SiliconでMLXを使ってローカルAIを実行:Mac用フレームワークとモデルツールの違い
まずMacのチップと使いたいモデルファイルを確認してください。MLXがあっても、すべてのCUDAコードやモデルが自動で移行するわけではありません。
Apple Silicon Macでローカル言語モデルを動かす場合、MLX1は計算フレームワーク、MLX-LM2は言語モデル用ツール、Metal3はGPU4実行基盤、PyTorch MPS5は別フレームワークのバックエンドです。GUIアプリも別の選択肢です。CPU6とGPUが共有する統合メモリはOS、アプリ、モデル、KVキャッシュ7でも使われるため、搭載容量をすべてモデルに使えるわけではありません。Intel Mac、CUDA8用コード、モデルごとの対応状況を確認して実行経路を選びます。
Apple SiliconでMLXを使うと何が変わるのでしょうか?
Apple Silicon Macで言語モデルを動かすには、まず「このMacについて」でMシリーズのチップか確認します。このガイドでは、MLX用チェックポイント9をMLX-LMで読み込み、短い対話を実行する手順をたどります。このコマンドでIntel Macの構成やCUDA専用コード、MLX用重みのないモデルが自動変換されるわけではありません。各ツールの役割は、この手順に沿って説明します。

四つの名称はそれぞれ別の役割を指します
この実行経路では、MLXがApple siliconのCPU・GPU計算を提供し、MLX-LMは言語モデルを読み込んで推論やファインチューニングを行うPythonパッケージです。短い対話を始めるには、MLX-LMが読み込めるチェックポイントと実行コマンドも必要です。選んだリポジトリにMLX用の重みや互換設定がなければ、同じ名前の元モデルだけでは実行できません。
MLX-LMは、言語モデルの推論とファインチューニング向けのPythonパッケージです。モデルを指定してターミナルから一度実行したり、mlx_lm.chatでチャットセッションを開いたりできます。MLXは計算フレームワーク、MLX-LMは言語モデルを読み込むツールと区別するとよいでしょう。選んだHugging FaceリポジトリにMLX用の重みと互換設定がなければ、似た名前の元モデルが存在しても実行できるとは限りません。
Metalは、macOSでグラフィックスや並列計算を実行するAppleの低レベルGPU技術です。Mac上でMLXがGPU演算を行う際の実行基盤の一部ですが、Metal自体はモデル一覧でもチャット画面でもありません。一方、PyTorch MPSはPyTorch10からApple GPUを使うためのバックエンドです。同じMac上で動かす場合でも、PyTorch用モデルとMLX用モデルではパッケージ、モデルファイル形式、実行経路が異なることがあります。
LM Studioのようにグラフィカル画面を備えたアプリは、また別の選択肢です。GUIアプリはモデルのダウンロードやチャットを画面上で案内し、内部にMLXなどのエンジンを含んだり、選択できたりすることがあります。ターミナルのMLX-LMとGUIアプリを比べる際は、「どちらが速いか」より先に、必要なモデル形式に対応するか、どこまで設定できるか、会話履歴をどう管理するかを確認しましょう。機能や対応モデルはアプリのバージョンによって変わることがあります。

最初にチップ名を確認する理由
MLXのMac向けインストールと最適化経路は、Apple Siliconを前提としています。「このMacについて」でチップがMシリーズか確認してください。Intelプロセッサと表示される場合、Apple Silicon用のMLXコマンドをそのまま実行しても同じ経路にはなりません。その場合は、GGUF11に対応したllama.cpp系ツールや、Intel Macを明記してサポートするGUIエンジンを別に比較しましょう。「Mac」という製品名だけで同じアクセラレーション機能があると考えてはいけません。
CUDAを思い浮かべるかもしれません。CUDA用コマンドに.to("cuda")があったり、NVIDIA GPUを指定していたりしても、その部分をmlxに書き換えるだけでApple Siliconで使えるようにはなりません。MLXプロジェクトはLinux向けCUDAバックエンドも案内していますが、これは別途構成するMLXの実行経路です。PyTorch CUDAモデルを自動でMLXモデルに変換したり、CUDA専用の拡張や演算がMacでそのまま動いたりするという意味ではありません。モデル実装、重み形式、カーネル、依存関係を個別に確認してください。

統合メモリでも作業領域を残す必要があります
Apple SiliconのCPUとGPUは、専用VRAM12チップではなく同じ物理メモリ領域を共有します。MLXの配列はこの共有領域に置けるため、CPUとGPUの間で配列をコピーする処理を減らせる設計です。モデル推論を組み立てるうえで役立ちますが、搭載メモリの総量を増やす機能ではありません。macOSや他のアプリが先にメモリを使い、モデルの重み、中間計算、会話が長くなるにつれて増えるKVキャッシュも同じ資源を使います。
統合メモリが24GBのMacでも、その24GBすべてをモデルの重みに割り当てられるわけではありません。モデル読み込み時に必要な容量だけを見るのも不十分です。長い質問を入れると入力処理中により多くの作業領域が必要になり、回答生成中はKVキャッシュも増えます。ブラウザーや画像編集アプリも開いていれば、モデルに使える余裕はさらに減ります。量子化13済みファイルのサイズだけで「このMacなら動く」と判断せず、他のアプリを含む実際のメモリー圧力と作業の長さを確認してください。
量子化は、モデルの数値を少ないビット数で表し、重みが使うメモリを減らせる方法です。ただし量子化モデルでも、読み込み中の一時メモリ、計算領域、KVキャッシュが必要です。同じモデル名で4ビットと表示されたファイルでも、量子化方式、モデル構造、実行ツールによって結果や必要容量が変わることがあります。メモリが足りない場合は、対応する小さめのチェックポイントを選ぶ方法がありますが、回答品質や機能も実際に確認してください。
使いたいモデルにMLX用の実行経路があるか確認します
使いたいモデルのカードを開き、MLX用チェックポイントがあるか確認します。次にMLX-LMの対応モデル一覧で構造を調べ、必要なら短いテキスト生成を一度実行してください。Hugging FaceにPyTorch版があるだけでは、MLX版の有無は分かりません。コミュニティ変換版を使う場合は、変換日・元モデルの版・トークナイザー設定・ライセンスを確認します。画像入力やツール呼び出し14が必要なら、基本生成の成功後に機能ごとに試します。
MLX-LMは多くの言語モデルに対応しますが、すべての言語モデルに対応するわけではありません。同じ系列でも、モデルカードで特別なトークナイザーコードやリモートコードの実行許可が必要とされる場合があります。内容を知らないコードを信頼する設定にする前に、提供元とコードを確認し、不要なら許可を有効にしないでください。特定のアーキテクチャや機能への対応が不明な場合は、まず基本的なテキスト生成を確かめ、画像入力やツール呼び出しなどはリポジトリと現在のMLX-LM版で別途検証します。
目的に合わせてターミナルとGUIを選ぶ
モデルを手早く試したい人やPythonコードから直接読み込みたい人にとって、MLX-LMは簡単な出発点です。公式リポジトリがデフォルトとして案内するモデルを選び、mlx_lm.generateや対話型のmlx_lm.chatで実行できます。モデルをクリックで選び、ローカルAPI15接続や会話履歴も一画面で管理したいなら、MLXエンジンに対応するGUIアプリが便利かもしれません。ただし、内部でMLXを使うGUIアプリが、MLX-LMのすべてのオプションやHugging Faceの全モデルを提供するとは限りません。
すでにPyTorch MPSを使っている開発者なら、既存のPyTorchコードとモデルがMPSで動くか確かめるのが自然な次の手順です。同じハードウェアだからといって、MLXとPyTorch MPSの性能をあらかじめ順位付けすることはできません。モデル実装、演算、ライブラリ版、入力サイズ、メモリー状態で結果は変わります。可能な限り同じモデル系列、近い量子化、同じ入力・出力の長さで比べつつ、二つの実行経路には実装差が残ることも考慮します。条件をそろえられない場合は、違いを記録してください。異なるモデルや設定のtok/sをそのまま比較すると、条件の差をランタイム16の速度差と誤解することがあります。
LinuxとNVIDIA GPU向けに作ったCUDAプロジェクトをそのままMacへ移すなら、MLXを自動変換器として期待しないでください。まずMLX対応チェックポイントと実行例があるか探します。なければCUDA環境を維持するか、llama.cppやGUIアプリなど、そのモデルを個別にサポートする経路を確認してください。画像モデルや音声モデルも、MLX-LMの説明だけでは対応状況を判断できません。MLXエコシステムには言語モデル以外のツールもありますが、各ツールが対応する構造や機能を個別に確認する必要があります。
すでにApple Silicon Macを持っていて、対応する言語モデルをターミナルやPythonから試すなら、MLX-LMは現実的な出発点です。使いたいモデルにMLXチェックポイントがあり、量子化状態、コンテキスト長、同時に開くアプリを考慮してメモリーに余裕があるか確認しましょう。インストールやモデル選択を画面上で行いたいなら、MLXエンジンを提供するGUIアプリを検討できます。Intel MacではApple Silicon用MLXガイドをそのまま使えず、CUDA用モデルやスクリプトも自動では移行しません。ツールを選ぶ前に、チップ、モデルチェックポイント、必要な機能、実際の空きメモリーを確認してください。
用語の注釈
MLX — Appleが開発する機械学習フレームワークです。Apple siliconでは統合メモリとMetalを活用し、別途Linux向けの実行経路も提供します。対応モデルや機能はMLXを使うツールごとに異なります。
本文に戻るMLX-LM — MLXを使い、言語モデルの読み込み・推論・微調整を行うパッケージです。MLXフレームワーク本体や、MLXを使うすべてのアプリを指す言葉ではありません。
本文に戻るMetal — Apple機器でグラフィックスやGPUの並列計算を実行する低水準の技術です。モデルを選んで会話するアプリそのものではありません。
本文に戻るGPU — 多くの計算を並列に処理するプロセッサーです。AIモデルの実行ではモデル計算を担います。
本文に戻るPyTorch MPS — PyTorchでApple GPUへ計算を送るバックエンドです。MLXとは別の経路で、必要な演算やモデルがMPSに対応しているか確認します。
本文に戻るCPU — コンピューターで汎用のプログラム命令を実行する中央処理装置です。AI処理ではGPUなど他のプロセッサーと役割を分けることがあります。
本文に戻るKVキャッシュ — 過去トークンのAttention用キー・バリューを保存し、後続トークン生成で再利用するメモリです。容量はコンテキスト長やバッチサイズで変わります。
本文に戻るCUDA — NVIDIA GPUで汎用計算を行うソフトウェア基盤です。CUDA向けのプログラムが他のGPUでそのまま動くとは限りません。
本文に戻るチェックポイント — 学習済みモデルの重みなどを保存したファイルです。同じモデル系列でも、版や用途によって異なるチェックポイントを使うことがあります。
本文に戻るPyTorch — AIモデルを作成・実行するソフトウェアフレームワークです。モデルと合わせて、対応するPyTorchの版やハードウェアも確認します。
本文に戻るGGUF — モデル情報を格納するファイル形式で、llama.cpp系のツールで広く使われます。形式だけで特定ハードウェアへの対応や速度が保証されるわけではありません。
本文に戻るVRAM — グラフィックカードのGPUが使うメモリです。モデルの重みや計算途中の値を置き、システムRAMとは区別されます。
本文に戻る量子化 — モデルの数値を少ないビット数で表す方法です。メモリ使用量のほか、精度や実行速度も変わることがあり、影響は形式と実装によります。
本文に戻るツール呼び出し — ファイル読み取り、検索、コマンド実行などの外部機能を、名前と引数でモデルが要求する形式です。実行の有無はエージェントランタイムと権限設定が決めます。
本文に戻るAPI — 別のコードからプログラムの機能を呼び出すための決められたインターフェースです。APIという言葉だけで外部サーバーへの送信を意味するわけではありません。
本文に戻るランタイム — プログラムの実行時に必要な機能を提供するソフトウェア環境です。ローカルAIではモデル実行エンジンを指すこともあり、GPUランタイムライブラリと完成したサービングアプリは別の構成要素です。
本文に戻る