Mac で LLM をダウンロードして動かす。

モデルをローカルで動かす第一歩は、適切なファイルを見つけることです。使うアプリに合った形式、Mac のメモリに収まるサイズ、品質を保てる量子化。Apple Silicon でオープンモデルを選び、ダウンロードし、動かす方法を紹介します。

更新日

要点

  • オープンモデルは Hugging Face にあります。Mac では MLX 版(多くは mlx-community が公開)か、llama.cpp、Ollama、LM Studio 用の GGUF ファイルを探しましょう。
  • 収まるかどうかはメモリで決まります。4 ビットの MLX モデルには 10 億パラメータあたり約 0.56GB が必要で、さらにコンテキストと macOS の分の余裕が要ります。
  • ゲート付きモデルには、無料の Hugging Face アカウント、ライセンスへの同意、トークンが必要です。
  • MLX Harness、mlx-lm、LM Studio、Ollama で動かせます。

1モデルの探し方

オープンウェイトのモデルの多くは Hugging Face で公開されています。同じモデルでも複数の版があるのが普通で、どのアプリで動くかは形式で決まります。

形式見分け方動くアプリ
MLXsafetensors ファイルと config.json が入ったフォルダ。名前は Model-4bit のような形mlx-lm、LM Studio、MLX Harness
GGUF1 つまたは数個の .gguf ファイル。名前は Q4_K_M のような形llama.cpp、Ollama、LM Studio
オリジナルの重みモデル開発元が公開するフル精度の safetensors先に MLX に変換するか、変換済みの版を選ぶ
人気モデルの変換済み MLX 版は mlx-community が公開しています。mlx-lm で自分で作ることもできます(mlx-lm)。

どのランタイムを使うか迷ったら、MLX・Ollama・llama.cpp の比較をご覧ください。まったく初めてなら、Mac で LLM を動かすから始めましょう。

2メモリに収まるサイズを選ぶ

モデルの重みは、余裕を残してメモリに収まる必要があります。MLX は量子化した重みを、そのビット数に加えて 64 個の重みのグループごとに共有のスケールとバイアスを持たせて保存するので、1 重みあたり約 0.5 ビット多くなります(MLX)。そのため 4 ビットでは 10 億パラメータあたり約 0.56GB、8 ビットでは約 1.06GB になります。

パラメータ数4 ビット(MLX)8 ビット(MLX)16 ビット
30 億約 1.7GB約 3.2GB6GB
80 億約 4.5GB約 8.5GB16GB
140 億約 7.9GB約 14.9GB28GB
320 億約 18GB約 34GB64GB
700 億約 39GB約 74GB140GB
重みのみ。MLX の量子化版はパラメータ数 ×(ビット数 + 0.5)÷ 8、16 ビットは 1 パラメータあたり 2 バイトで計算。会話のコンテキストと macOS の分はさらに必要です。

macOS は初期設定で、ユニファイドメモリの一部しか GPU に使わせません。Compare は約 4 分の 3 と想定しており、mlx-lm の README には macOS 15 以降で sudo sysctl iogpu.wired_limit_mb=N を使ってこの上限を引き上げる方法が載っています(mlx-lm)。Mixture-of-Experts モデルでは、必要なメモリは総パラメータ数で、速さはアクティブパラメータ数で決まります。Compare は人気モデルとすべての Apple チップについてこの計算を行い、ローカル LLM に最適な Mac では帯域幅が速さを決める理由を説明しています。

3量子化:4 ビット、8 ビット、それ以外

量子化は各重みを少ないビット数で保存する技術で、モデルのメモリ使用量が減って速く動くようになる代わりに、品質が多少落ちます。Mac では 4 ビットから始めるのが一般的です。8 ビットはオリジナルに近く、サイズは 2 倍です。4 ビット未満ではファイルは小さくなるものの回答の質が早く落ちるので、そうしないと大きなモデルが収まらない場合にだけ試しましょう。

  • MLX 版 は名前に書いてあります。-4bit、-8bit、また影響の大きい層だけビット数を多く残した混合精度版もあります。
  • GGUF ファイル は llama.cpp の名前を使います。Q4_K_M、Q5_K_M、Q8_0 などです。Hugging Face の GGUF リポジトリを Ollama で名前を指定せずに実行すると、Q4_K_M があればそれが選ばれます(Hugging Face)。
  • 自分で作る こともできます。オリジナルの重みから mlx_lm.convert --model mistralai/Mistral-7B-Instruct-v0.3 -q を実行すると、4 ビットのコピーが書き出されます(mlx-lm)。

4ディスク容量とモデルの保存場所

ダウンロードのサイズは上の表の重みとほぼ同じです。4 ビットの 8B モデルなら数 GB、70B モデルなら数十 GB になります。同じモデルのサイズや版をいくつも試すと、あっという間に容量が膨らみます。

