5月24日から開催されたMicrosoftのBuildコンファレンスで、Microsoftは開発用マシンのプロトタイプとして、ARMプロセッサ(Qualcomm SnapDragon)を搭載したProject Volterraを発表した。その仕様として、“Neural Processor”を搭載したSnapDragonが搭載されていることが示された。また、その概要を伝えるMicrosoftのブログ記事でも、NPU(Neural Processing Unit)によるAI利用の話があった。
・Create Next Generation Experiences at Scale with Windows(英語)
https://blogs.windows.com/windowsdeveloper/2022/05/24/create-next-generation-experiences-at-scale-with-windows/
どうも、Microsoftは、WindowsでのNPUの本格的利用に踏み切るようだ。これにより、スマートフォンだけでなく、PCにも本格的にNPUが搭載されることになる。
いわゆるAI処理のほとんどは、深層学習(Deep Learning:DL)と呼ばれるもので、ニューラルネットワーク(Neural Network:NN)を、多層に重ねて“Deep Neural Network”(以下DNNと表記)を作る。このDNNには、大きく「学習」フェーズと「推論」フェーズがある。前者は、ニューラルネットワークを定義し、学習を行わせるまでの開発段階であり、後者は学習済みDNNを使って処理結果を得る利用段階である。NPUは、どちらかというと推論フェーズで利用するものだ。当初、NPUは、カスタムLSIなどを使って試作されクラウドサービス用にデータセンターにあるサーバーの追加ボードなどで実装された。これからWindowsに搭載されるのは、サーバーでの利用経験から開発されたクライアントマシン用の推論NPUだ。クライアントマシンでは、NPU導入以前には、SoCが内蔵するDSPやGPUなどを利用して推論を高速化していた。
NPUには大きく、特定用途を想定した「特定ドメインアーキテクチャ(Domain Specific Architecture:DSA)」のNPUと、「汎用」NPUの2つに分かれる。DSA-NPUに関しては、すでに一部CPUに統合されており、キーワード音声認識(OK Googleみたいなヤツ)や画像処理などに使われている。これからの中心は、クライアントマシンに入る「汎用推論」NPUである(表01)。これらは、SoCに内蔵されるかたちでクライアントマシンに導入される。
Qualcommは、DNNの推論アクセラレーションは、GPUやDSPを使って提供していたが、高性能な汎用のNPUはまだ提供していない(組み込み向けにNPU230と呼ばれるものは提供していた)。Project Volterraに使われるSnapDragonのNPUについてはまだ発表がない。SnapDragonのCPUコアは、ARMのCortex-XやCortex-Aシリーズであるため、ARMのNPUが1つの候補ではあるが、なにも手がかりはない。インテルも2023年の投入が予定されているMeteor Lakeで、「Integrated AI Acceleration」を搭載する予定。AMDも何らかの対応をするはずだ。そういうわけでハードウェア的にはコマが揃ってきた感じだ。
Microsoftが開発機器とはいえ、ARM64(実際にはQualcommのPC向けSanpDragon専用)WindowsマシンにNPUを搭載するとしたのは、今後、アプリケーションからDNN技術を簡単に利用できる環境やエコシステムを構築する意図があると考えられる。すでにAzure上では、さまざまなDNN応用技術をクラウドサービスとして提供しており、これをWindowsから使うこともできる。しかし、世の中はクラウド推論からローカル推論へと動きつつあり、これに対応する必要がある。性能の高くないCPUを持つPCではNPUで推論性能を高めることができ、モバイルPC向けに低消費電力化も可能だ。
これからアプリケーション開発では、以前よりも簡単にDNN技術を利用できるようになると考えられる。現在Windowsには、DNNを利用できるWindows ML APIは提供され、顔認識程度のAPIは用意されているが、学習済みDNNが広く提供、流通しているわけでもない。あくまでも準備ができているという段階だ。AndroidもVer.8.1(Oreo)でAPIは用意されたが、汎用NPUの搭載は、2021年のPixel 6からである。
WindowsなどのクライアントプラットフォームにNPUが乗れば、その上でDNNを利用するための巨大なエコシステムができる。さまざまなNPUアーキテクチャが登場すると市場が分断されるとご心配の方もいらっしゃるかもしれないが、学習済みのDNNは単なるデータであり、ONNXなどの交換形式を経ることで、複数の実行環境に対応が可能だ。こうした周辺環境の充実も多くのプラットフォームが汎用のNPU採用に向かう理由であろう。
GoogleがPixel 6でEdgeTPUを搭載したのに追従して、多くのスマートフォン向けSoCメーカーは同程度のNPUを搭載することになる。PC向けのx86/x64のSoCにNPUが搭載されれば、自動的にx86/x64 CPUを使うChromebookにも導入が行われる。こうして、PC、Chromebook、Androidは、NPUによる「マシンインテリジェンス」の時代に入ることになる。
今回のタイトルの元ネタは、Chris Boyceの“Catchworld”(1975)である。この小説では、AIをMI(Machine Intelligence)と表記していた。奇妙な日本と日本人が出てくる「宇宙人に仕返しに行く」話であることから、1981年には邦訳「キャッチワールド」がハヤカワ文庫から出ている。統合されたMIと人間と、その自我という「精神分析」的な問題提起(HAL-9000の事件よりもさらに複雑)などAI、コンピュータテーマのSFという視点から見ると、また違った趣のある小説である。