使ってわかるCopilot+ PC

第83回

NPUのメーカー間の垣根は「Windows ML」が超える。ただし未だ進化の途上

「Windows ML」の構造

NPU対応ソフトはもっと開発しやすくなるのか?

 前回はNPUを取り巻くソフトウェア環境について解説した。NPUを搭載したPCだからといって、NPU対応ソフトを何でも動かせるわけではない。

 AIモデルを共通化させて推論するONNX Runtimeはあっても、各社のNPUに対応するExecution Provider(EP)は個別に用意しなければいけない。開発者としては、『ハードウェアの個別対応はしたくない。違いはOS側で吸収してくれ』と言いたくなるはずだ。

 この状態は、DirectXが誕生する前のビデオチップ、今で言うGPUの状況に似ている。チップごとの差異を抽象化しつつ、高い性能を発揮するための仕組みとして、DirectX(特にDirect3D)が導入された。NPUでも、同じアプローチが進んでいる。

「Windows ML」が全てのNPUをカバーし、性能も担保する

 1つは前回も少し触れた「DirectML」だ。ONNX RuntimeのEPの1つとして、NPUの差異を吸収するだけでなく、GPU、CPUのどれで動かすべきかを適切にコントロールする。

 ただ、DirectMLはもともとはGPUでAIを動かすためのもので、NPUへの対応は後から行われた。NPUを共通のAPIで扱えるという利点はあるものの、特定メーカーのNPUに特化して最適化するものではないため、各社の専用EPに性能が劣る可能性もある。NPUの活用に絞って考えれば、よりNPUに特化できる別の仕組みが欲しい。

 そこで登場するのが「Windows ML」だ。DirectMLと名前は似ているが、代替品ではない。DirectMLがONNX RuntimeのEPの1つとして動くのに対して、Windows MLはONNX Runtimeを内包する、より上位のレイヤーに位置するものだ。

 Windows MLにより、開発者はハードウェアの違いを意識することなく、ONNX形式のモデルを呼び出して動かせる。Windows MLがハードウェアに応じて適切なEPを選んで、ONNX Runtimeで動かす仕組みだ。DirectMLもEPの1つとして存在はするが、Windows MLでは各社の専用EPをハードウェアに応じて呼び出せる分、高い性能を担保しやすい。

Windows MLはハードウェアに応じて適切なEPを選んで、ONNX Runtimeで動かせる

 逆に使いたいEPを選ぶことも可能。省電力性を求めるため、できるだけNPUを使いたいといったことや、特定のCPUメーカーのNPUのみ使用するということもできる。

 たとえWindows MLによってNPUを含むハードウェアを意識せずに開発できたとしても、完成したものが開発者の想定した動作であるか、あるいは十分なパフォーマンスが発揮できるかは別の話。検証するにはそのハードウェアが必要になるので、NPU対応は部分的にするという選択ができることも大切だ。

 もう1つメリットと言えるのが、Windows MLが既にWindows 11(24H2以降)の機能としてサポートされている点だ。各NPUに対応する最新のドライバーやEPは、Windows Updateで更新できるようになっている。開発者は、ユーザーが最新のソフトウェア環境を整えられるという前提で最新機能を提供できる。

完成度は今後さらに高まっていく

 Windows MLにより、開発者は各社のNPUに特化したプログラムを書く必要はなくなり、アプリにEPやONNX Runtimeを含める必要もなくなってソフトも小さくなる。全ての人が望む形に向かっていることは確かだ。

 では今後はWindows MLのおかげでNPUをフルに活用できる状況になるかというと、まだそう簡単にはいかない。適切なEPを自動で選ぶという挙動が常に適切かどうか、どのように最適化されているかによって、パフォーマンスはばらつきが出る。開発者は直接触らなくてよくなった反面、見えない動作が増えるため、問題の把握がしづらくなる。今後も精度を高めていってもらう必要はあるだろう。

 またEPそのものの品質にも差が出る。Intel、AMD、Qualcommの3社のそれぞれのEPが、常に同じ性能を発揮するわけではない。同じCopilot+ PCでも先行したQualcommは成熟度が高いという話もあり、特定のプラットフォームではパフォーマンスが低かったり、想定どおりに動作しないという可能性もある。

 Windows MLという枠組みはできたが、まだ発展途上にある。今後も開発が進められつつ、流れの早いAIニーズに合わせた進化をしていくのだろう。ユーザーとしてはこの先、NPUを搭載したPCが増えると同時に、NPUを意識することなくAI機能が使えるようになっていくはずだ。

 そもそもNPUは搭載しているものの、パフォーマンスが足りず想定した使い方にならないということもあり得る。Copilot+ PCで40TOPSという性能が担保されていることは、Windows MLが成熟していく土台を作るためにも重要になる。

著者プロフィール:石田賀津男(いしだ かつお)

1977年生まれ、滋賀県出身

ゲーム専門誌『GAME Watch』(インプレス)の記者を経てフリージャーナリスト。ゲーム等のエンターテイメントと、PC・スマホ・ネットワーク等のIT系にまたがる分野を中心に幅広く執筆中。1990年代からのオンラインゲーマー。窓の杜では連載『初月100円! オススメGame Pass作品』、『週末ゲーム』などを執筆。

・著者Webサイト:https://ougi.net/