笠原一輝のユビキタス情報局

業界最速50TOPSのNPUと、12コアのCPUを実現した「Ryzen AI 300」のカラクリ

AMDのRyzen AI 300シリーズのダイ。通常はカバーの下にあるダイが見えている貴重なショットになる

 AMDのStrix Pointこと「Ryzen AI 300」シリーズ(以下Ryzen AI 300)の詳細が明らかになった。Microsoftの「Copilot+ PC」に対応したSoCは、既に発売されているQualcommの「Snapdragon X」シリーズ、そして6月のCOMPUTEXで技術詳細が明らかにされたIntelのLunar Lake、そして今回AMDが詳細を明らかにしたRyzen AI 300と、3つが出そろったことになる。

 本記事ではそうしたCopilot+ PC向けのSoCとして2番目に市場に登場することになるRyzen AI 300の特徴や、その意味などに関して考察していきたい。

もっとも洗練されCopilot+向けNPUとしては最高性能の50TOPSを実現するXDNA 2

開発コードネーム「Strix Point」ことRyzen AI 300

 既に本連載でも何度も触れているように、Microsoftが新たに発表したCopilot+ PCでは、薄型軽量ノートPC向けのSoCの要件として、INT8でAI演算を行なう性能として「40TOPS以上」(1秒間に40兆回以上の命令実行)の性能が必要としているため、Copilot+ PC向けのSoCとしてはNPUの性能が注目されがちだ。

【表1】Copilot+ PC向けのSoCの仕様(筆者作成)
AMD Ryzen AI 300Intel Lunar LakeQualcomm Snapdragon X
CPU(高性能コア)Zen 5×4Lion Cove×4Oryon×12
CPU(高効率コア)Zen 5c×8Skymont×4-
GPURDNA 3.5Xe2Adreno X1
NPUXDNA 2第4世代NPUHexagon NPU
NPU性能50TOPS48TOPS45TOPS

 現在市場で販売されているSnapdragon XシリーズのNPU(Hexagon NPU)が45TOPS、そしてIntelが第3四半期に投入する予定のLunar Lakeが48TOPSという性能ということが既に明らかになっているが、Ryzen AI 300のXDNA 2は、それらの製品を上回る50TOPSという性能を実現しており、現時点で薄型軽量ノートPC向けとして提供されているSoCとしては、AppleのMシリーズを含めてもトップになっている。

XDNAのアーキテクチャ(左)。コンピュートタイルとメモリタイルが内部のインターコネクトがメッシュ状に接続されており、行列どちらの方向にもデータのやりとりができる柔軟なアーキテクチャ(出典:AMD XDNA 2 Architecture、AMD)

 AMDのXDNA 2は、NPUとしてのアーキテクチャはもっとも洗練されているアーキテクチャになっている。XDNA/XDNA 2の共通のアーキテクチャとして、同社がAIEと呼んでいる演算タイルと、メモリタイルと呼ばれている内部メモリが内蔵されており、SoCのメインメモリ(DRAMなど)からデータをメモリタイルへ読み込んできて、できるだけNPUの内部で処理を行なう仕組みはほかのNPUと同様だ。外部メモリへのアクセスをできるだけ少なくして、無駄な電力を消費しないようにしながらAI推論処理を行なえるのが特徴だからだ。

 XDNA/XDNA 2ではそうしたタイルアーキテクチャを採用しつつ、さらに効率を上げる仕組みとして、タイルとタイルを接続するインターコネクトが縦方向にも、横方向にもプログラマブルにデータのやりとりができる構造を採用している。つまり一種のメッシュ構造だが、常にそうしたメッシュが有効になっているのではなく、必要に応じてインターコネクトが有効になり、無駄な電力が消費されることを防ぐ。

