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

40TOPS以上のNPUが必要な「Copilot+ PC」を策定したMicrosoftの真の目的

Microsoftが5月20日に発表した「Copilot+AI PC」

 Microsoftは5月20日に、同社本社がある米国ワシントン州レッドモンドで記者会見を開催し、同社が推進しているローカルAIアプリケーションが実行できる「Copilot+ PC」を発表した。合わせて「Surface Pro/Laptop」が発表されたほか、Acer、ASUS、Dell、HP、Lenovo、SamsungなどのPCメーカーがCopilot+ PCを発表した。

 その記事を掲載した後、多くの関係者からCopilot+ PCとこれまでの「AI PC」の違いは何なのか? という質問を受けた。おそらく多くの読者にとっても違いがイマイチ分からないということだと考えられるので、この記事でそれを解説していきたい。

「Copilot+ PC」はMicrosoftの要件を満たしたPCのこと

Qualcomm Snapdragon X Elite、NPUを搭載した45TOPSの性能を実現

 そもそも「AI PC」、「Copilot+ PC」とは何なのかということを定義しておく必要がある。最初により多くの人が認識しているであろう、AI PCについて定義していこう。

 AI PCとは、その名の通りの定義をするのであれば、AIアプリケーションが動作するPCという意味になる。このため、現在市場にあるどんなPCでもAIのアプリケーションが動作するので、すべてのPCがAI PCと言ってよい(これを広義のAI PCとする)。

 しかし、一般的なPC業界ではAI PCと呼ぶ場合には、NPU(Neural Processing Unit)を搭載しているPCのことを「AI PC」と呼ぶのが一般的な認識と見解だ。

 昨年(2023年)に発表されたRyzen 7040シリーズ(後継のRyzen 8040も同様)、Core UltraにはAIを専門に処理するNPUが搭載されており、それらを利用してAIアプリケーションを高いパフォーマンスかつ低消費電力で処理できるのが、AI PCということになる(これが狭義のAI PC)。

 ただ、AI PCというのは一般用語に過ぎないので、AMDにはAMDの、IntelにはIntelの、MicrosoftにはMicrosoftの定義があるという形になり、それぞれが皆自分たちの都合に合わせて使い方をしているのが現状だが、NPUを搭載していることを条件にしているのはどこの会社も同じだ。

 ではCopilot+ PCとは何かと言えば、Microsoftが独自に定義した「より新しいユーザー体験ができるAI PC」という意味だ。対応したPCをPCメーカーが発売すると、Microsoftから共同マーケティングキャンペーンや各種のリベートなどPCメーカーに対して特典が提供される。

 具体的に言えば、今回Microsoftが5月20日に行なった報道関係者向けの発表会にPCメーカーが招待され、自社のPCを報道関係者にアピールしたことも、共同マーケティングに該当する。

Acer Swift 14 AI
ASUS ASUS Vivobook S 15 S5507QA
Dell XPS 13/Latitude 7455
HP OmniBook X 14 inch Laptop AI PC/EliteBook Ultra AI PC
Lenovo ThinkPad T14s Gen 6/ Yoga Slim 7x
Samsung Galaxy Book4 Edge

 MicrosoftはそのCopilot+ PCの要件として、以前の記事でも触れた通り

  1. Microsoftが独自に承認したSoCでかつ40TOPS以上のNPUを搭載している
  2. メインメモリ16GB以上
  3. 256GB以上のストレージ(SSDないしはUFS)

 という3つを掲げており、その要件を満たしたPCだけがCopilot+ PCを名乗れるようになっている。現状では(1)の要件を満たしているSoCがQualcommのSnapdragon X Elite/Plusだけになるので、今回発表されたCopilot+ PCはすべてがQualcommベースになっている。

 今年(2024年)後半にはAMDが「Strix Point」、Intelが「Lunar Lake」と呼ばれる(1)の要件を満たすSoCをリリースすることを既に明らかにしており、AMD、IntelベースのCopilot+ PCも年末商戦あたりには登場することになる見通しだ。

 こうした定義のもと、AI PCとCopilot+ PCの違いを図にすると以下の図1のようになる。

