architecture_overview
出典: developers.googleblog.com

Google Researchは10月20日、エッジAI向けプロセッサー設計「Coral NPU」の32ビット構成を完成させ、回路設計データとコンパイラv1.0を公開しました。行列演算ユニットの追加で設計の4段階がそろい、AIモデルをチップ上で動かすためのコンパイラも公開されました。同日、SynapticsはCoral NPUの技術を使う開発ボードを発表し、既存ボードの一般販売も始めました。

行列演算ユニットを加えた32ビット設計

Coral NPUは、ウェアラブル機器やIoT機器などで機械学習モデルの推論を行うためのハードウェア設計です。オープンソースとして公開され、半導体メーカーは自社のシステム・オン・チップ(SoC)に組み込めます。基盤には32ビットのRISC-V命令セットを採用しています。

今回公開されたのは、行列演算ユニット「Matrix Execution Unit」です。これにより、スカラーコア、ベクトル演算ユニット、メモリーサブシステムを含む4段階の32ビット設計が完成しました。回路の動作を記述するRTLもGitHubで公開されています。

行列演算ユニットは1サイクル当たり256回の積和演算を実行します。Googleは、演算に使うデータをユニット内で再利用し、メモリーとのデータ転送に伴う電力を抑える設計だと説明しています。性能は構成に応じて最大1 TOPSで、推論時の平均消費電力は10 mWを目標としています。

オープンな命令セットとSoCへの組み込み

RISC-Vは、命令セットアーキテクチャ(ISA)、つまりソフトウェアから見たプロセッサーの命令や動作の規格です。RISC-Vの仕様は、学術機関や産業界が利用できるオープンな規格として設計され、実際のハードウェアへの実装を想定しています。基本命令に必要な機能を絞り、用途に応じて拡張を加えられる構成です。

RISC-V Internationalは、RISC-VをオープンでロイヤリティーフリーのISAと位置付けています。同団体が管理するのは仕様であり、メーカーが作る個別のプロセッサー実装ではありません。そのため、メーカーは共通の命令セット規格を使いながら、独自のハードウェアを設計できます。

Coral NPUは、RISC-Vを基礎にした設計データを公開し、メーカーが自社SoCへ統合できるようにしています。Googleは、共通のハードウェア構成と開発ツールを通じて、一度最適化したモデルを異なるメーカーのチップや機器で使いやすくすることを目指しています。メーカーごとのチップやツールに合わせてモデルを調整する負担を抑える狙いです。

モデルを変換するコンパイラv1.0

Coral Compiler v1.0は、機械学習モデルをCoral NPU向けに変換・最適化するオープンソースのコンパイラです。基盤にはIREEとMLIRを使い、モデルの処理をホストCPUとNPUに振り分けます。Googleは、JAX、PyTorch、TensorFlowで作成したモデルを対象として発表しました。

コンパイラは、NPU内のメモリーに収まるよう行列を分割し、演算をまとめる最適化も行います。処理をスカラー、ベクトル、行列の各ユニット向けの命令へ段階的に変換し、モデルをハードウェア上で実行できる形にします。

現時点のエンドツーエンドの実行経路はJAXモデルが中心で、ほかの入力方式は今後対応する予定です。実行には物理チップではなくホスト側シミュレーションを使います。GoogleはシミュレーターとFPGA参照設計も用意し、チップ製造前にモデルの実行性能を評価して構成を調整できるとしています。

Synapticsの開発ボードと次の段階

Synapticsは、Coral NPUの技術を採用した開発ボード「Coralboard SR」を発表しました。SRはバッテリー駆動のウェアラブル機器や産業用センサーの試作を想定し、400 GOPSのTorq NPUを内蔵するAstra SR200シリーズのマイコンを搭載します。このTorq NPUにはCoral NPUのベクトル演算ユニットが組み込まれています。

LinuxベースのIoT機器やロボット向けの「Coralboard SL」は、1 TOPSのTorq NPUを内蔵するAstra SL2619プロセッサーを搭載します。SLは10月20日にDigiKeyで一般販売を開始し、10月22日時点の米国サイトでの価格は99.79米ドル(約1万6,000円)でした。SRは今後発売される予定です。

両ボードはSynapticsのMLIRベースのコンパイラとランタイムを利用し、共通の開発環境でモデルを最適化して各ボードで動かします。Googleは次の段階として、64ビット版Coral NPUとセキュリティ機能のCHERI対応を挙げています。