1. CPU 性能の基本的な三要素:クロック周波数、IPC、コア数

M5 と M4 の性能差を理解するには、まず CPU 性能が何によって構成されるかを理解する必要があります。古典的な式は次のとおりです。

性能 ≈ クロック周波数 × IPC × コア数

この三つの要素が、CPU が実行できる仕事量をともに決めます。一つずつ見ていきます。

1.1 クロック周波数(Clock Speed / Clock Frequency)

クロック周波数の単位は GHz(ギガヘルツ)で、本質的には CPU 内部のクロックが一秒間に何回刻まれるかを表します。M4 の周波数は 4.46 GHz、つまり毎秒 44.6 億回です。M5 は 4.61 GHz で、毎秒 46.1 億回です。

工場のベルトコンベアの速度にたとえられます。ベルトが速く回るほど、単位時間に通過する部品は増えます。ただし重要なのは、ベルトの速度がそのまま工場の生産量になるわけではない ことです。ベルトが一周するたびに、作業者がいくつの工程を完了できるかも考える必要があります。そこで IPC が関係します。

1.2 IPC(Instructions per Cycle、1 サイクル当たりの命令数)

IPC は、CPU が一クロックサイクルで実行できる命令数を測ります。チップの マイクロアーキテクチャ設計 の水準を直接表す指標です。

再び工場にたとえると、クロック周波数がベルトの速度であり、IPC はベルトが一周する間に作業者が同時に完了できる工程数です。生産ラインを改善し、たとえば一度に一本のねじしか締められなかった作業者へ、二本を同時に締められる工具を与えれば、ベルトの速度が同じでも生産量は二倍になります。

M5 は M4 に比べて IPC が約 10% 向上しています。同じクロック周波数でも、一サイクル当たり約 10% 多くの仕事を完了できるということです。周波数も 4.46 GHz から 4.61 GHz へ約 3.4% 上昇しているため、総合するとシングルコア性能は約 15% 向上します。

あるブロガーが述べた「使用感へ最も直接影響するのはクロック周波数だ」という主張は、Intel と AMD が主に高クロック化で性能を高めていた 1990 年代から 2000 年代初頭なら正しかったかもしれません。しかし 2005 年ごろから、消費電力と冷却の物理的な限界、いわゆる「周波数の壁」により、チップメーカーの主な改善方向は IPC の向上とマルチコア化へ移っています。

1.3 マルチコアスケーリング

シングルコアの周波数を大幅に上げることが難しいため、現代の CPU は一つのチップに複数のコアを搭載し、並列に動作させます。ただし、マルチコア性能は単純な「コア数 × シングルコア性能」ではありません。複数のコアがデータを共有し、タスクを調整する際に通信オーバーヘッドが発生するからです。

M5 のマルチコア性能は M4 より約 25% 高く、シングルコアの 15% という向上幅を明確に上回ります。これは Apple が各コアの能力だけでなく、主にキャッシュとバス設計の改善を通じて、コア間のデータ共有機構も最適化したことを示します。


2. キャッシュ階層:L2 Cache が重要な理由

2.1 L2 Cache

キャッシュの価値を理解するには、CPU の計算速度はメモリの読み出し速度よりはるかに速い という根本的な不均衡から考える必要があります。

CPU を一秒に 100 回包丁を動かせる非常に優秀な料理人にたとえます。一方、食材であるデータは、厨房から遠い倉庫、つまりメインメモリの DRAM から運ばれ、配送のたびに数秒かかります。一回切るたびに食材の到着を待つなら、料理人は時間の 90% を待機に費やします。

キャッシュは、厨房の隣に置く小さな冷蔵庫や、調理台のまな板のようなものです。容量は小さいものの料理人に非常に近く、ほとんど待たずに取り出せます。

現代の CPU には通常、三段階のキャッシュがあります。

L1 Cache は最も高速で CPU コアのすぐ近くにあり、容量は最小です。通常は数十 KB で、レイテンシーは約 1~2 クロックサイクルです。料理人の手元のまな板に、最もよく使う食材を置くようなものです。

L2 Cache は L1 より大きく、少し遅いキャッシュです。通常は数百 KB から数 MB で、レイテンシーは約 10~20 サイクルです。厨房の隣の小さな冷蔵庫に相当します。M4 の L2 Cache は合計 20 MB ですが、M5 では 28 MB に増えています。この 40% の容量増加により、より多くのデータを近くへ保持でき、メインメモリという「倉庫」まで取りに行く回数を減らせます。

