← Resources
By Ren Sugaya
— Performance Engineer, GPU & Inference
·
· TUTORIAL
Apple SiliconでLLMを動かす:ユニファイドメモリと何が動くか
Apple SiliconはLLMの実行に特に優れています。ユニファイドメモリが共有・高帯域幅・大容量だからです——64GBのMacでも70Bモデルを動かせます。このガイドでは、各RAMティアで何が動くか、MLX対llama.cpp、唯一の弱点(プロンプト処理)、そしてツール類を解説します。
ユニファイドメモリが優位な理由
Apple SiliconはCPU・GPU・Neural Engineで単一の高帯域幅メモリプールを共有しています——独立したVRAMもなく、PCIeバスを経由する低速コピーも発生しません。だからこそ64GBのMacは、24GBのディスクリートGPUには収まらないモデルをロードできます:プール全体がGPUに使えるのです。
これが重要なのは、LLMのトークン生成が[メモリ帯域幅に律速される](/articles/running-llms-on-cpu)からです——各トークンの生成にはメモリからモデルを読み出す必要があり、Appleのユニファイド帯域幅はデコードで本当に競争力があるほど高い。ここで生成速度を左右するのは生の演算能力ではなく、帯域幅です。
メモリティア別の対応モデル
ユニファイドメモリが制約条件になるので、MacのメモリにあわせてモデルをSいてください(4bit量子化の場合):
- 16GB:7B〜8Bモデルは余裕で動きます。
- 32GB:おおよそ30Bまで対応できます。
- 64GB:70Bモデルが現実的になります(Q4の70Bは約40GB)。ただしコンテキストの余裕が少なく、70Bの実用的な最低ラインです。
- 128GB:大きなコンテキストを持ちながら高精度(Q5/Q8)で70Bを動かせます。
- Ultraティア(192GB以上):高精度の70B、非常に大きなモデル、または複数モデルの同時常駐。
目安:Q4での重みは10億パラメータあたり約0.5〜0.6 GBを見込み、コンテキスト長で膨らむKVキャッシュ分を余らせてください。16Kか32Kコンテキストに収まるかを決めるのは往々にしてKVキャッシュです。
MLX対llama.cpp
Macでは2つのランタイムが主流です。llama.cppのMetalバックエンドはGPU演算をMetalシェーダーに変換し、最大のモデルライブラリを持つクロスプラットフォームのGGUFフォーマットを使います。MLXはApple独自のフレームワークで、ユニファイドメモリのためにゼロから設計されています——小さいモデルでは概して高速(〜14B未満で顕著に速いことが多い)で、〜27B超では帯域幅の上限に達するため差が縮まります。
MLXは勢いがあります:AppleがApple Silicon向けの推奨フレームワークと位置づけ、人気ランタイムがMLXバックエンドを追加し、mixture-of-expertsモデルで輝きます。実用的な判断基準:小さなモデルとMoEモデルで最速を目指すならMLX、最広のモデル選択とクロスプラットフォーム互換性が必要ならllama.cpp/GGUFです。
真の弱点:プロンプト処理
Apple Siliconの正直な限界はトークン生成ではなく、プロンプト処理(最初のトークンまでの時間)です。プリフィルは大規模な行列積を伴う演算律速の処理であり、AppleのGPUにはNVIDIAが高速化に使う専用のテンソルコアがありません。そのため、トークン生成では競争力があっても、長いプロンプトでは最初のレスポンスまでが目に見えて遅くなり、長いコンテキストを扱う際の使用感に大きく響きます。
もう一つの制約はエコシステムです:ほとんどのツール類がCUDAを対象としており、GGUFに比べて事前量子化済みのMLXモデルは少なく、ハイエンドNVIDIA GPUは帯域幅においてまだ数倍の差があります。インタラクティブなシングルユーザーのローカル用途ではApple Siliconは優秀ですが、長いコンテキストや高スループットのサービングではその差が顕在化します。
ツールと量子化
Macのツール環境は成熟しています:Ollama(CLI+OpenAI互換API、最も簡単な出発点)、LM Studio(最良のGUI)、MLX-LM(Python経由で最高のパフォーマンスとファインチューニング)、そしてプライバシー重視のオフラインアプリ。GGUFがツール横断の主流量子化フォーマット、MLXフォーマットはAppleネイティブで高速ですがライブラリは小さめです。
どこでも同じですが、[量子化](/articles/llm-quantization-explained-gguf)がこれを成立させます——4bitに落とすとモデルがおよそ4分の1になり(70Bが〜140GBから〜40GBへ)、品質劣化は小幅で済みます。Q4_K_Mが通常の最適解です。ユニファイドメモリに余裕があればQ5やQ8に上げましょう。
osFoundryにおけるApple Silicon
osFoundryはMetalとMLXのパスを通じてApple Silicon上でローカル推論を実行します。モデルはMacのGPU上でユニファイドメモリを使って完全に動作し、データはデバイス外に出ず、PCIeコピーのペナルティもありません。制約は単にユニファイドメモリの容量であるため、osFoundryはMacのメモリにあわせたモデル選択を支援します——16GBマシンなら7B〜8B、64GB以上なら70Bまで——そして品質をできる限り維持しながらモデルを利用可能なメモリに収める量子化を自動選択します。GGUFフォーマットやQ4/Q5/Q8のトレードオフを手動で考える必要はありません。結果は各Macのメモリティアにチューニングされたフルプライベートなオフライン対応ローカル推論であり、より速いプロンプト処理や高スループットが必要な場合は同じモデルを専用GPUエンドポイントにスケールアウトできます。(帯域幅の背景については、[CPU推論ガイド](/articles/running-llms-on-cpu)をご覧ください。)
Frequently asked questions
- Macは専用GPUなしでローカルに大規模言語モデルを動かせますか?
- はい——それがApple Siliconの強みです。ユニファイドメモリはCPUとGPUで共有されており高帯域幅なので、GPUがメモリプール全体を使えます。64GBのMacなら24GBのディスクリートGPUには入らない70Bモデルを4bitで動かせ、小さなモデルも高速です。別途GPUは不要です。
- 7B、30B、70Bモデルを動かすには何GBのユニファイドメモリが必要ですか?
- 4bit量子化で:7B〜8Bは約16GB、おおよそ30Bまでは32GB、70Bは64GB(重みは約40GBでコンテキストの余裕は少なめ)。128GBあれば大きなコンテキストを持ちながら高精度で70Bを動かせます。コンテキスト長で膨らむKVキャッシュ分のヘッドルームを常に確保してください。
- Apple SiliconではMLXはllama.cppより速いですか?
- 小さなモデルではしばしばそうです——MLXはユニファイドメモリ向けに設計されたAppleのフレームワークで、約14B未満では顕著に速く、mixture-of-expertsモデルでも優れています。約27B超では両者とも帯域幅律速になるため差が縮まります。llama.cppの利点はGGUFモデルライブラリの大きさとクロスプラットフォーム互換性です。小さなモデルとMoEモデルで最速を目指すにはMLXを使いましょう。
- 長いプロンプトでMacの応答開始が遅いのはなぜですか?
- プロンプト処理(最初のトークンまでの時間)がApple Siliconの弱点だからです。プリフィルは演算律速であり、AppleのGPUにはNVIDIAがここで使う専用テンソルコアがないため、最初のトークンが出るまでに時間がかかります——その後のトークン生成が速くても同様です。長いコンテキスト利用における主なApple固有の制限です。
- MacでLLMを動かすための最速ツールは何ですか?
- 最高パフォーマンスを求めるならMLX-LM(Appleのフレームワーク)、特に小さなモデルとMoEモデルに。手軽さを求めるならOllama(CLI+OpenAI互換API)またはLM Studio(最良のGUI)が人気で、現在はApple Silicon上でMLXバックエンドを使うものも多くなっています。最大の速度か最大の利便性かによって最適な選択は変わります。
- 64GBのMacBook Proで70Bモデルを動かせますか?
- はい、4bitなら可能です——Q4の70Bは約40GBで、64GBにランタイムと適度なコンテキストウィンドウを含めて収まります。Macでの70Bの実用的な最低ラインで、コンテキストの余裕は限られるため、大きなコンテキストや高精度が必要なら128GBが望ましいです。トークン生成速度はしっかりしていますが、長いプロンプトのtime-to-first-tokenは遅めです。
- ローカルLLMにはApple SiliconとNVIDIAのどちらが向いていますか?
- Apple Siliconはプライベートなシングルユーザーのローカル推論に優れています——大容量のユニファイドメモリにより、複数のディスクリートGPUが必要なモデルを1台のMacで低消費電力で動かせます。NVIDIAは生の帯域幅(数倍高い)、プロンプト処理速度、高並列サービング、エコシステム(CUDA)で勝ります。個人のローカル利用と1台での大きなモデル実行にはApple、スループットや長いコンテキストのサービングにはNVIDIAを選びましょう。
Sources