Copilot+ PCでは、搭載されているNPUを使いローカル推論ができる。このローカル推論機能は「Copilot Runtime」と呼ばれ、さまざまなローカル推論用コンポーネントから構成されている。
“Runtime”と呼ばれるのは、ローカル推論機能を利用するためのAPIが用意されていて、サードパーティのアプリケーションからでもAI機能を利用可能にしているからだ。
今回は、このCopilot Runtimeの機能を調べてみることにする。調査には、Microsoftがソフトウェア開発用に提供しているサンプルプログラムを使うことにする。
そもそもWindows Copilot Runtimeとは?
Windows Copilot Runtimeは、Windows App SDKに含まれるローカル推論用のAPIセットである。APIセットとは、アプリケーションを開発するときに利用する機能をまとめたもの。C++やC#などの言語から呼び出して利用する。
Windows Copilot Runtimeには、大きく以下の機能がある。
Phi Silica:ローカル実行可能な小規模言語モデル
テキスト認識:画像から文字を抽出
イメージング:画像の要約やオブジェクトの識別など
Studio Effects:組み込みのマイク、カメラに対するAI機能
Recall:過去の操作を記憶し、検索を可能にする
ライブキャプション:画像や音声をテキスト化
モデレーション:AI生成コンテンツに対する「有害性」「セキュリティ」による制限設定
いくつかの機能は、すでにWindowsで利用可能なものがあるが、Windows Copilot Runtimeでは、NPUを使ったローカル推論を使う点が異なる。つまり、Windows Copilot Runtimeは、高性能なNPUを搭載したCopilot+ PCでしか動作しない。
評価に利用したサンプルプログラムは、GitHubのMicrosoft/WindowsAppSDK-Samplesリポジトリにある「Windows Copilot Runtime Sample」(https://github.com/microsoft/WindowsAppSDK-Samples/tree/main/Samples/WindowsCopilotRuntime)だ。
ただし、ソースコードだけなので、Visual Studioなどを使ってサンプルコードをビルドする必要がある。今回の記事とは直接関係ないので手順の解説などは省く。VS2022で開発環境を作り、「Latest downloads for the Windows App SDK」(https://learn.microsoft.com/en-us/windows/apps/windows-app-sdk/downloads)から「Windows App SDK 1.7 Experimental3(1.7.250127003-experimental3)」をダウンロードしてインストールした。
そのソースコードからビルドしたのが、以下の画面の「Windows Copilot Runtime API Samples」だ。

Microsoftが提供しているCopilot RuntimeのAPIを使うサンプルプログラム。現状Phi Silicaを使うには、API経由で呼び出すしか方法がない。Phi Silicaを使うと、タスクマネージャのNPUのグラフが上がりNPUが稼働していることを示す
ウィンドウの左側には、Copilot Runtimeの機能のうち「Language Model」「Image Scaler」「Image Object Extractor」「Image Description」「Text Recognizer」がある。
「Language Model」は、さらに「Text Completion」「Text Intelligence skills」「Text Embedding」の3つの機能に分かれる。また、このプログラムで推論を実行すると、タスクマネージャの「パフォーマンス」にある「NPU」の利用率グラフが上がり、NPUを使っていることがわかる。
ローカル実行可能な小規模言語モデル
小規模言語モデル(Small Language Model)とは、ChatGPTなどの「大規模言語モデル」に対応する存在で、データセンターではなく、ローカルで動作する言語モデルをいう。Phi Silicaは、そのために作られたもので、Windows App SDKのプレビュー版に含まれている。
ただし、今のところまだプレビュー版(実験版)であり、完全な状態ではない。特に言語により回答の質にばらつきがある。日本語に関しては、現状未完成な状態と言え、実質的には「英語版」と考えた方がいいかもしれない。
まずは、「Language Model」の「Text Completion」に質問してみた。「ブドウ糖とは何ですか?」という質問を、英語、スペイン語、日本語でPhi Silicaに尋ねてみた。英語の回答はまともだが、スペイン語の回答はすでに少々怪しい。日本語に至っては、ほとんど説明になっていない。

同じ質問をスペイン語で行うと少し回答が怪しくなる。回答の先頭部分を訳すと「グルコースは単純な砂糖で、『生命の燃料』としても知られています。それは、特に人体の繁殖と機能のために、生きている生物の重要な食物です。砂糖またはタバコとも呼ばれます」というものだ
ローカル推論のメリットの1つは、インターネット接続がない場合(オフライン)でも動作できる点だ。オフラインで同じ英語の質問をすると、短くなるものの回答自体は得られる。
「Text Intelligence skills」は、入力されたテキストを処理する機能で、現状の「汎用(General)」「要約(Summarize)」「書き換え(Rewrite)」「表作成(Text to table)」の4つの機能がある。ここでは「汎用」を選んで、カンマ区切りファイルを入れてみた。
表作成であることが認識され、Markdownのテーブル形式に変換された。
次回は、イメージ関連機能を試し、Phi Silicaの解説をする予定だ。

この連載の記事
-
第483回
PC
Microsoftが作るコンソールエディタがこの時代に復活 -
第482回
PC
WSL(Windows Subsystem for Linux)向けにFedoraディストリビューション登場 -
第481回
PC
Windows 11にそろそろ聞こえる25H2の声 -
第480回
PC
PowerShellが使う色を変更する -
第479回
PC
Copilot+ PCで利用できる「Windows Copilot Runtime」を試す ローカル推論用モデル「Phi Silica」とは? -
第477回
PC
Windowsで2つの文字列を同時に含むテキストファイルを探す方法を考える -
第476回
PC
さらばSkype! Windows&MSのコミュニケーションアプリの30年 -
第475回
PC
Windowsのコマンドラインの補完機能について解説 -
第474回
PC
Windowsでのコマンドラインのヒストリ機能 -
第473回
PC
Windowsは内部的にどうやってインターネットへの接続状態を確認している? - この連載の一覧へ