AI開発用PCとしてのAppleシリコン:M4 Maxは70Bモデルで実際に何をするのか

Dev.to / 2026/5/21

💬 オピニオンDeveloper Stack & InfrastructureSignals & Early TrendsTools & Practical UsageModels & Research

要点

  • この記事は、AppleシリコンがローカルのAI開発ワークステーションとして機能する主な理由は「ユニファイドメモリ」にあるとしており、ホストとGPU間の転送や複雑なオフロードの必要性を減らせる点を強調しています。
  • M4 Maxクラスの環境では、70Bパラメータのモデルでも4bit量子化で約40GB程度をユニファイドメモリに載せてローカル推論でき、専用の高額GPUを借りずに済むと主張しています。
  • 4Kから32KといったLLMのコンテキスト長の拡張についても、スワップや特殊な多デバイス設計ではなく、同じ共有メモリをより多く使う形になりやすいため比較的扱いやすいと述べています。
  • 一方のトレードオフとして、Appleシリコンのメモリ帯域は(おおむね400〜800GB/s)であり、ハイエンドNVIDIAのHBM3(3TB/s超)には劣るため、小型モデルで単一GPUに収まる用途ではNVIDIAが純粋なスループットで勝つ場面があると指摘しています。
  • さらに、量子化・フレームワーク(MLX vs llama.cpp)・プリフィルかデコードかでトークン/秒は変わるとして、Mシリーズとモデルサイズごとの目安ベースラインを示し、内部の挙動を観察するために「SiliconMon」を作った経緯を説明しています。

もともとは AstroLexis blog で公開されました。コミュニティ向けにこちらでも転載しています。

2026年にLLM用ワークステーションを探しているなら、いまだに頭の中のデフォルトのモデルは「NVIDIA GPU、たっぷりのVRAM、大きなタワー」だと思います。間違いではありませんが、唯一の正解でもなくなってきています。Apple Silicon — M3、M4、M5 — は、静かに市場で最も優れたローカルAI開発用ボックスの1つになっており、MLXのTwitter界隈以外ではほとんど誰も実際の数字の話をしていません。ここでは、M4 Maxが本当に何をするのか、どこでNVIDIAを圧倒するのか、どこでそうでもないのか、そして内部で何が起きているのかを見て確かめるために私が SiliconMon を作った理由を紹介します。

概念:ユニファイドメモリが計算を変える

Apple SiliconがAIワークロードで競争力を持つようにする、単一のアーキテクチャ上の判断が「ユニファイドメモリ」です。一般的なNVIDIAシステムでは、モデルの重みは専用のGPU VRAMに置かれ、システムRAMとは別です。両者はPCIeバスで接続されています。Apple Siliconでは、メモリプールが1つだけあります(たとえばM4 Maxの128GB)。CPU、GPU、Neural Engineは同じ物理ページを参照します。ホストとデバイス間のコピーはなく、転送時のPCIeボトルネックもなく、カード間でレイヤをやりくりする必要もありません。

LLM推論では、この点は人が最初に想像するよりも重要です:

  • 70Bパラメータのモデルを4-bit量子化(約40GB)でユニファイドプールに直接読み込み、GPUからアドレス可能にできます。エンタープライズ向けカードを借りる必要はありません。
  • コンテキストウィンドウの拡張は安価です。4Kから32Kのコンテキストトークンへの拡大で、スワップや特別なレイヤオフロードを要しません。同じプールをより多く使うだけです。
  • マルチモーダルのワークロード(ビジョン・エンコーダ+LLM+スピーチ)は、同一のアドレス空間で共存します。ClearCapsのオンデバイスキャプション生成パイプラインは、WhisperKit、LLM、Apple SpeakerKitを同じチップ上で動かし、デバイス間の調整なしに処理します。

代償はあります。Apple Siliconの総メモリ帯域幅は(チップの階層にもよりますが)およそ400〜800 GB/sで、トップクラスのNVIDIAカード(HBM3カードは3 TB/s超に到達します)よりは低いです。4090で気軽に収まるような小さなモデルに対する純粋な推論スループットでは、NVIDIAが依然として勝ちます。別々に言えば、20Bパラメータ程度より大きくなり、通常ならマルチGPUセットアップが必要になってくるような領域では、Appleのユニファイドプールが非常に魅力的に見えてきます。

LLM推論におけるMシリーズの実数

トークン/秒の数値は、量子化、フレームワーク(MLX vs llama.cpp)、そしてプリフィルかデコードかで大きく変わります。ここではMLX上で4-bit量子化した重みを使った、最も一般的な構成におけるデコード速度のラフな基準を示します:

チップ ユニファイドRAM 7Bモデル 13Bモデル 30Bモデル 70Bモデル
M2 Pro 32 GB ~45 tok/s ~22 tok/s ~8 tok/s 不可
M3 Max 64 GB ~75 tok/s ~38 tok/s ~16 tok/s ~5 tok/s
M4 Max 128 GB ~110 tok/s ~55 tok/s ~28 tok/s ~10 tok/s
M3 Ultra 192 GB ~130 tok/s ~70 tok/s ~36 tok/s ~14 tok/s

インタラクティブな利用では、15トークン/秒を超えると人間の読者には「瞬時」に感じられます。つまり、M3 Maxならインタラクティブなチャットで30Bモデルを十分に扱え、M4 Maxなら長い生成に我慢できるなら70Bモデルも扱えます。

インディー開発者にとって重要なのは次の数字です。ベースのM4搭載Mac miniで 1,400ドル、ユニファイドメモリ24GB構成なら、量子化した13Bモデルを50+トークン/秒で動かせます。ミッドレンジのノートPCの価格でAIワークステーションとして使える上に、騒音ゼロ、ラックスペース不要、アイドル時の消費電力は20Wです。

Apple Siliconが勝つところ

  1. 単一のコンシューマ向けNVIDIAカードに収まらないモデル。70Bモデルを4-bitで扱うには約40GB必要です。最大のコンシューマ向けNVIDIAカード(5090)は32GBです。複数カードに分割することはできますが、カード間通信がボトルネックになります。128GBのM4 Maxならモデル全体を飲み込み、32Kコンテキストの余裕まであります。
  2. 電力効率。持続的な推論負荷下のM4 Maxは30〜50Wです。対応するNVIDIAワークステーションは600〜900Wを消費しがちです。電気代を払っている場合(24/7でセルフホスト推論を動かしている人は誰でも)OpExの差は非常に大きくなります。
  3. 音響プロファイル。Mac Studioは無音です。Mac miniも無音です。RTXカード2枚のワークステーションは草刈機です。在宅で作業する人にとってこれは譲れません。
  4. 最初から使える体験。macOS+MLX+Homebrew+Ollamaは20分でインストールでき、あとはそのまま動きます。CUDA-on-Linuxは、依然として継続的に痛みの原因になりがちです。
  5. マルチモーダルのワークフロー。ユニファイドメモリのおかげで、PCIe上で中間バッファを一度も生成することなく、スピーチtoテキスト、LLM、TTSをパイプライン化できます。

Apple Siliconが負けるところ

  1. 学習と微調整。Macは推論にはとても向いていますが、学習スタック(MPS上のPyTorch、MLXの学習API)は、CUDAに比べてまだ実質的に遅れています。小さなモデルに対するLoRAの範囲を超えるようなことは、NVIDIAの方が速いです。
  2. 規模を出したときの、1ドルあたりのスループット。数百の同時リクエストで本番のサービングを回しているなら、L40Sカードのラックの方が、Mac Studio群よりも生のコスト/トークンで勝ちます。開発ではAppleが勝ちますが、一定量以上の本番サービングではNVIDIAが勝ちます。
  3. 非常に新しい研究向けのソフトウェアエコシステム。最先端の研究コードは最初にCUDA向けとして降りてきます。Mac向けの移植は数週間〜数か月後で、機能が縮小されていることもあります。
  4. ツールの可視性。NVIDIAは nvidia-sminvtop、NVIDIA Nsight、初日から使えるプロファイリングツールを提供します。macOSはActivity Monitorと、消費電力がどこに向かっているのかをぼんやりと感じさせる程度です。この最後のギャップが、私がSiliconMonを書こうと思った理由です。

見えないもの(そしてSiliconMonを作った理由)

MacでOllama、llama.cpp、MLX、LM Studio、ComfyUI、vLLMを起動すると、OSは役に立つ情報をほとんど何も表示してくれません。Activity MonitorはプロセスごとのCPU%は報告しますが、GPUとNeural Engineの常駐状況は見えません。メモリプレッシャーは単一の色付きバーとしてしか表示されません。消費電力は powermetrics の裏側に隠れており、sudoが必要で、読めない大量のテキストとして出力されます。

私は1年以上、複数のローカルLLMスタックを動かしていましたが、単純な質問に答える方法がありませんでした:

  • OllamaとComfyUIを同時に実行しているとき、それらはGPUを共有しているのか、それとも取り合って争っているのか?
  • 私の70Bモデルは本当にNeural Engineを使っているのか、それともGPU上だけで完結しているのか?
  • 推論中とアイドル時でのパッケージ消費電力はどれくらい? 長い生成でサーマルスロットリングが起きていないか?
  • システムがもっさり感じるのはなぜ? ユニファイドメモリのスワップが起きているのか、それとも別の何かが起きているのか?

