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ライブラリである。
発表された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関連の新機能が多かったのは、こうした背景がある。
この連載の記事
-
第459回
PC
WSL 2.4.4ではtar形式でのディストリビューションが配布でき、企業での利用が容易になってきた -
第458回
PC
Windows上でhostsファイルを活用する -
第457回
PC
IPv6アドレスは先頭を見ればどんな種類かわかる -
第456回
PC
あらためてIPv6基本のキ -
第455回
PC
Windowsで現在どのネットワークアダプタがインターネット接続に使われているかを調べる方法 -
第454回
PC
Windows 11 24H2では「デバイスの暗号化」の条件が変わり、より多くのPCでドライブが暗号化される -
第453回
PC
Windows 11 24H2の配布開始後もすぐにはやってこない Windows UpdateとSafeguard Holds -
第452回
PC
Windows 11 Ver.24H2が登場 Copilot+ PCとそうでないPCで実質Windowsが2つに分かれる -
第451回
PC
新しいWindowsサンドボックスではコマンドラインからの制御が可能に -
第450回
PC
ユニコードで文字数を数える方法 -
第449回
PC
WSLはプレビュー版でGUIでの設定が加わった! リリース2.3.xの新機能を見る - この連載の一覧へ