実はWindows 10から準備を進めてきたMicrosoft
ローカル推論を可能にするCopilot+ PCへの最初の取り組みは、Windows 10にAI(機械学習)用のAPIやデバイス利用を可能にするドライバモデルなどの構築から始まった。AI用のWindowsML API(WinRTのAPI、MLは機械学習の意)は、Windows 10 Ver.1809で導入され、NPUを使うためのドライバMCDM(Microsoft Compute Driver Model)は、Windows 10 Ver.1903に搭載されたWDDM 2.6から定義されている。
MCDMは、従来のGPUドライバモデルをベースにしているものの、デバイス側にメモリ管理ユニット(MMU)を必須とすることなど、異なる構成のドライバモデルである。このあたりから、ローカル推論を最終目的にしていたようだ。このMCDMの上にあるのが、DirectML(Direct Machine Learning)である。
DirectMLは、ハードウェアによる機械学習用演算を行うための抽象化をする低水準APIだ。GPU、NPUを問わず、ハードウェア演算を一定のAPIの組合せで実現できる。3DグラフィックスのためのDirectXの一部であり、2019年のWindows 10 Ver.1903でWindowsに導入された。
このMCDMやDirectMLを調べるとCopilot+ PCでのローカル推論のやり方が見えてくる。仮想メモリ空間にモデル(学習済みのニューラルネットワーク)を置き、API経由でNPUを起動することで、DMAを使いNPUがモデルのパラメーターを計算、入力に応じた結果を出す。その間、メインCPUやGPUは別の作業を進めることが可能だ。
以前の記事(「AIの急速な導入がWindowsの予定を変えた!? Windows 12がすぐには出ない可能性」)で紹介したONNXは、もともとはFacebook(現Meta)で開発されていたが、2017年からMicrosoftとの共同開発のオープンソース・プロジェクトになった。
2018年に公開されたONNX Runtimeは、Microsoftが立ち上げたプロジェクトだ。当初は、Azure上でさまざまなモデルを動かすために使われていたが、Copilot+ PCでは、ローカル推論用モデルのインターフェースとなった。
またDirectMLは、Build 2024でPyTorch(Python上の機械学習ライブラリ)にも対応したことが発表された。PyTorchを使って作られたモデルは、Copilot+ PCでは、DirectML経由でNPUを使ったローカル推論が可能になる。
PyTorchも旧Facebookで、Torch計算ライブラリをベースにAI処理向けに開発された。ONNXは当初、FacebookがメンテナンスしていたPyTorchと、Caffe2の間でモデルを交換するために作られた。PyTorchはその後Caffe2を統合し、主力の機械学習ソフトウェアの1つとなった。
こうしたことから、Copilot+ PC/Windows Ver.24H2では、受け入れ可能なモデルとしてONNX、PyTorchの2つが用意された。このため、著名なモデル(たとえば物体認識のYOLOなど)が、ローカル推論モデルとしてCopilot+ PC/Windows Ver.24H2で動作するはずだ。
スマートフォンでも高性能なNPUを使いローカル推論をすることは可能で、すでにNPUを搭載したSoCを使うスマートフォンも少なくない。しかし、ノートPCに比べるとバッテリやメモリなどのリソースが限定され、Copilot+ PCと同程度のモデルをローカル推論で利用することは難しいのではないかと思われる。
Copilot+ PCと似た「ブランド」として、1990年代初頭のマルチメディアPC(MPC)があった。これは、サウンドカードとCD-ROMを搭載したPCのことだったが、今ではその影もない。しかし、サウンド機能を持たないPCはもう存在しない。また、インテルも2003年にモバイルPCで「Centrino」ブランドを立ち上げたが、そのロゴももう見かけなくなった。しかし、Centrinoが条件とした無線LANを搭載していないモバイルPCはもはや見かけない。
Copilot+ PCも同じで、いずれその名前は消えるが、高性能なNPUは残るだろう。
![](/img/blank.gif)
この連載の記事
-
第444回
PC
外部ファイルをExcelに読み込む際の作業を効率化するPower Queryの活用 -
第443回
PC
Windows Terminalで採用されたCascadia Codeフォントを使うとプログラムを書くとき断然見やすい -
第442回
PC
Copilot+ PCで実現されるローカル推論で「対クラウド企業」を指向するMicrosoft -
第441回
PC
WSL以前から40年以上続く、Windows(Microsoft)とUNIXとの関わり -
第439回
PC
今更more.comを使うのか!? Windowsでのページングを考える -
第438回
PC
Windowsはなぜ再起動が必要になるのか? -
第437回
PC
Windowsが今更(?)開発者に優しくなろうとしている!? 「Dev Home」は開発者にとって使い物になる? -
第436回
PC
Copilot+PCとともにWindowsのデバイス間連携に大きな変化!? Project ROMEの逆襲? -
第435回
PC
Windows Terminal Preview v1.21では、前回終了時のタブとその表示内容を復元できるように -
第434回
PC
AIの急速な導入がWindowsの予定を変えた!? Windows 12がすぐには出ない可能性 - この連載の一覧へ