L3 Cache は Last Level Cache とも呼ばれ、より大きく遅いキャッシュで、すべてのコアが共有します。通常は数十 MB です。

AI 推論では、モデルの重み行列が非常に大きくなります。キャッシュが大きいほど、より多くのモデルパラメータを近くへ一時保持でき、メインメモリから繰り返し読み出す回数を減らして計算を高速化できます。分析記事が M5 のキャッシュ改善を「Apple の秘密兵器」と表現したのはこのためです。

2.2 フロントエンド帯域幅

CPU の処理は、大きく二つの段階に分けられます。Front-end はメモリやキャッシュから命令を取得してデコードし、Back-end はそれらの命令を実際に実行します。

Front-end をレストランの注文係、Back-end を料理人にたとえられます。注文係が一分に 10 件しか注文を受けられなければ、厨房が同時に 20 品を作れても、注文受付がボトルネックになります。

「より広い Front-end 帯域幅」とは、CPU が一クロックサイクルでより多くの命令を取得・デコードし、Back-end の実行ユニットへ十分に供給できることを意味します。M5 は Front-end を拡張し、Back-end の複数の実行パイプラインをより高い稼働率に保てるようにしました。これも IPC 向上の重要な要因です。


3. メモリシステム:ユニファイドメモリアーキテクチャとメモリ帯域幅

3.1 ユニファイドメモリアーキテクチャ(UMA)

従来の PC アーキテクチャでは、CPU と GPU がそれぞれ別のメモリを持ちます。CPU は DDR メモリを使い、GPU は専用の VRAM を使います。GPU が CPU の用意したデータを処理する際には、システムメモリから VRAM へデータをコピーする必要があり、その処理にレイテンシーと帯域幅の制約が生じます。

Apple Silicon の特徴は、CPU、GPU、Neural Engine が一つのメモリプールを共有することです。データは一か所に置かれ、必要なプロセッサがコピーせずに直接読み出します。

Transformer の推論では、モデルの重みへ GPU が行列乗算のためにアクセスし、場合によっては Neural Engine も特定の高速化処理のためにアクセスします。ユニファイドメモリアーキテクチャでは、重みをメモリに一つだけ保持すれば、CPU、GPU、Neural Engine が直接アクセスでき、データ転送のオーバーヘッドを省けます。

Apple デバイスの 16 GB が Windows ノート PC の 24~32 GB に近い使用感を得られる可能性があるのも、このためです。従来のアーキテクチャでは、たとえば 16 GB のシステムメモリと 8 GB の VRAM のように、システムメモリとビデオメモリを別々に割り当てます。Apple の 16 GB は CPU と GPU が共有するため、より高い利用効率を得られます。

3.2 メモリ帯域幅

メモリ帯域幅は、一秒間にメモリから読み書きできるデータ量を GB/s で表します。M4 は 120 GB/s、M5 は 153.6 GB/s です。

LLM 推論は、入力 prompt 全体を処理する Prefill と、token を一つずつ生成する Decode の二段階に分かれます。Decode 段階の主なボトルネックは メモリ帯域幅 です。token を一つ生成するたびに、モデルの重み全体をメモリから読み出す必要があるからです。

具体例として、7B パラメータのモデルを 4-bit 量子化で保存すると、約 3.5 GB を占めるとします。token を一つ生成するたびに、理論上、この 3.5 GB の重みを読み出す必要があります。120 GB/s では一回の読み出しに約 29 ms、153.6 GB/s では約 23 ms です。この差が、ローカル LLM が一秒間に生成できる token 数を直接決めます。

3.3 LPDDR5X

LPDDR5X は具体的なメモリ規格です。LPDDR は Low Power Double Data Rate の略で、スマートフォンやノート PC で一般的な省電力メモリ規格です。5X は第五世代の強化版です。

M5 は LPDDR5X-9600 を使います。9600 は毎秒 9,600 MT/s、つまり一秒当たり 9,600 メガ転送を意味します。帯域幅は「転送速度 × 総バス幅 ÷ 8」で計算します。M5 の 153.6 GB/s は、この規格とバス幅から求められます。式を覚える必要はなく、数値が大きいほどデータを高速に移動できると理解すれば十分です。


4. GPU と AI アクセラレーション:Neural Accelerator と Tensor Core

この部分は AI アプリケーションエンジニアリングの学習と直接関係します。

4.1 行列演算

Transformer の Self-Attention における中核演算は、Q × K^T で Attention スコアを求め、さらに V を掛けて出力を得る処理です。本質的にはすべて行列乗算です。Transformer 全体も、Attention 層と FFN 層のどちらも、最終的には大量の行列乗算と活性化関数から構成されます。

