Windows 12は名前に過ぎないので
出るか出ないのかは、すべてMicrosoft次第
「Windows 11」というのはMicrosoftが提供するOSの名前である。Windows 95以来のWindowsは、ソフトウェアなのにバージョンではなく名前で区別されるようになった。
もちろんそれぞれのWindowsにもバージョン番号自体はある。現在のWindows 11には、Ver.23H2というバージョンがあって、次のバージョンは、Ver.24H2になる予定だ。しかし、これもWindows 11という名前の中で、それぞれを区別する名前の一部でしかない。
これらはあくまでも名前なので、技術的な観点ではなく、ビジネス的な観点から付けられる。Windows 10もWindows 11も、内部的には「10.0.xxxxx」というバージョン番号を持つ。この番号になったのは、Windows 10から。この番号という視点からは、Windows 10もWindows 11も同じものであることがわかる。
5月21~23日(言質時間)の3日間、米国でMicrosoftのイベント「Build 2024」が開催されたが、発表の大半はAzureやAI関係だった。Windowsについては、「Copilot+PC」というブランドこそ発表されたが、これは6月にも販売が始まるものであり、次のWindowsの話は含まれていなかった。
もっとも、2021年のWindows 11時も、Build終了後に単独で発表され、すぐにプレビューの配布、同年10月には正式版が登場したので、このあとWindowsがどうなるのかは、イベントからはわからなかった。「Windows 12」は単なる名前なので、出るのか出ないのか、それがいつなのかは、すべてMicrosoft次第なのだ。
Copilot推しを進めるMicrosoft
AIとOSとの統合では一歩進んでいるWindows
昨年、プレビュー版Windowsで搭載が始まったMicrosoft Copilotは、今ではWindows 11のタスクバーの右側にアイコンがあって存在感を示している。実際にMicrosoftはCopilotに大きく力を入れている。
今のところ、Googleや他社のLLM(大規模言語モデル)はCopilotと同等のレベルには到達してはいない。また、ChromeOSや他のOSは、AIは使えてもCopilotのようなOS統合までは進んでいない。とは言え、ChromeOSやAndroid、iOS、macOSあたりは、LLMや生成AIを搭載する方向に向かうと思われる。一方で、Linuxは必ずしもクライアントOSだけが用途ではないし、この方向には進まないだろうと考えられる。
さて、次のWindowsがどうなるのかだが、ポイントはやはりBuildで発表された一連のAI関連技術だと思われる。おそらく、次のWindowsでもMicrosoftはAI技術を全面に押し出してくると思われる。
ただ、MicrosoftだけでAI統合アプリケーションを作るのでは話が進まない。今回のBuildで発表された一連のAI関連技術は、サードパーティにAI統合アプリケーションの開発を促すものと言える。開発環境を整備することで、アプリケーションにAIを統合しやすくした。
このうち、「Copilot Runtime」は、一連のAI統合アプリケーション開発向けの“ブランド”であり総称でしかない。中心になるのは、この中にあるCopilotライブラリである。
![Windows](/img/2024/06/02/3741356/l/ef8ccf0d006866d2.jpg)
Windows Copilot Runtimeはあくまで総称であり、主要な機能は中央の「Windows Copilot Library」にある。上は単にアプリケーション、下は、AIフレームワークや開発用のソフトウェア(toolchain)である。Windows Developer Blog(https://blogs.windows.com/windowsdeveloper/2024/05/21/unlock-a-new-era-of-innovation-with-windows-copilot-runtime-and-copilot-pcs/)より
発表されたSemantic Index/Understandingサービス、Phi Silica、Recall APIなども、このCopilotライブラリ経由で利用する。このCopilotライブラリは、Windows App SDKに含まれる。
ポイントはローカルでの推論実行だろう。ローカル推論に必要となるのが、NPUやGPUによるアクセラレーションだ。Copilot+PCは、これをモバイルPCで実行するためのものだ。
ARMプロセッサは電力効率の点から現行のx64系プロセッサよりもモバイルに向く。ARMプロセッサは高性能になったとはいえ、モバイルPCに使われる場合は、電力効率を高めつつ、高性能な推論処理をしなければならない。いくらCPUが高性能でも、AC電源に接続し、大量のメモリーや高性能なGPUを搭載するデスクトップPCと同じにはならない。しかし、Windowsである以上、ARMのモバイルPCでも同じ環境を実現しなければならない。このためにNPUが必要になったわけだ。
一般にAI(深層学習、DNN:Deep Neural Network)では、AIを構築することを「学習」、作成されたニューラルネットワークを使うことを「推論」という。学習には、膨大な計算量が必要で、学習専用に作られたデータセンターなどを使っても数ヵ月程度が必要とされている。これに対して、推論は通常のPCでも実行可能だが負荷は低くない。ニューラルネットワークが大きくなれば、GPUやNPUがないと、実用的な時間で推論ができない。
ただし、推論に関しては、扱う浮動小数点のビット数を小さくすることで、有効性を保ちつつ、データを縮小し推論を高速化することが可能であることがわかってきた。このため、SIMD演算でたとえば、4bitや8bitなどの数値を計算できると推論を高速化できる。NPUやGPUは、こうした短いビットのSIMD演算に以前より対応していた。
現在のCopilotは、クラウド側(Azure上)で推論がされているが、このまま、利用率が増大すると、Azure側にどれだけリソースを投入しても足りなくなる。このため、クライアント側での推論ができる環境を作り、負荷を分散させようというわけだ。これは、今後登場するであろう、MicrosoftやサードパーティのAI利用アプリケーションが増えても必要になる。
特にCopilot+PCの目玉機能として発表されたRecallは、大量のスクリーンショット上のテキストなどを認識させる必要がある。もし、これをクラウド側だけで実現しようとすれば、現在のCopilotとのチャットとは比べものにならないぐらいの推論処理量が必要になり、通信量もバカにならない量になってしまう。Recallはローカル推論だからこそできる技術なのである。
ローカル推論が可能な環境がWindows上に作られれば、構築済みのさまざまなニューラルネットワークを使って、さまざまなAIが利用可能になる。ニューラルネットワークによるAIは、前述のように膨大な学習が必要な反面、学習させたニューラルネットワークは、特定の機能しか持たない。SFやアニメのAIのように“何でも答えられる”わけではないのだ。
CopilotはChatGPTベースの機能を使い自然言語で応答できるが、画像の生成AIにはまた別のニューラルネットワークが使われている。あるいは、自動運転に使われるニューラルネットワークは、Copilotとはまったく別のニューラルネットワークである。
この先、AIがより普及すれば、さまざまな要望が起こり、多数の目的別のニューラルネットワークが必要になってくる。これをサポートする1つの方法がONNX Runtime generative AI libraryだ。ONNXとは「Open Neural Network Exchange」の略で、学習済みのニューラルネットワーク(これをモデルという)を、さまざまなプラットフォームで利用可能にするものだ。
ONNXは、モデルの汎用的な表現を定義する。ONNX Runtimeとは、交換可能になったONNX形式のモデルを単一のAPIで呼び出せるようにしたもの。ONNX Runtime generative AI libraryとは、ONNX RuntimeをWindowsのアプリケーションから呼び出せるようにする仕組みである。
これを使うことで、CopilotのベースになったGPT以外のLLMもONNX形式にすることで利用が可能になる。Buildで発表されたDirectML(GPUを使ったWindowsの機械学習サポート機能)の4bit量子化は、ONNX Runtimeで必要なものだ。
AIによっては、既存のAIの組合せや、追加の簡単な学習で対応が可能だが、まったく新しいニューラルネットワークや学習が必要な場合が出てくる。Azureは、こうしたAI開発や学習のプラットフォームとして利用され、推論はローカルマシンという切り分けになると思われる。今回、Azure関連の新機能が多かったのは、こうした背景がある。
![](/img/blank.gif)
この連載の記事
-
第446回
PC
Windows 11のフォトアプリがUWPからWin32アプリになったことで今更わかるUWPの問題点 -
第445回
PC
次期Windows 11ではAndroidのファイルをエクスプローラーからアクセス可能になる -
第444回
PC
外部ファイルをExcelに読み込む際の作業を効率化するPower Queryの活用 -
第443回
PC
Windows Terminalで採用されたCascadia Codeフォントを使うとプログラムを書くとき断然見やすい -
第442回
PC
Copilot+ PCで実現されるローカル推論で「対クラウド企業」を指向するMicrosoft -
第441回
PC
WSL以前から40年以上続く、Windows(Microsoft)とUNIXとの関わり -
第440回
PC
そもそも「Copilot+ PC」とは何なのか? -
第439回
PC
今更more.comを使うのか!? Windowsでのページングを考える -
第438回
PC
Windowsはなぜ再起動が必要になるのか? -
第437回
PC
Windowsが今更(?)開発者に優しくなろうとしている!? 「Dev Home」は開発者にとって使い物になる? -
第436回
PC
Copilot+PCとともにWindowsのデバイス間連携に大きな変化!? Project ROMEの逆襲? - この連載の一覧へ