【図1】AI PCとCopilot+ PC(筆者作成)

 Copilot+ PCもAI PCの一種だが、より限定された高いスペックを実現しているのがAI PCがCopilot+ PCなのだ。これがMicrosoftのマーケティングの観点からのCopilot+ PCの定義になる。

ISVにおけるAIアプリケーション構築のキーとなる「DirectML」

 それでは技術的な観点からAI PCとCopilot+ PCは何が違うのだろうか? それを説明するためには、Windows OSでどのようにAIアプリケーションが実行されているかを理解する必要がある。

 図2はAIアプリケーションをWindowsでどのように実行しているのかを模式図にしたものだ。厳密にいうと、もっともっと複雑なのだが、分かりやすくするためにそうした複雑さを取り除いて可能な限りシンプルにしたものだとお考えいただきたい。

【図2】Windows OSにおけるAIアクセラレータを利用する仕組み(筆者作成)

 WindowsのアプリケーションがCPUを利用して演算する場合は、このような複雑な仕組みは不要だ。CPUはOSネイティブでサポートされているため、x86命令なり、Arm命令なり、OSが起動したCPU命令セットはアプリケーションがOSに対して実行命令を出せばそのまま処理が行なわれるため、アプリケーションを開発するプログラマーがハードウェアを意識する必要はない。

 強いて言えば、今のWindowsはArmとx86の両対応であるため、プログラムをコンパイル(実行するためのバイナリー=.exeの拡張子を持つファイルに変換する過程)で、ターゲットとなる環境がArmなのか、x86なのか、あるいは両方なのかを指定するだけだ。

 それに対して、GPU、NPUを利用する場合にはアクセラレータという扱いになるので、OSからは直接は見えていない。OSから見えるようにするためにはデバイスドライバが必要になる。

 多くの読者がGPUのドライバを更新したことがあるだろう。CPUにはドライバはいらないのに、なぜGPUにはドライバがいるのかと感じたことはないだろうか? 実はそれがこの答えだ。

 新しくWindowsのアクセラレータとして加わったNPUも同様で、やはりDDI(Device Driver Interface)に準拠したデバイスドライバが必要になる(グラフィックス用のドライバーモデルWDDMをGPU以外に拡張したMCDMというドライバモデルが利用される)。このため、今後はNPUもGPUと同じようにドライバがアップグレードされ、そのたびに安定性が上がったり、新しい機能が加わったりする可能性がある。多くの場合はWindows Updateにより自動で提供されるだろうし、SoCベンダーによっては自社のWebサイトからドライバを配布するなどの可能性が考えられる。

 GPUにせよ、NPUにせよ、ハードウェアは各社により異なっており、その差を何らかの形で吸収する必要がある。GPUで言えば、それがDirectX(厳密に言うとDirect3Dだが、DirectXの呼び方がメジャーであり、ここではDirectXとする)になる。GPUを使うアプリケーションを開発する開発者はDirectXをサポートするアプリケーションを開発すると、GPUがAMDであろうが、Intelであろうが、NVIDIAであろうが実行できる。それが3Dゲームの現状だ。

 AIアプリケーションの実行でDirectXに相当するのがDirectMLだ。AIアプリケーションを開発するプログラマーがDirectMLを利用すると、GPUあるいはNPUを利用して演算するかに問わず、AIアクセラレータを利用してAIアプリケーションを実行できる。

 なお、DirectMLを使わない場合には、GPUベンダーやNPUベンダーが提供するミドルウェア(NVIDIAならCUDA、IntelならOpenVINO、AMDならRyzen AI Software、QualcommならQualcomm AI Engine)を利用して、直接ドライバを叩いてより性能を上げられる。

 それはグラフィックスでも同じなのだが、グラフィックスでは既にほとんどのアプリケーションがDirectX経由になっているのに対して、まだ立ちあがったばかりのAIではDirectMLとGPU/NPUベンダーのミドルウェアが併存している状況だ。

 ただし、Microsoftとしては、将来的にはDirectMLに集約していきたい意向を持っており、アプリケーションを開発するISVにしても、各ベンダーそれぞれに対応するよりも、DirectML 1つに対応しておけば、AMD、Intel、NVIDIA、Qualcommのすべてに対応できるため、将来的にはDirectMLを選ぶISVが増えていって自然にそうなるだろう。DirectXがそうであったように、だ。