XDNA 2ではタイルとメモリがそれぞれ1.6倍になっているほか、タイル内部の演算器(MAC)が倍になっている(出典: AMD XDNA 2 Architecture、AMD)

 XDNAでは4つのAIEタイルと1つのメモリタイルから構成される列が5列ある構造になっていたが、XDNA 2では8列に増やされている。また、AIEタイルあたりに内蔵されている演算器(MAC)が倍になっており、列が1.6倍に増えたことでコンピュート性能が3.2倍になっている。それにクロック周波数の向上などを合わせて、XDNAに比べて5倍の性能を実現していることがXDNA 2の特徴だ。

XDNA 2では8列のうち2列ごとに異なるアプリケーションに割り当てて実行でき、かつ必要のない列はオフにすることが可能

 さらにXDNA 2では8列ある4つの「AIEタイル+1つメモリタイル」という列を2の倍数で区切ってオンにしたり、オフにしたりできるほか、2列をWindows Studio Effectsに、6列を画像生成……など、アプリケーションごとに分割して実行することが可能で、より高い効率で処理できる。

Block FP16に新たに対応し、FP16の正確性とINT8の性能のいいとこ取りが可能に

Block FP16はFP16の正確性を維持しながら、INT8の処理能力でAI推論を行なうことが可能になる(出典: AMD XDNA 2 Architecture、AMD)

 またXDNA 2はBlock FP16という、FP16の正確性とINT8での処理能力を両立できる新しい浮動小数点の精度に対応している。

 Block FP16は、符号(Sign)、指数(Exponent)、仮数(Mantissa)の3つで表現される浮動小数点のうち、指数を共通指数という固定した指数にして8bitの要素にしてそのデータを最初に処理し、その後符号+仮数で8bitの要素8つと合わせて合計で72bitのデータにして処理していく。

 通常のFP16では、符号+指数+仮数で16bitが1つの要素で、その要素8つで128bit……で行なわれる処理に比べると、Block FP16では72bitで処理が終わるため、演算器への負荷を下げられる。

Block FP16の基本的な考え方。最初の8bitで共通指数を処理し、その後8x8bitで符号+仮数を処理する

 Block FP16を利用した場合には、INT8の処理性能と一緒で、50TOPSの性能を実現することが可能だという。現時点ではQualcommのSnapdragon XシリーズやIntelのLunar LakeのNPUはBlock FP16には対応していないため、通常のFP16で演算するといずれもINT8時の半分の性能(Lunar LakeのINT8が48TOPSだから24TOPS、Snapdragon XのINT8が45TOPSなので22.5TOPS)になると想定され、Block FP16が利用できるとその性能差はさらに開くことになる。

Block FP16のデモ動画。画像生成においてINT8を利用するとおかしな画像になっているが、Block FP16は、正確性がFP16と一緒で、負荷はFP16の約半分

 実際、AMDはBlock FP16を利用して画像生成のデモを行ない、INT8では正確性が担保されず意味不明の画像になってしまったのに対して、Block FP16を利用すると、FP16と同じ正確性を実現しつつ、より高速に処理できるという様子を公開している。

 ただし、Block FP16を利用するには、ソフトウェア側が明示的にBlock FP16を活用すると指定する必要はあるので、若干の変更は必要になる。ただ、既にFP16で書かれているものをBlock FP16に置きかえるのは、INT8などに置きかえる場合に比べて容易だと考えられ、わずかな修正で済む可能性が高い。

AMDのAI開発キット「Ryzen AI Software」のロードマップ
AMD NPUのロードマップ

 このため、AMDはAI開発ツールの「Ryzen AI Software」をバージョンアップする計画で、今四半期に既にリリース済みのRyzen AI Software 1.2でBlock FP16の活用に対応する。また第4四半期には1.3を、来年の第1四半期には1.4をと機能を拡張していく計画。NPUの方も開発を続けており、次世代製品などではXDNA 3というさらに性能を引き上げたバージョンを開発していると明らかにした。

性能を引き上げる方向にフォーカスして実装されたZen 5+Zen 5cの異種混合CPU

