ArmはAIアクセラレータユニットの流行にすっかり飽き飽きしている

Table of Contents

ArmはAIアクセラレータユニットの流行にすっかり飽き飽きしている

アームは今週、ノートパソコン、スマートフォン、その他のパーソナル電子機器向けシステムオンチップ(SoC)向けに、新たなハイエンドCPUおよびGPU設計の提供を開始すると発表しました。これらのコアは、少なくとも2024年後半には次世代Androidスマートフォンに搭載される見込みです。

発表内容は多岐にわたり、マーケティングから明らかなものもあれば、そうでないものもありました。以下は、私たちの見解に基づく主なポイントです。

新しいコア自体

Armは、昨年のCortex-X4の後継となる64ビットArmv9.2 Cortex-A925 CPUコアを発表しました。X925は最大3.8GHzのクロックで動作し、3nmプロセスノードをターゲットとしており、Armによると、同等の条件でX4と比較して少なくとも約15%高速に命令を実行できます。

このCPUには、L1命令およびデータキャッシュ帯域幅の倍増、命令ウィンドウサイズの倍増、パフォーマンスの重要な要素であるプリフェッチと分岐予測の向上、そしてマイクロアーキテクチャの拡張(例えば、ロードパイプラインが3つから4つに増加、整数乗算実行が倍増、SIMD/FP発行キューの増加)など、様々なアーキテクチャ上の改良が加えられていると言われています。CPU設計者が期待する要素ばかりです。ユーザーにとって重要なのは、Arm社がX925搭載デバイスの実使用において、昨年のハードウェアと比較してシングルコアのピーク性能が36%向上し、様々なワークロード全体で平均約30%のパフォーマンス向上を実現すると予測していることです。

X925は、将来のデバイスで最大14コアを搭載するbig.Little CPUクラスターの主力アプリケーションコアとなることを目指しています。クラスターの構成は、Armからこの技術のライセンスを取得するシステムオンチップ(SoC)設計者に委ねられます。クラスター内の他のCPUコアには、新型ミッドレンジのCortex-A725と、より小型で高効率なA520が採用されます。X925は最大3MBのプライベートL2キャッシュを搭載でき、A725は最大1MBのL2キャッシュを搭載できます。クラスター管理システムは、消費電力削減も考慮して調整されているとのことです。

さらに、チップ設計者がライセンスを取得して自社のプロセッサに追加できる新しいImmortalis-G925 GPUがあります。14コアのG720クラスターは、前世代の12コアG720と比較して約30%以上のパフォーマンス向上が期待されています。このGPUとそのドライバーは、ゲームやグラフィカルアプリ、特にUnityで構築されたアプリにおける機械学習タスクの高速化を目的として最適化されていると言われています。

Armによると、G925には、CPUベースのレンダリングスレッドの作業量を削減するための興味深いハードウェアレベルのアクセラレーションが搭載されています。これには、GPU内でのオブジェクトソート機能(画面上に隠れている要素を描画する必要性を回避)、そして同様に優れた隠面除去機能が含まれます。これによりパフォーマンスが向上し、消費電力も削減されるため、バッテリー駆動のデバイスにとって大きなメリットとなります。また、ハードウェアレイトレーシングの最適化、クラスター内で最大24個のGPUコアのサポート、そしてGPUコア数の増加を活かすためのタイラーとジョブディスパッチの改善も行われています。

  • NvidiaはArmとBlackwellコアを搭載したAI PCチップを準備中と報道
  • ArmサーバーはNutanixの長期的レーダー上には載っているが、まだToDoリストには載っていない
  • インテルとAMDは後手に回り、クアルコムがマイクロソフトのAI PC推進の中心に
  • AIインフラの有望企業にとって、クアルコムは意外な味方となった

総じて言えば、Arm製のCPUコアとGPUコアがさらに増え、パフォーマンスと効率性の向上が謳われている。つまり、次期Androidスマートフォンは、とりわけ動作速度が向上し、バッテリー消費も抑えられるということだ。実機を使った独立したレビューやベンチマーク結果が待たれる。

