Nishiki-Hub

国内外のPC/PCパーツ/スマホ/Appleなどの最新情報を取り上げています

「Apple M4」の詳細な仕様と考察

本日の内容

先日AppleからiPad Proとともに搭載されるApple M4が登場しましたが、今回はその具体的な仕様を見ていくことにしましょう。

概要

ではまず、概要から見ていきましょう。

Apple M4は第2世代の3nmを使用して製造されています。これは、恐らくTSMC N3Eを指しています。N3Eの製造容量はまだピークに到達しておらず、恐らくM4がiPadから登場したのは供給量に成約があるためと見られます。といっても今年中には拡充されるはずなので、今後、M4を搭載するMacが登場したとしても供給に問題はないでしょう。

N3は歩留まりの問題も抱えており、Appleとしては早急にM4に移行したかったという意見もあります*1。正直、M3をN3からN3Eにシュリンクできなかったのかなんて思ったりもしますが、M4に移行するほうが早かったんでしょうね。

トランジスタ数は280億基で、M3の250基から12%増加しました。

CPU

CPUについては、4コアの高性能コアと6コアの高効率コアで構成されています。このグレードのApple Siliconが2018年のApple A12X以来5年半ぶりにコア構成に変更が入りました。

Appleは、CPUのアーキテクチャを刷新した旨の発表を行っていますが、実際のところ不明です。ただし、分岐予測の進化、命令デコーダの更新などを謳っているところを見ると、性能を別にしてアーキテクチャには大小問わずなんらかのアップデートが施された可能性が高いです。

クロックあたりの性能はどうやらA17 Proをも上回るような性能となっており、次世代のA18 Pro(仮称)のアーキテクチャを先行して採用している可能性が高いです。といっても、CPUの性能向上から見るに、A14やM1のような大規模アップデートではないことはよくわかります。

CPUクロックは4.4 GHzとApple Silicon史上最高となりました。そもそもApple Silicon自体がRISC系のアーキテクチャであるということを加味したとしてもクロックあたりの性能が非常に高かったため、クロックが低くてもIntelやAMDに張り合っていた印象がありますが、そろそろ追いつきそうですね。ただ、微細化や効率化によってバランスを保っているというのが現状の正解のように感じます。

また、CPUにはコアごとに次世代のML Acceleratorが搭載されているとしています。Core MLはNeural Engineの実質的なAPIとして動作していますが、CPUとNeural Engineが強調して動くインターフェイスも用意されており、機械学習時にはこのML Acceleratorも動作するはずです。ただ、AppleはIntel・AMD・Qualcommが公表しているパッケージ全体でのAI性能を公表していませんので、どのような演算性能があるかは不明です。

さらにCPU面での大幅なアップデートとして、Armv9-ISAに対応した可能性が指摘されてます。Armv9ではSMEなどの命令が追加されています。このことから、ML AcceleratorはArmv9に対応するにあたって必要になったSME実行用のアクセラレータとなっていると見られます。

効率コアが6コアになったことによって、CPUが10コアとなりML Acceleratorのコア数も増えています。このことからAI性能も純粋に向上していることが期待できそうです。

ベンチマーク結果を見ても、全体的に実際のワークロードでの性能が大幅に向上しているようで、これは恐らくArmv9の命令に対応したため、複雑な処理を高速化できたというのが大きいのでしょう。恐らく、Appleが高性能コアを「より幅広い命令」と、高効率コアを「より深い命令」であるとしたのはこのことに由来しているのでしょうね。

GPU

Appleは珍しくGPUがM3のGPUアーキテクチャに基づいていることを明らかにしています。ただし、CPU同様クロックが向上していることが予想されるため若干の性能向上は期待できるでしょう。

M3のGPUは、M2のGPUから大きく進化しています。まず、ハードウェアレイトレーシングとハードウェアメッシュシェーディングに対応しました。これによってMetal 3の全機能にハードウェアが対応しました。近年のAppleのグラフィックスはWindows市場での技術を意識しており、Metal 3自体がかなりDirectX 12 Ultimateに似たような機能を持ち合わせています。