【図1】Zen 5とZen 5cから構成されるRyzen AI 300の構造(筆者作成)

 NPUと並ぶRyzen AI 300シリーズのもう1つの注目すべき特徴が、12コアの異種混合(ヘテロジニアス)CPUを備えていることだ。異種混合CPUは、Intel的な言い方をすればハイブリッド・アーキテクチャになるし、Arm的な言い方をすればbig.LITTLEないしはDynamiQという呼び方がよく知られている。高性能コアと高効率コアの2つあるいはそれ以上の種類のCPUを内蔵しており、それぞれがクラスタ化されてダイに実装されている。

 Ryzen AI 300の異種混合CPUは、高性能コアがZen 5、EコアはZen 5cとなる。Zen 5cはCompactを意味するCがついているので、Zen 5の小型軽量版かと思えるが、AMDによれば「Zen 5cは、Zen 5のCPUコアあたり4MBというL3キャッシュが1MBに減らされたバージョンになる。Ryzen AI 300では、Zen 5が4コアで1つのクラスタを構成しており、Zen 5cは8コアで1つのクラスタを構成している」(AMD コーポレートフェロー、シリコンデザインエンジニア マイク・クラーク氏)との通りで、基本的にはZen 5とZen 5cとの差はL3キャッシュの容量だけとなる。

 図にすると、Ryzen AI 300シリーズは上記の図1のような構造になっていることになる。AMDが公開したRyzen AI 300のパッケージで、ダイのカバーが剝がされていたもの(この記事のトップ画)を確認すると、確かにZen 5が4コアと16MBのキャッシュ、Zen 5cが8コア8MBのキャッシュからそれぞれクラスタが構成されていることを見てとれる。

Ryzen AI 300のダイ写真から、CPUクラスタやGPU、NPUなどの位置をしめしたもの(筆者作成)

 こうした異種混合CPUにする狙いはいくつかあるが、大きく分けて1つ目が低消費電力化、もう1つが高性能化だ。前者の分かりやすい例は、多くのArm CPUで採用されているbig.LITTLEないしはDynamIQだ。この場合高性能コアと高効率コアの2つの種類のCPUがあり、前者は高い電圧かつ高クロックで動くように設計され、後者は低い電圧かつ低クロックで動作するようになっており、高性能と低消費電力を両立させる目的としている。

 高性能化のために異種混合CPUを採用している例として、Intelの第12/13世代Coreが挙げられる。Pコアは低遅延で実行する必要があるアプリケーションの起動に、Eコアはエンコードのような並列処理で性能を引き上げるアプリケーションに……と、用途を分けることで性能を引き上げるために異種混合構成にしていた。

 今回のAMDのRyzen AI 300の異種混合CPUも考え方としては、第12世代Coreのそれに近いと言える。ただ、AMDの方はどちらもベースとなるZen 5のアーキテクチャは一緒で、違いはキャッシュのサイズだけになる。高性能コアと高効率コアの差は小さく、L3キャッシュの効果以外は同じ性能を実現できるというメリットがありながら、そのうち3分の2(8コア)をcコアにすることでダイサイズは小さくできる。

 実際公開されたRyzen AI 300のダイで確認すると、Zen 5cのクラスタはZen 5のクラスタから約25%程度ダイ面積を大きくするだけで、2倍の数となる8コアを実現できていた。つまり、L3キャッシュを少なくするという効果が大きいことがよく分かる。

 このことが、従来のRyzen 7040/8040では最大8コアだったのを最大12コアにできた大きな理由で、その分だけ性能が引き上げられることになる。

 なお、今回のRyzen AI 300の異種混合CPUは、クロック周波数こそ別系統で供給されるが、電圧など電源系統は2つのCPUで共有している。このため、電力削減の効果がないわけではないが、一般的なArm CPUやIntelのLunar Lakeほどは劇的な消費電力の削減は望めないことは否定できない。

 ただ、AMDによれば従来のx86プロセッサで行なわれていた必要のない部分の電力を落とすなどの細かな電力制御は加えられているので、x86プロセッサとしては高い電力効率を実現しているということだ。

