1. トップ
  2. 新着ニュース
  3. IT
  4. IT総合

そもそも「Copilot+ PC」とは何なのか?

ASCII.jp / 2024年7月14日 10時0分

Copilot+ PC
Copilot+ PCにはロゴがあり、プラスとPCの間にスペースがない。しかしよく見るとプラスの部分が図案化されており、文字ではないことはわかる

Copilot+ PCは 決して「Copilot+PC」ではなく、「Copilot+」な「PC」

 今いろいろ話題のCopilot+ PC、「Copilot+PC」と勘違いされることも多いようだ。Microsoftのドキュメントでは、確実に「Copilot+␣PC」になっていて、決して「“Copilot”+“PC”」ではない。

 メディアなどに出てくる公式の画像で、スペースなしの「Copilot+PC」のように見えているのは、すべてロゴ。よく見るとプラス記号のところが図案化されていて「文字」ではない。

 では、Copilot+ PCとは、どういうことかというと、そのまま「Copilot+」な「PC」ということになる。Copilot+については、パッと見よくわからないが、少なくとも現在のCopilotよりは機能が向上している、あるいは何かが追加されているもの、最低限でも何かが違うCopilotを表すことはわかる。

 なお、Microsoftのドキュメントによれば、Copilot+ PCは、40 TOPS(Tera Operation Per Second)以上のNPU(Neural Processing Unit)を搭載し、以下のプロセッサを搭載したものとされている。

Qualcomm Snapdragon X Elite Intel Lunar Lake(Core UltraのSeries 2になる予定) AMD Ryzen AI 300(コード名Strix Point)

 ただし、CPUはこれだけに限定はされないとしており、このほかメモリやストレージの条件もある。すでにインテルやAMDのプロセッサが予定されていることから、年内にも3社のCPUを搭載したCopilot+ PCが多数登場することになる。

 NPUで40 TOPS以上を実現することが必要というのは、バッテリ駆動中でもCopilot+的な機能を利用可能にするためだ。インテルの資料によれば、次世代プロセッサのLunar LakeのGPUには、67 TOPSの性能がある。なのにGPUとは別に48 TOPSのNPUも搭載されている。

Copilot+ PC
Intelの発表資料によれば、Lunar LakeのGPUには、67 TOPSの性能があるにも関わらず、別にNPUを搭載している

 また、ダイレイアウトを見ると、NPUは、GPUの2/3ほど面積を持っており、簡単に搭載できるほど小さなものでもない。なのに、わざわざNPUを搭載するのは、消費電力が異なるからだ。

Copilot+ PC
Lunar LakeのCompute Tileでは、NPUはGPUの2/3ほどの面積で、Eコアブロックよりも大きい。こうした負担をしてまでもNPUを搭載する理由は、電力効率が高く、モバイルでのローカル推論などに必須だからだ

 簡単に言えば、同じAI処理をさせたとき、GPUのほうが消費電力が大きくなる。ノートPCで3Dのアクションゲームを動かすとあっという間にバッテリが尽きてしまうのと同じである。

 そもそもGPUは、3Dグラフィックスで必要な座標計算などを短時間で大量にすることを想定して作られている。AI処理だけでなく、汎用の浮動小数点演算なども可能にしているため、多種多数の演算ユニットが内蔵されている。このため、消費電力は小さくない。

 それに対してNPUは、AI処理のみ、演算ユニットも必要最小限のものしか搭載していないため、消費電力を抑えることが可能だ。なので、同じAI処理であればGPUよりはるかに小さい電力しか消費しない(とはいっても無視できないほど小さいわけでもない)。

 ただし現時点では、Copilot+ PC製品は、ARMプロセッサ(Snapdragon)を搭載したものしか発表されていない。おそらく、CPUの提供時期にばらつきがあり、3社同時の出荷開始が困難だったと考えられる。