Copilot+ PCのソフトウェア的な特徴が「Windows Copilot Runtime」

 そうしたミドルレイヤーのDirectML、CUDA、OpenVINOなどの上では、アプリケーションが動作している。アプリ層は大きく言うと、2つのレイヤーに分けられる。1つはISVやMicrosoft純正のAIアプリの実体そのものになるプログラム。これ自体は通常のWindowsアプリケーションと何も違いはない。

 ではAIアプリケーションは何が特徴的かというと、そのアプリケーションがファンデーションモデルや単にモデルと呼ばれる、AIを実行するためのアルゴリズムを含んでいる(あるいは外部のモジュールを呼び出している)ことだ。

 こうしたAIモデルは、おそらく誰もが知っているであろうOpenAIのGPT3/4、MetaのLlama2/3、MicrosoftのPhi-3のようなLLM(大規模言語モデル)/SLM(小規模言語モデル)、Stability AI Stable DiffusionやAdobe Fireflyモデルのような画像生成モデルなどさまざまなモデルが用意されている。それらのモデルは、TensorFlow、PyTorch、ONNXのようなフレームワークと一緒に提供され、(Adobe Fireflyのような自社専用のモデルは別にして)多くがオープンソースライセンスの形で提供されており、ISVが自社のアプリケーションに取り込んで活用できるようになっている。

 Microsoftが今回Copilot+ PC向けに発表した「Windows Copilot Runtime」もそうしたフレームワーク+モデルの一種だ。Windows Copilot Runtimeには、MicrosoftがCopilot+ PC向けのアプリケーションに提供するLLM/SLM、画像生成などのAIモデルがあらかじめ提供されており、プログラマーは「Windows Copilot Library」という開発キットを通じて、それらのAIモデルを活用して自社のAIアプリを簡単に構築できる。

 開発のたやすさと、40TOPS以上という高い性能を保証することなどによって、Microsoft自身がその普及をドライブしつつ、Copilot+ PCの魅力をアピールすることで、開発者にCopilot+ PCに対応したアプリを作ってもらいたいというのが、Copilot+ PCの開発者に向けた真のメッセージになる。

 ただし、このCopilot+ PC、つまりWindows Copilot Runtimeを動かすには40TOPS以上の性能を持ったNPUが必要になる。Microsoftは詳細を語っていないが、今後リリースされるWindows 11 24H2においてWindows Copilot Runtimeを実装するが、それが有効になるのは現状では40TOPS以上のNPUを内蔵しているSnapdragon X Elite/PlusをPCだけになると考えられている。つまり、これまでのWindows 11でもNPUがないと「Windows Studio Effects」が使えないのと同じように、40TOPS以上のNPUがないと「Windows Copilot Runtime」が有効にならないと考えられる。

 ある程度の性能がないと、5月20日の会見でデモしたようなAIアプリケーション(Recall、Cocreator、Live Captions)を優れたユーザー体験で実行できない(有り体に言えば遅くて使いモノにならない)ため、そうした制限をかけているのだと考えられる。それがCopilot+ PCで40TOPS以上のNPUを必須にするMicrosoft側の狙いだと考えられるだろう。

【図3】Copilot+ PCにおけるAIアプリケーションの実行、赤枠で囲った部分がCopilot+ PCで追加された部分(筆者作成)

 もちろん、Copilot+ PCではISVが開発したWindows Copilot Runtimeを必要としないAIアプリケーションも実行できる。その両方が動くのがCopilot+ PCということになる。だから、図1のようにAI PCでもあるのがCopilot+ PCの姿だ。

だからこそMicrosoftはCopilot+ PCの詳細を省略した

