MacでLLMがサクサク動くのはなぜ? 共有メモリ(Unified Memory)の圧倒的アドバンテージ

個人PCのローカル環境でAIを動かす「ローカルLLM」が盛り上がっている。インターネット接続なしでプライバシーを完全に守りながら、カスタマイズしたAIモデルと会話できるのが最大の魅力だ。
このローカルLLMの動作環境として、今やエンジニアやAI愛好家の間で「最強の選択肢」の一つとされているのが、Apple Silicon(M1/M2/M3/M4ファミリー)を搭載したMacである。
なぜ、Windows向けの巨大なゲーミングGPUではなく、一見スリムなMacがこれほど重宝されるのか。その秘密は、Apple Siliconが採用している「ユニファイドメモリ」のアーキテクチャにある。
ローカルLLMにおける最大のボトルネック:VRAM容量
AIモデルをローカルで動かす場合、処理速度(トークン/秒)を決定づける最大の壁は、CPUやGPUの計算速度(FLOPS)ではなく、**「メモリ帯域幅(Bandwidth)」と「メモリ容量」**だ。
数十億〜数百億パラメータを持つ巨大なLLMの重みデータを処理する際、GPUは毎秒数百ギガバイトから数テラバイトという莫大なデータをメモリから読み出す必要がある。
一般的なWindows PCの場合、グラフィックカード(NVIDIA GeForceなど)に搭載されている専用の高速ビデオメモリ「VRAM」にモデルをすべて載せる必要がある。
- もしVRAMにモデルが収まりきらない場合、低速なメインメモリ(DDR)やSSDにデータを逃がすことになり、処理速度は1/10以下に激減(実用不可能なレベル)する。
- コンシューマー向け最強のNVIDIA GeForce RTX 4090でも、VRAMは「24GB」が上限だ。これ以上のモデル(例:70Bパラメータモデルなど)を動かすには、数十万円のグラフィックボードを複数枚挿すか、高価なプロ向けGPUを導入するしかない。
MacのUnified Memoryが持つ2つの強み
ここで、Apple Siliconを搭載したMacの強みが牙をむく。
1. メインメモリすべてを「VRAM」として共有できる
Unified Memoryアーキテクチャでは、CPUとGPUが物理的に同じ半導体パッケージ上で、単一のメモリ領域を共有している。 これにより、Macに搭載されているメインメモリ(例えば 64GB や 128GB)の大部分を、そのままGPUがアクセス可能な「VRAM」として使用できる。
- Mac StudioやMac Proなどのハイエンドモデルであれば、最大「192GB」もの超巨大なユニファイドメモリを構成可能だ。
- これにより、Windows環境では数百万〜数百万円のシステムでなければ物理的にロードすらできなかった超巨大なLLM(Command R+やLlama 3 70Bなど)を、1台のMac上で破格のコストで実行できるようになる。
2. コピーの手間(レイテンシ)がゼロ
従来のPCでは、CPUがメインメモリ(RAM)上で処理したデータを、PCIeバスを通じてGPUの専用メモリ(VRAM)へ「物理的にコピー」する必要があった。これがボトルネックとなり遅延を生む。 対してMacのUnified Memoryは同一メモリ空間を指しているため、アドレスを渡すだけでデータ転送(コピー)が完了する。このデータ転送コストの低さは、メモリホッピングが多発する大規模なAI推論において、無類の強みを発揮する。
デメリットと賢い選び方
もちろん、Macがすべてにおいて万能なわけではない。
- 生の計算パワー(FLOPS)はNVIDIAが圧倒的: 純粋な演算性能では、Tensorコアを搭載したNVIDIA GPUの方がはるかに高速だ。モデルがVRAMに完全に収まるサイズ(例:8Bパラメータ以下の軽量モデルなど)であれば、RTX 4090を搭載したWindows PCの方が圧倒的に速くトークンを出力できる。
- メモリ帯域幅のグレード差: Apple Siliconのメモリ帯域幅はモデルによって大きく異なる。ベースモデル(無印)は比較的狭いが、MaxやUltraグレードになると毎秒数百GBから800GB/sに達し、これがローカルLLMを動かす上での真のパワーとなる。
したがって、ローカルLLM用にMacを選ぶ際は、最低でも「Pro」または「Max/Ultra」チップを搭載し、メモリ容量は予算が許す限り最大のもの(最低36GB、推奨64GB以上)を選ぶのが定石だ。
お役立ち情報
- Apple (日本) - Apple Silicon について
- Apple Siliconおよびユニファイドメモリの技術的な構成に関する公式の製品サポートページ。
- GitHub - ggerganov/llama.cpp
- MacのMetal API(Apple Silicon GPU)向けに高度に最適化され、MacでのローカルLLMブームを巻き起こしたオープンソースの推論エンジン。
- Qiita - M3 Max / M2 Ultraで大規模ローカルLLMを動かす検証
- 実際にハイエンドMacを用いて、Llama 3 70Bなどの大規模なオープンLLMを動作させた際のパフォーマンス比較(日本語技術記事)。