AMD クライアント事業開発担当 執行役員 ジェーソン・バンタ氏

 AMD クライアント事業開発担当 執行役員 ジェーソン・バンタ氏は「我々がRyzen AI 300を設計し、企画する段階で最優先事項としておいていたのは性能だ」と述べ、SPでは性能を重視した設計になっていると説明している。つまり、AMDにとってはまずは性能が最優先事項で、その次に電力効率のようなほかの要素が来るというのがこのRyzen AI 300の考え方ということだ。

AMDのZenコア開発ロードマップ(出典: "Zen 5" and AMD RDNA 3.5 Architecture Update、AMD)

 その意味でも、今回のAMD Zen 5/Zen 5cによる異種混合CPUのデザインは、始まりに過ぎないと考えてよいだろう。Intelのハイブリッド・アーキテクチャも最初の実装(Alder Lake世代)ではまず性能にフォーカスし、次の実装(Meteor Lake世代)で同時に消費電力の削減に利用し、最新の実装(Lunar Lake世代)ではさらに高い電力効率の実現に使うと、3世代を経て実現してきた。今後、Zen 6、さらにはその先にあるZen 7などの世代で「c」がつくコンパクト版がどのように変わっていくのかが今後の注目点になっていく。

Copilot+ PC向けのSoCとしては最速の座に

HPが同日発表したHP OmniBook Ultra 14-inch Next Gen AI PC。NPUの性能を特別に引き上げた55TOPS版のRyzen AI 300を搭載している。14型 2.2K OLEDパネル、900万画素の前面カメラなどの特徴を備えている。米国では8月に発売予定

 AMDが性能にフォーカスした異種混合CPUを採用した結果として、Snapdragon X Eliteを上回るような性能を実現していると明らかにした。AMDが公開したデータではAMDのRyzen AI 9 HX 370、Intel Core Ultra 9 185H、Qualcomm Snapdragon X Elite XE-84-100とがベンチマークで比較されている。

Ryzen AI 300のベンチマーク結果

 それによれば、オフィスアプリケーションベンチマーク(Procyon Office Productivity)でCore Ultra 9 185Hの1.21倍、Webブラウザのベンチマークでは1.3倍で、数値は明らかにされていないがSnapdragon X Elite XE-84-100を上回った。Cinebench 2024のシングルスレッドではSnapdragon X Elite XE-84-100が上回ったが、マルチスレッドではRyzen AI 300が上回り、3Dレンダリング(Blender)でも圧倒した。

 また、ゲームでもSnapdragon X Eliteが「FarCry 6」、「F1 2022」、「 Assasin's Creed Mirage」などでそもそも起動しなかったほか、ほかのゲームではいずれもRyzen AI 300が上回ってみせている。その意味で現時点ではCopilot+ PC向けSoCの性能王者の座はRyzen AI 300に移ったと考えていい。

 なお、現状Ryzen AI 300は標準TDPが28Wになる2つのSKUしかない。このため、AMDが公開した搭載ノートはいずれもゲーミングPCだったり、ディスプレイが大きめなノートPCだったりと、薄型軽量のノートPCはHPの「Omnibook Ultra」程度しかないのが現状だ。

 もちろんAMDのSoCはTDPがcTDP(Configurable TDP)になっており、OEMメーカーが自分でTDPを下げたり上げたりできる。今提供されている2つのSKUでは、いずれも15~54Wの間で可変になっているため、現在の2つのSKUを使って15W TDPのシャシーにいれるということは可能だ。しかし、一般的に高いTDPに使えるSoCは価格も高く設定されているため、OEMメーカーにとってはこれを薄型ノートPCにいれるというのは、あまり経済的ではない。その意味で、近い将来に標準TDPが15WになったSKUなどが必要になるかもしれない。

 AMDのバンタ氏は「具体的な将来の計画に関しては言及できないが、この2つだけになるということはないと思う」と述べ、近い将来にさらに追加SKUがある可能性を示唆しており、将来的にそうした製品が出てくる可能性は高いと言える。そうなれば、より広範な製品にRyzen AI 300が採用される可能性はあり、そうした展開にも期待したいところだ。