物理的な実装

通常、システムオンチップのチップ設計者は、Arm からコアやその他の部品のライセンスを取得して自社のプロセッサに統合します。その後、一連のテスト、検証、最適化を実行した後、最終的なレイアウトを工場に渡して製造してもらい、デバイスに組み込みます。

Armは昨年、厳選されたファブで最適化と検証を済ませたコアのプリベイク設計(物理実装)の提供を開始しました。これらの設計は、データセンターグレードのプロセッサ向けNeoverse Compute Subsystemsとして提供されました。これは、サーバーチップ設計者が高性能コンポーネントの開発を迅速に開始できるようにするための手段として提供されました。

Armは今回、個人向けデバイスやクライアントデバイスにもこの「シェイク・アンド・ベイク」アプローチを採用し、「Compute Subsystems for Client」という名称で、上記の新しいCortex CPUとImmortalis GPUコア設計の完全な物理実装を提供する予定です。これらの設計はTSMCとSamsungの協力を得て開発され、特に両社の3nmプロセスノードをターゲットとしています。繰り返しになりますが、チップ設計者はこれらの物理実装のライセンスを取得し、自社のプロセッサダイに組み込み、TSMCやSamsungの技術を活用することで、競争力の高いハイエンドPCおよびモバイルプロセッサの開発を先行させることができます。

Armにとって、これは必要不可欠な要素です。7nm未満の微細化は、システムオンチップ設計者だけでは解決できない技術的課題を引き起こし始めるからです。コアキャッシュ内のRAMや、ダイのある部分から別の部分に信号を運ぶ微細配線は、7nmの時のように3nmまで容易に微細化できないと言われています。マイクロアーキテクチャレベルで適切な微細化を行わなければ、最終的なチップの性能は期待どおりにならない可能性があります。

そのため、Armはファブの協力を得て、3nmプロセスにおけるコア向けに最適化された物理設計図を提供することに成功しました。これは、Armのスタッフが3nmプロセス到達の課題と呼んでいる問題をプロセッサ設計者が回避できるよう支援するためです。これは、Armが顧客向けにチップ全体を全面的に設計するという段階に一歩近づいたと言えるでしょう。しかし、Armはまだそのような分野への参入準備が整っていない、あるいは参入する意欲がないように感じます。

Armライセンシーにとって、コンピューティングサブシステムの使用は必ずしも必要ではない、あるいは必須ではないと理解しています。通常通りコアのライセンスを取得し、統合することは可能ですが、チューニングと最適化はすべて自社で行い、コア性能を損なうことなく3nmプロセスのスケーリング問題を克服する方法を見つける必要があります。また、ライセンシーがCPUコアを選択する場合、ArmのGPUを使用する必要はありません。「全部取らなければ、全部放棄する」といったロックインのような状況は存在しないと聞いています。

先ほども述べたように、これは興味深いものですが、完全に革命的というわけではありません。ArmはすでにNeoverse向けにこの種のプリベーク設計IPを提供しています。現在、そのアプローチをクライアントレベルのチップに拡張しているだけです。

個別の AI アクセラレータが必要なのは誰でしょうか?

ここから状況が少し複雑になり始め、Armは慎重に立ち位置を決めなければなりません。ArmはCPUとGPUの設計をシステムオンチップ(SoC)設計者にライセンス供与しており、設計者はAIコード用のカスタムハードウェアアクセラレーションユニットをプロセッサに組み込むことができます。これらのユニットは通常、ニューラルネットワークの実行に不可欠な行列乗算などの演算の実行を高速化し、CPUコアやGPUコアの負担を軽減します。これらのユニットはNPU(ニューラルプロセッシングユニット)と呼ばれることがよくあります。

QualcommからGoogleに至るまで、Armのライセンシーは、自社製品の差別化を図るため、独自のAIアクセラレーションをプロセッサに搭載することを好んでいます。Armは、こうしたカスタムアクセラレーションを好んでいないと公言することで、人々の神経を逆なでするようなことは避けたいと考えています。Armのスタッフは、NPUに反対しているわけではないことを繰り返し強調していました。