Recallのデモ、AIが人間の替わりにWindows OSの動作履歴を記憶して、曖昧な用語をプロンプトにいれても目的のWebサイトやスライドなどを見つけてくれる。

 では、なんらかのNPUが搭載されているAI PC、現状で言えばRyzen 7040/8040シリーズや、Core Ultraを搭載したAI PCではどうなのか? その場合、単にWindows Copilot Runtimeを使って実行されるAIアプリケーション(Copilot+ PC向けアプリ)が実行できないというだけが違いになる。ISVが開発したPyTorchやONNXなど一般的なフレームワークやモデルを利用して開発したAIアプリケーションは、CPU/GPU/NPUを活用して実行できる。

 しかも、現状ISVのアプリケーションはNPUだけをターゲットにしているわけではなく、NPUよりもGPUを利用して処理するものが多い。NPUを使った場合の低消費電力でというメリットは得られないが(MicrosoftがWindows Copilot RuntimeでNPUを使う理由はまさにそこだが)、CPUとGPUの両方を使って演算することで処理能力を上げることはできる。

 たとえば、Adobe Creative CloudのローカルAIの機能はGPUだけをサポートしており、現状はNPUをサポートしていない。その意味では、むしろGPUを使った方が、特にISVのアプリケーションを利用する場合にはメリットを得られる。

 今回Buildでさまざまな分科会(ブレークアウトセッション)に参加したが、ほほ笑みを禁じ得なかったのが、NVIDIAが開催した分科会だった。そのプレゼンテーションの中で、NVIDIAはBuild分科会での同社のプレゼンテーションで、同社のGPUが100~1,300TOPSという処理能力を実現していると説明したからだ。

 NVIDIAのGPU(GeForce RTXシリーズ)には、同社がTensorCoreと呼んでいる、NPUと同じようなAI処理を効率よく行なえる演算器が用意されている。今現時点での唯一のCopilot+ PC対応SoCであるSnapdragon X Elite/Plusの演算性能が45TOPSだから、一番低い方でも1桁、一番高い方(おそらくGeForce RTX 4090)では2桁という文字通り桁違いの性能を発揮するのだ。従って、仮にWindows Copilot RuntimeがNVIDIAのGPUで実行できれば、かなり高い性能を実現できるということだ。

 なのに、MicrosoftがそれCopilot+ PCに含めなかったのは、言うまでもなくCopilot+ PCは持ち運びが可能なノートPC向けと位置づけているからだ。だからこそバッテリ駆動時間が重要なのだし、薄型/軽量というフォームファクター(を実現する熱設計消費電力)の中で可能な限り高性能を発揮するSoCとしてSnapdragon X Eliteがローンチパートナーとして選ばれたということだ。

 ここまで説明してきて、ようやくCopilot+ PCとはマーケティングプログラムであり、テクノロジー的にはWindows Copilot Runtimeを必要とするアプリケーションが動作する環境だと分かっていただけただろう。

 このようにテクノロジー的には本当に複雑な話で、率直に言って一般消費者にそれを説明するのはほぼ不可能だ。だからこそ、Microsoftはそういう説明をすっ飛ばして新しいユーザー体験をアプリの動作というビジュアルで見せて「Copilot+ PC」というメッセージだけを前に出すことを決断したのだと思う(詳しくは下記の会見リポートを参照していただきたい)。

 我々テックメディアとしては「もう少しちゃんと説明して」と思うこともなくはない(だからこの記事を書いているわけだし、Buildのような開発者向けのイベントでちゃんと説明してくれているのでこの記事が書けている)が、一般消費者に対するマーケティングメッセージとしてはMicrosoftの選択がまったく正しいと思う。

 ただ、重要なことは、それが一般消費者に「お、買ってみよう」とヒットするかどうかだ。そうしなければ、ArmベースのCopilot+ PCは単なるソフトウェアの互換性が低いPCと評価されてしまい買ってもらえないと思う。その意味では、Recall、Cocreator、Live Captionsなどのデモは一定の成功を収めたと言えるだろう。これからもこうした一般消費者に評価される新しいユーザー体験をMicrosoftが提供し続けていくことが、Copilot+ PCの成功を左右すると言ってよいのではないだろうか。