mlx-lm などの Hugging Face 系ツールは、ダウンロードを ~/.cache/huggingface/hub に保存します。場所を変えるには HF_HOME または HF_HUB_CACHE を設定します。hf cache ls で中身を確認し、hf cache rm でモデルを削除できます(Hugging Face)。Ollama と LM Studio はモデルをそれぞれ独自のフォルダに置き、自分で管理します。

5ゲート付きモデルと Hugging Face のトークン

Llama をはじめ一部のモデルにはゲートがあり、ダウンロードする前に開発元の条件に同意する必要があります(Hugging Face)。

  1. 無料の Hugging Face アカウントにサインインし、モデルのページを開きます。
  2. ページのボタン(初期設定では Agree and send request to access repo)で条件に同意します。開発元によってはリクエストを手作業で承認するため、時間がかかります。
  3. Hugging Face の設定でアクセストークンを作成します。
  4. ツールにトークンを渡します。mlx-lm などの Hugging Face 系ツールにはターミナルで hf auth login を実行し(Hugging Face)、アプリの場合は Hugging Face トークンの欄に貼り付けます。

6動かす:4 つの方法

mlx-lm:ターミナルで Apple の MLX

pip でインストールし、Hugging Face 上の MLX モデルの名前を指定するだけです。初回の実行時にダウンロードされます(mlx-lm)。

pip install mlx-lm
mlx_lm.generate --model mlx-community/Llama-3.2-3B-Instruct-4bit --prompt "How tall is Mt Everest?"
mlx_lm.chat --model mlx-community/Llama-3.2-3B-Instruct-4bit

mlx_lm.server は、ほかのアプリ向けに localhost:8080 で OpenAI 形式の API としてモデルを提供します(mlx-lm)。

mlx_lm.server --model mlx-community/Llama-3.2-3B-Instruct-4bit
curl localhost:8080/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{"messages": [{"role": "user", "content": "Say this is a test!"}]}'

LM Studio:モデルブラウザ付きのアプリ

LM Studio はアプリ内で Hugging Face のモデルを検索・ダウンロードでき、Apple Silicon では MLX モデルも、llama.cpp による GGUF も動かせます。Apple Silicon と macOS 14 以降が必要で、16GB 以上のメモリが推奨されています(LM Studio)。

Ollama:コマンド 1 つで

Ollama は独自のライブラリにあるモデルに加え、Hugging Face 上の GGUF リポジトリも直接実行でき、量子化のタグも指定できます(Hugging Face)。

ollama run hf.co/bartowski/Llama-3.2-3B-Instruct-GGUF:IQ3_M

MLX Harness:私たちの無料アプリ

MLX Harness は vMLX をもとにした私たちの無料 Mac アプリです。Hugging Face で MLX モデルを検索し、チャットやツール、画像モデルを実行し、すべてをローカル API で提供します。ゲートウェイも 8080 番ポートを使うので、同じポートで mlx_lm.server と同時に動かさないでください。Mac を使っていないときは、MLX Node で Mac を MLX Network に貸し出すこともできます。

7よくある質問

Mac 用の LLM はどこでダウンロードできますか?
Hugging Face です。MLX 版(多くは mlx-community が公開)か GGUF ファイルを探してください。LM Studio と Ollama なら検索とダウンロードを代わりにやってくれます。
どのサイズのモデルをダウンロードすればいいですか?
重みが Mac のメモリに余裕をもって収まるものです。4 ビットなら 10 億パラメータあたり約 0.56GB なので、8B モデルで約 4.5GB、70B で約 39GB、これにコンテキストの分が加わります。mlx.app の Compare であなたの Mac に合うか確認できます。
Mac では MLX と GGUF のどちらがいいですか?
どちらも Apple Silicon でよく動きます。MLX 版は Apple の MLX 向けに作られ、mlx-lm、LM Studio、MLX Harness で動きます。GGUF ファイルは llama.cpp、Ollama、LM Studio で動きます。
Hugging Face のアカウントは必要ですか?
公開モデルなら不要です。ゲート付きモデルには、無料のアカウント、ライセンスへの同意、アクセストークンが必要です。
ダウンロードしたモデルはオフラインで動きますか?
動きます。ファイルが Mac にあれば、インターネットに接続しなくてもモデルは動き、プロンプトは Mac から出ません。

出典

  1. Hugging Facehuggingface.co
  2. mlx-communityhuggingface.co
  3. mlx-lmgithub.com
  4. MLXml-explore.github.io
  5. Hugging Facehuggingface.co
  6. Hugging Facehuggingface.co
  7. Hugging Facehuggingface.co
  8. Hugging Facehuggingface.co
  9. mlx-lmgithub.com
  10. LM Studiolmstudio.ai
  11. LM Studiolmstudio.ai
  12. Ollamaollama.com

次に読む

Mac で LLM をダウンロードしてローカル実行する方法【実践ガイド】 | MLX