Copilot+ PCの本格スタートはWindows 11 Ver.24H2から

 Copilot+ PCに関しては、すでに発売されているSnapdragon Xシリーズの性能や、ARM64版Windowsの互換性を問題視する記事もあるようだが、それは今現在の問題でしかない。年内に3社のNPU内蔵CPUを搭載したCopilot+ PCが登場して、選択可能になるからだ。

 しかし、Copilot+ PCが本格的に稼働できるようになるのは、秋に完成予定のWindows 11 Ver.24H2からだと考えられる。その前のタイミングで、Snapdragon搭載のCopilot+ PCだけが発表されたので、奇妙なものに見えてしまう。ソフトウェアが完全ではないので、Copilot+ PCの全容を語ることができないのであろう。

 インテル/AMDの新しいプロセッサを搭載したPCが出荷される頃には、24H2がプレインストールされている可能性が大きい。そうなってようやくCopilot+ PCが本来の性能を発揮できる。

 なぜ、Snapdragon搭載のCopilot+ PCだけが先行して発表されたのか、そのあたりの理由はよくわからない。Qualcommが、IntelやAMDと同時だと埋没してしまうと考えたのか、前夜祭的に先行発表したのか。Windows 11のこれまでの開発スケジュールから見ると、むしろAMDやIntelのほうが順当なタイミングである。

 プレビュー中のWindows 11 Ver.24H2のプレビュー版では、Copilotアイコンがタスクトレーからタスクバーアイコンに変更になった。

Copilot+ PC
Windows 11 Ver.24H2のプレビュー版では、Copilotアイコンはタスクバーアイコンとなり、タスクトレー右側には存在しなくなった。起動されるのはプログレッシブWebアプリで、BingのCopilotをウィンドウ内に表示するもの

 しかし、このアイコンで起動されるのは、実はプログレッシブWebアプリ(Progressive Web App、PWA)である。つまり、実体は、BingのCopilotで、これをPWAとしてウィンドウの中で動かしているにすぎない。

 起動すると、PWAをローカルでホストするpwahelper.exeが起動し、「https://copilot.microsoft.com/」を使って、Copilotがウィンドウ内で動作する。PowerShellでpwahelper.exeプロセスの起動時のコマンドラインを調べることで、概要を知ることができる。

Copilot+ PC
pwahelper.exeのプロセス情報から起動コマンドラインを調べることで、アプリ版CopilotがPWAであり、Bing側のCopilotを使っていることがわかる

●Windows PowerShell Ver.5.xの場合 get-process | ? ProcessName -like "*pwahelper*" | %{ (Get-CimInstance Win32_Process -Filter "ProcessId=$($_.id)").CommandLine } ●PowerShell Ver.7.xの場合 (get-process | ? ProcessName -like "*pwahelper*").commandline

 Windows 11上のCopilotは、今春くらいまでは、Windows 11の設定を変更する機能(スキル)を持っていたのだが、現在のCopilotにはそれがなく、設定を変更できない。これは、23H2でもDevチャンネルのプレビュー版24H2でも同じ。

 24H2の完成時には、Copilot+ PCではおそらくWeb版Copilotとは別にローカル推論版Copilotが動作する予定だ。Windows 11 Ver.24H2では、ローカル推論を使う一連のAI機能に、たとえば「Copilot+」のような名称を付け、現状のBing Copilotとは区別することになるのだろう。

 ローカル推論版では、クラウド版Copilot(Bing Copilot)のような大規模なモデルは利用できないが、PC内の大量のローカルデータに対して、高速でのAI処理が可能になる。そのサンプルとして作られたのがrecallだ。ローカル推論であれば、大量のローカルデータを処理することが可能で、クラウド側にデータを送る必要がない。

 おそらくCopilot+ PCでは、マイクロソフトが開発したPhi-Silicaと呼ばれるSLM(Small Language Model、小規模言語モデル)をCopilotアイコンから起動することになると思われる。SLMとは、LLM(Large Language Model、大規模言語モデル)との対比で使う言葉だ。

 たとえば、ChatGPTはLLMである。しかし、LLMは巨大なので、特にノートPCで動作させることは難しい。Copilot+ PCの必要メモリは、最低16GBと従来よりも大きくなっている。これは、Phi-Silicaなどのニューラルネットワークをメモリに置きながら、複数のWindowsアプリケーションを動作させるためだ。

 Phi-Silicaを使ったアプリケーションは、すでにWindows APP SDKで開発が可能になっている。そこから考えると、Phi-Silicaのローカル推論モデルは、Windows 11 Ver.24H2の一部であるとも考えられる。

実は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は残るだろう。

この記事に関連するニュース

トピックスRSS

ランキング

記事ミッション中・・・

10秒滞在

記事にリアクションする

記事ミッション中・・・

10秒滞在

記事にリアクションする

デイリー: 参加する
ウィークリー: 参加する
マンスリー: 参加する
10秒滞在

記事にリアクションする

次の記事を探す

エラーが発生しました

ページを再読み込みして
ください