これらはiPhone 15 ProのA17 Proで初めて実装され、MacにはM3で搭載されましたが、M4でiPadにも上陸した形になりました。

メモリ

GPUの部分で取り上げるべきかもしれませんが、メモリでは、動的に使われていないメモリを開放し、使用する分のメモリを確保する「Dynamic Caching」も対応しています。これはApple M3で対応し、iOS系デバイスで初めての対応となりました。Dynamic CachingがiPadにだけ採用された理由は単純にメモリ容量が8GBあるいは16GBと比較的大きいからであるとみられます。

そして、メモリ帯域幅。メモリ帯域幅が120 GB/sとなっています。恐らくLPDDR5のままなのでしょうが、メモリのクロックが7500 MT/sのLPDDR5-7500となった可能性が高いです。

メモリ容量は現時点で8GBと16GBのみですが、恐らく今後24GBの構成あるいは32GBの構成も出てくることになるでしょう。ただ、M4のパッケージ写真が全く出てきていないので、メモリを何スタック搭載しているかわかりません。もし2スタック構成であれば24GB構成はないかもしれません。32GB構成が追加されればいいなぁ。

Neural Engine

Neural Engineについては38 TOPSであることがわかりました。興味深いのは、AppleがNeural Engineを初めてNPUと表現したことです。

38 TOPSの性能はどれくらいかというと、実際、現在発売されているNPUの中では最も性能がいいです。

各社のNPUの性能の比較(現在手に入れられるCPU付属のもの)

現在手に入るNPUのなかで最も性能が良かったのはRyzen AIの16 TOPSですが、それを大幅に向上させたことになりますね。

今後登場する製品に搭載されるNPUの性能

といっても、今年の夏には「Snapdragon X Elite」には45 TOPSのNPUが搭載されますし、今年後半に登場するIntel のLunar Lakeにも45 TOPS、Ryzenも最低48 TOPSのRyzen AIを搭載した製品の投入を予告しており、実は38 TOPSは決して高いとは言えないのが辛いところです。

ただ、論点はNPU+CPU+GPUの性能です。今回、Appleは次世代MLアクセラレータ(恐らくSME)を搭載していると明らかにしました。そしてCoreMLにはCPUとNeural Engineが強調して動くフレームも用意されています。GPUがどうなのかはわかりませんが、それでも38 TOPSのNPUは十分戦える性能ではあります。Appleはパッケージ全体でのAI性能を明かさないので正直、どうなるかは実機性能次第ですが、時代に追いついてきているなぁとは感じます。

ただ、AppleにはAppleの強みがあります。UMAを採用することで、メインメモリのほぼ全てを実質的にvRAMとして扱えるということから、vRAMを大量に必要とする大規模なAIモデルを動作させられるという理由で、AIの研究(特に推論)でよく用いられるそうです。

考察

M3が登場してから半年程度で世代が変わったのも驚きですが、それよりもM3がマイナーチェンジで理由がわかった気がします。M3ではGPUが進化したのに対して、M4ではCPUとNeural Engineに大きなアップデートが施されています。

理想としてはM3でCPUもGPUもNeural Engineも全部アップデートしたかったのでしょうが、N3の歩留まりをはじめとしたTSMCの製造能力的にそれが許されなかったのではないでしょうか。

恐らく、M4の変更点はそのまま今年秋に登場すると見られる、iPhone 16 Pro(仮称)に搭載されるであろう「A18 Pro」あるいは「Apple A18 Bionic」にも反映されるでしょうから期待です。

あと、NPUの進化はiPadよりもMacにほしいというユーザや研究者も多いでしょう。MacBook Airがアップデートされたばかりなので、早くても今年後半のアップデートでの搭載になりますが、早急な搭載が期待されます。