GPU が CPU よりこの処理に適しているのは、行列乗算を高度に並列化できるからです。行列には数千、数万の要素があり、各要素を独立して計算できます。GPU には数百から数千の小さなコアがあり、多数の要素を同時に処理します。これが AI 処理で GPU が CPU を大きく上回る根本的な理由です。

4.2 Tensor Core / Neural Accelerator

標準的な GPU コア、つまり shader core は汎用的で、グラフィックス描画を含むあらゆる浮動小数点演算を実行できます。しかし AI モデルで最も一般的な行列乗算、すなわちテンソル演算には、標準 GPU コアが最も効率的とは限りません。

NVIDIA は行列乗算専用の Tensor Core をいち早く GPU へ追加しました。一つの Tensor Core は、一クロックサイクルで 4 × 4 などの小さな行列乗算を完了できますが、通常の GPU コアは同じ処理に複数サイクルを必要とします。

Apple は M5 で同様の仕組みを導入し、Neural Accelerator と呼んでいます。M5 の各 GPU コアには、行列乗算を高速化する Neural Accelerator が組み込まれています。

通常の GPU コアが何でもこなせる一方で各作業の効率は平均的な万能作業者だとすれば、Neural Accelerator は一種類の仕事だけを非常に効率よく行う行列演算の専門家です。各 GPU コアに組み込むことは、万能作業者一人ずつへ専門家の助手を付けることに相当します。

M5 の AI GPU 演算性能が M4 の四倍以上になるのは、GPU コア数や周波数が四倍になったからではありません。各コアの内部に行列演算専用ハードウェアが追加されたからです。

4.3 LLM 推論

機械学習には Training と Inference の二段階があります。Training はモデルを学習させ、Inference は学習済みモデルを動作させます。MacBook 上で LLM をローカル実行して対話する処理が推論です。

推論も、前述した二段階に分かれます。

Prefill 段階:入力した prompt 全体をモデルが一度に処理します。これは compute-bound で、GPU の演算能力がボトルネックになります。大量の行列乗算を行うため、Neural Accelerator が大きな効果を発揮します。

Decode 段階:出力 token を一つずつ生成します。各 token の生成時にモデルの全重みを読み出すため、これは memory-bandwidth-bound であり、メモリ帯域幅がボトルネックになります。したがって M5 の 153.6 GB/s は、この段階へ直接効果を与えます。

4.4 Diffusion モデル

Diffusion モデルは、Stable Diffusion や DALL-E の基盤アーキテクチャなど、主に画像生成に使われる別種の AI モデルです。

簡単に説明すると、通常の画像へノイズを加え続けて純粋なノイズにし、ニューラルネットワークへノイズ除去、つまりノイズから鮮明な画像を段階的に復元する方法を学習させます。画像生成時はランダムノイズから始め、少しずつノイズを除去して最終的な画像を作ります。

Diffusion の推論では数十回のノイズ除去を行い、各段階で大量の行列演算が発生します。そのため GPU 性能、とりわけ Neural Accelerator の高速化能力が生成速度へ大きく影響します。

4.5 GPU 量子化スコア

これは Geekbench AI ベンチマークの指標です。ここでの Quantization は、AI モデルの重みを FP32 などの高精度浮動小数点から、INT8 や INT4 などの低精度形式へ圧縮することを指します。

量子化モデルは小さく高速になりますが、理論上は多少の精度低下があり得ます。実際のローカル LLM 推論では、ほぼすべての人が量子化モデルを使います。たとえば Mac 上で llama.cpp を使うモデルは、通常 Q4 または Q5 で量子化されています。そのため、全精度スコアより量子化スコアの方が実際の使用感をよく反映します。

M5 の GPU 量子化スコアは約 23,628、M4 は約 11,616 です。このほぼ二倍の差は、量子化 LLM をローカル実行するときの速度差に直接対応します。


5. チップの製造とパッケージング

5.1 3 nm プロセス

プロセスノードは、チップ上のトランジスタの最小寸法を指します。3 nm は、トランジスタの主要寸法が約 3 ナノメートルであることを意味します。1 ナノメートルは 10 億分の 1 メートルです。プロセスが小さいほど、同じ面積のシリコンへ多くのトランジスタを配置でき、チップを高性能化、省電力化、またはその両方を実現できます。