既存のツールは、それぞれが断片的な情報しかくれませんでした。asitopはIOReportの統計を表示しますが、コマンドライン専用で、定期的なメンテナンスが止まっていました。macmonmactop も同様です。統計やiStat Menusは汎用的で、MLXプロセスが何かを知りません。どれも「このPythonプロセスは実際にはvLLM経由でLlama 4を提供している」とか「これはOllamaがQwen3の量子化を読み込んでいる」といった検出はできません。

そこで私は SiliconMon を作りました。これは他のものにはない3つのことを行います:

  1. AIワークロード検出。 SiliconMonは、MLX、Ollama、llama.cpp、LM Studio、ComfyUI、vLLM、そしてHugging Faceのtransformersスタックの標準的な名称とコマンドラインのパターンを認識します。メニューバーに「Inference 47% • Ollama: qwen3-32b」と表示されるのは、検出器がプロセス名、コマンドライン引数、読み込まれたライブラリ一式を照合したためです。
  2. IOReportに基づく常駐(residency)。 AppleのIOReportプライベート・フレームワークから得られる、実際のCPU/GPU/ANEの常駐数値です。同じソースがApple内部でも使われています。1秒ごとにサンプリングされ、sudoは不要で、アイドル時のCPUフットプリントは1%未満です。
  3. チップ世代をまたいだエネルギー単位の正確さ。 M5 Maxは、同じレスポンス内に混在したエネルギー単位(ミリジュール、ナノジュール、マイクロジュール)を持つIOReportチャンネルを搭載して出荷されます。電力の数値で換算を間違えると、30倍の誤差になります。SiliconMonはチャンネルごとの単位を明示的に扱い、対応しているすべてのMシリーズのチップについて回帰テストを行っています。

ローカルAI用にMacを買うことをどう考えるか

友人から「何を買えばいい?」と聞かれたときに、私が実際に勧める内容をベースにしたざっくりした購入ガイドです。

趣味/好奇心:M4 Mac mini、24GBユニファイド、$1,400。7Bと13Bのモデルをスムーズに動かせます。30B+は快適には扱えません。プロではない人向けで、現在市場で最もコスパの良いLLMマシンです。

毎日ローカルLLMを動かす開発者:M3 MaxのMacBook Pro 14"/16"、ユニファイド64GB、$3,200〜$3,600。対話的な用途で30Bモデルを扱えます。70Bも、気長に待てば問題ありません。

真剣な個人事業/小規模チームのセルフホスト型AI:ユニファイド192GBのM3 Ultra Mac Studio、$5,500〜$7,500。70Bを快適に動かし、120B+のモデルも量子化した形で扱えます。無音で、机の下に置けて、電子レンジより消費電力が少ない。Kulvex AIのようなセルフホスト型AIアシスタントにとっての最適域です。

本番/学習:NVIDIAを使いましょう。Macは、大規模な提供や大規模モデルの学習には適切な道具ではありません。

ソフトウェアスタック:初日から入れるもの

# Homebrew(持っていない場合)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

# Ollama — 一番簡単な入口
brew install ollama
ollama serve &
ollama run qwen3:13b

# MLX — Python側でLLMを扱うために
pip install mlx mlx-lm
python -m mlx_lm.generate --model mlx-community/Llama-4-7B-Instruct-4bit \
    --prompt "Hello, world"

# llama.cpp
brew install llama.cpp
llama-server -hf mlx-community/Qwen3-32B-Instruct-GGUF

# LM Studio — GUIの代替
# https://lmstudio.ai からダウンロード

# SiliconMon — 実際に何が起きているかを見る
open https://astrolexis.space/siliconmon

正直なところ

すでにCUDAに投資していて、Linuxのワークステーションを組んでいて、大規模に推論を提供する体制を作っているなら、Apple Siliconはたぶん向いていません。そこはそれで問題ありません。NVIDIAは本番環境のインフラ面で優位性があり、それがすぐに埋まることもないでしょう。

あなたがインディー開発者で、ローカルで試行錯誤する必要がある研究者で、クラウドにコードを出せないセキュリティ重視のチーム、あるいは静かで省電力、セットアップも簡単なAIワークステーションを重視する人なら——Apple Siliconは、その評判よりもはるかに優れています。M4世代は転換点です。今年後半に登場するM5 Maxが、そのリードをさらに広げます。

買うべきはコアではなくユニファイドメモリです。安い構成と次のグレードで迷っているなら、常により多くのRAMを選んでください。モデルは大きくなり、コンテキストウィンドウも広がっていきます。購入後にMacのメモリを増やすことはできません。

— Bruno Galtranch, founder, AstroLexis LLC。AI向けのApple Siliconについての質問:hello@astrolexis.space