しかし。

Armによると、少なくともAndroidでは、アプリによるAI推論の70%は通常、デバイスのCPUコアで実行され、NPU(存在する場合)やGPUでは実行されないとのことです。ほとんどのアプリケーションコードは、ニューラルネットワークやその他の機械学習演算をCPUコアに投げ込んでいます。これには多くの理由がありますが、アプリ開発者がデバイスのハードウェアについて想定したくないことがその一つだと推測しています。

利用可能なアクセラレーションを自動検出して使用するフレームワークを使用できるのであれば素晴らしいことですが、一般的には、推論はCPU上で実行されます。もちろん、Google独自のモバイルソフトウェアなどのファーストパーティアプリは、Pixelシリーズのスマートフォンに搭載されているGoogle TensorブランドのNPUなど、既知の組み込みアクセラレーションを利用することが期待されています。

そして肝心なのは、私たちが話を聞いたArmのスタッフは、AI推論の80~90%をCPUコア上で実行することを望んでいるということです。これにより、サードパーティ製アプリがファーストパーティ製アプリで享受している高速化の恩恵を受けられなくなるという事態を回避できます。重要なのは、このアプローチによって開発者環境が簡素化されることです。最新のArm CPUコア(上記の新しいArmv9.2 Cortexなど)には、CPU ISAレベルでのAI演算のための高速化機能が搭載されているため、CPUコア上でAI処理を実行しても問題ありません。

具体的には、Armv9 のスケーラブル マトリックス拡張 (SME2) とスケーラブル ベクター拡張 (SVE2) 命令について説明します。

Armは、チップ設計者がCPU側でニューラルネットワークの高速化を実現するArmv9への移行を強く望んでいます。これが、ArmがQualcommと確執している理由の一つです。Qualcommは、最新のNuviaベースのSnapdragonシステムオンチップでArmv8(NEON搭載)とカスタムNPUに固執しています。Appleのような企業が最新のM4チップでArmv9とSME2を採用している一方で、Qualcommをはじめとする他の企業はNPUに固執しています。Armは、今後このような分断がなければより満足できるでしょう。

そこで、Armが公開した便利なオープンソースライブラリであるKleidiAIについてお話しします。KleidiAIは現在も開発が進められており、LLM推論ドライバLlama.cppなどのプロジェクトへのアップストリーム化が進められていると言われています。Llama.cppは、最新のArmアーキテクチャで利用可能なCPUレベルのアクセラレーション機能すべてへの標準インターフェースを提供します。KleidiAIについては、以下の説明スライドをご覧ください。

Kleidi を要約したスライド

Arm 提供の KleidiAI の概要を説明した説明スライド - クリックして拡大

最終的には、アプリ開発者が新しいフレームワークやAPIを使う必要がなくなり、また、何らかの前提を前提とする必要もなくなるという構想です。開発者は既存のエンジンを使い続けるだけで済みます。これらのエンジンにはKleidiAIが組み込まれ、使用デバイスに応じて実行時に適切なCPUレベルのアクセラレーションが自動的に選択され、AI処理はGPUやNPUにオフロードすることなくCPUコアで効率的に処理されるようになることを期待しています。

その作業を SME2 または SVE2 にオフロードする方が NEON よりも望ましいと考えられています。

ArmはNPUに反対しているわけではなく、特定のタスクをカスタムユニットにオフロードすることのメリットも理解していると述べています。しかし、私たちの印象では、ArmはAIアクセラレータの誇大宣伝や、AI推論はカスタムユニットでしか適切に実行できないという考え方にうんざりしているようです。

Armは、アプリの90%において、ニューラルネットワークの実行に自社のCPUコアとSME2などの拡張機能を利用することを推奨しています。つまり、より多くのチップ設計者がArmからより最新のCPUコアのライセンスを取得することになります。®

Discover More