実際には、現代の「3 nm」は厳密な物理寸法というより商業的な名称です。ただし、より先進的なプロセスほどトランジスタ密度が高く、電力当たりの性能が向上するという基本原理は変わりません。

M4 と M5 はどちらも TSMC の 3 nm プロセスを使いますが、M5 は第三世代の 3 nm、N3P または同等の改良版を採用しています。同じ「3 nm」という名称の中でも最適化され、より高い周波数またはより低いリーク電流を実現できます。

5.2 Fusion Architecture:デュアル Die パッケージ

Fusion Architecture は M5 Pro と M5 Max で導入された新設計で、現代のチップ設計動向を理解するうえでも重要です。

Die は、実体のある一枚のシリコンチップです。従来、一つの SoC(System on Chip)は一つの Die で構成され、CPU、GPU、メモリコントローラーなどを同じシリコンへ統合していました。

しかし、チップが大きくなるほど、一つの Die は歩留まりの問題に直面します。シリコン上に一か所でも欠陥があれば、チップ全体が不良になります。Die が大きいほど欠陥に当たる確率が高まり、歩留まりが下がってコストが上がります。

Fusion Architecture では、チップを二つの小さな Die に分けます。別々に製造することで歩留まりを高め、先進的なパッケージング技術で接合します。高帯域幅・低レイテンシーの相互接続により、一つのチップのように動作させます。Intel は関連技術を Foveros、AMD は 3D V-Cache や chiplet 設計、Apple は Fusion Architecture と呼んでいます。

本質的な考え方は同じです。複数の小さなチップを組み合わせて大きなチップ相当の性能を得ながら、歩留まりとコストを制御可能にする ことです。M5 Pro と M5 Max は二つの 3 nm Die を組み合わせ、18 個の CPU コアと最大 40 個の GPU コアを搭載できます。


6. 接続性に関する用語

6.1 Wi-Fi 7 と Bluetooth 6

Wi-Fi 7(802.11be)は最新世代の Wi-Fi 規格で、理論上の最高速度は 40 Gbps を超え、320 MHz のチャネル幅と Multi-Link Operation(MLO)をサポートします。実際上の利点は、集合住宅の混雑した無線環境で、Wi-Fi 7 の低レイテンシーと耐干渉性が Wi-Fi 6E より明確に優れることです。

Bluetooth 6 は通信範囲、速度、電力効率を改善し、AirPods などの接続安定性向上に役立ちます。

これらは Apple の新しい N1 無線チップによって実現されます。Apple が無線接続を独立したチップで処理するのは初めてであり、その機能をメイン SoC から分離して、より良い高周波性能を得ます。


7. 概念をつなぐ:一回の LLM 推論でハードウェア上に何が起こるか

すべての概念を一つにつなぐ具体例を考えます。M5 MacBook 上で MLX フレームワークを使い、7B パラメータの量子化 LLM をローカル実行して prompt を入力したとします。

第 1 段階:tokenizer が prompt を token に分割します。この処理は CPU が担当し、より高い IPC とクロック周波数を使って迅速に完了します。

第 2 段階(Prefill):prompt 全体の token embedding がモデルの全レイヤーを通過します。各レイヤーの Attention と FFN は、本質的に大量の行列乗算です。GPU が処理を引き継ぎ、10 個の GPU コアが並列動作し、各コア内の Neural Accelerator が行列乗算を専用に高速化します。モデルの重みは、153.6 GB/s の帯域幅を持つ LPDDR5X ユニファイドメモリから GPU コア近くのキャッシュへ読み込まれます。ユニファイドメモリアーキテクチャのため、CPU から GPU へのデータコピーは不要です。

第 3 段階(Decode):モデルが応答を token 単位で生成し始めます。token を一つ生成するたびに、モデルの重みを再び読み出す必要があります。KV Cache を使えば過去の token の K/V を再計算せずに済みますが、重み自体は毎回読み出します。この段階のボトルネックはメモリ帯域幅であり、153.6 GB/s が一秒間に生成できる token 数を決めます。より大きな 28 MB の L2 Cache も、頻繁に使う重みブロックを保持し、メインメモリへのアクセスを減らすことで効果を発揮します。

第 4 段階:CPU が生成済み token を受け取り、文字列へデコードして画面へ表示します。

この全過程で、CPU の IPC とクロック周波数は第 1・第 4 段階へ影響し、GPU の Neural Accelerator は第 2 段階の速度を決め、メモリ帯域幅とキャッシュは第 3 段階を左右します。したがって、「クロック周波数だけを見る」「GPU の向上は役に立たない」という判断は、非常に一面的です。