Surface Pro 9 with 5GやProject Volteraと言われたArmプロセッサWindows PC「Windows 開発キット 2023」が発売され、ハードウェアレベルでのWindowsの進化がより進みつつあります。
ただ、ここで話が出てくるNPUとどのような関係があるのか?今後のWindowsはどのような展開があるのか書いてみたいと思います。
まず、Windows Studio Effectsについてお話ししまょう。Windows Studio Effectは、Windowsのカメラ映像や音声入力に下記の機能を与えます。
特定のアプリケーション向けではなくWindowsのカメラ入力、音声入力の機能になります。よって、TeamsだけではなくZoomやWebex、その他カメラと音声入力をするすべてのアプリケーションから使うことができます。
これらの機能には映像と音声をリアルタイムに識別して補正する処理が必要になります。ここでNPUが活躍します。Windows Studio EffectはNPUを搭載したデバイスでないと機能しません。現時点ではArmプロセッサのQualcomm SnapdragonとMicrosoft SQ3のみが対応しています。
では、ここで出てくるNPUとは何かをお話しします。NPUとはNeural Processiong Unitを示します。
そもそもNPUで実現するニューラルコンピューティングとは何でしょう?
人間の脳細胞を模したもので、脳内の神経細胞(ニューロン)とニューロン同士を接続するつながりであるシナプスから構成されます。下図の丸がニューロン、線がシナプスです。一例ですが、入力した情報(例えば画像)から条件を抽出してそれらの関連性のかさみ漬けから答えを導きだしていきます。下図では左側が情報の入力、中間が推論過程、右側が答えになります。よくある例が、犬と猫の画像を読み込ませて、それぞれの特徴の情報から選別して最後に犬か猫かを判定するものを見たことがあると思います。
これが沢山の情報から判定する必要があり、「複数の処理を同時に」行わなければなりません。また、この過程で複雑な数値計算は必要としません、大抵は「行列計算」であり実際は「加算」か「乗算」を行います。よって浮動小数点演算のような機能ではなく単精度の整数演算で十分なのです。
もちろん、推論するための学習データを出すトレーニングと、推論する手法もあります。ここでは割愛させていただきます。
Windows Studio Effectsから見ると、背景ぼかしをするために「人の形」を見極めて、映像の中のどこまでが人でどこからが背景なのかを割り出さなけはなりません。映像から「人」である部分を推論するのです。自動フレーミングについても同様でしょう。映像の中から動いている人を割り出します。同様にノイズキャンセリング機能も主に話している人の声とバックの騒音、他の人の会話を分けなければなりません。それをリアルタイムに行っています。同時に入ってくる沢山の情報を同時に処理しなければなりません。
さて、入力された沢山の複数の情報を同時に処理するものが必要です。CPUとGPUでできるんじゃない?と考えるとそれぞれ特性が違うのです。
よって、ニューラルコンピューティングはCPUとGPUで賄えていたのですが、更に効率よく低消費電力で処理するNPUがあるということです。CPUとGPUにもそれぞれ仕事があり、その他のAI的な処理はNPUに任せるというトレンドになってきます。特にスマートフォンの世界ではカメラ機能や各種認識機能をはじめとしてNPUが活躍しています。
また、ニューラルコンピューティングにおいては「トレーニング」と「推論」というフェーズに分かれています。特にモバイル系では「推論」の機能に注力していることもあります。つまりトレーニング済みの学習情報を持っており、そこから推論する動きになっているようです。
QualcommのSOC Snapdrgon 8cx Gen3には下記のトレーニング情報を持っています。ここからデータを入力して推論させてWindows Studio Effectsなどに適用しています。「オートフレーミング」「ノイズキャンセル」「音声アクティベーション」「顔検出」「ジェスチャートラッキング」などをサポートしています。
また、QualcommはMicrosoft SQ1の段階でWindows Studio Effectsのアイコンタクトの機能を実装し始めていました。(AI Accelerated Experiences & Security with Windows on Snapdragon – Qualcomm Developer Network)
Ignight 2022の動画(*1)ではMicrosoftのGroup Program managerのFred Balsigerさんがこのように言われています。
「Windows Studio Effectsは特定のハードウェアSnapgradon 8cx Gen3(Microsoft SQ3のベース)で動いている。他のOEMやハードウェアベンダーとも連携する。デバイスとWindowsエコシステムを構築し続けるためにも Windows Studio Effects は公開する。」
「将来、有望なNPUにWindows Studio Effectsを採用する計画もある。したがって、業界全体の将来の技術がこれらのNPUを活用し、すべてのWindowsマシンでWindows Studio Effectsのますます広範囲なエコシステムが見られるようになるでしょう」
そのためにはNPUを活用するライブラリが必要です。現時点ではQualcommのSnapdgrgonに特化した仕組みとなっているようです。
「Windowsの場合、QualcommはSnapdragonのNeural処理エンジンAPIを利用できるようにしている。(*2)これでNPUで直接処理できるようになっている。とはいえ、特定のハードウェアアーキテクチャを抽象化して、開発者向けのより包括的なソリューションに取り組んでいる。これについては来年のBuildまでに情報を提供していく。」(Fred Balsigerさん)
今後はCPU、GPUに続く重要なデバイスとしてNPUが活用されていくことをマイクロソフトは明言しています。Windows Studio Effectsだけではなく、AIの機能を生かした機能追加が望まれます。
(*1) Demystifying AI NPU and Machine Learning within Microsoft Surface to enable better | OD25
(*2) Mobile Development – Qualcomm Developer Network
Qualcomm Neural Processing SDK for AI – Qualcomm Developer Network
NPUを活用したWindowsのAI機能はArm版Windowsマシンだけなのでしょうか?現時点ではそうなります。但し、上記に書いた通り「将来、有望なNPUにWindows Studio Effectsを採用する計画もある。」とマイクロソフトは言っています。インテルやAMDがNPUを出せばまたは現行CPUに内蔵すれば、自ずと対応されるのではないかという期待があります。
ここからは推定のお話になります。インテルとAMDはNPU(またはそれに準ずるもの)にどのように対応していくのでしょうか?
インテルは「XPU」という考え方でCPU、GPU、NPUを統合を計画しています。インテルでは第10世代Coreプロセッサ(Ice Lake)でIntel GNA(Gaussian & Neural Accelerator)としてAIアクセラレータを投入しています。いくつかのOpenVINOとしてAIソリューションとしてSDKの公開はしているもののWindows Studio Effectsにはまだ適用されていません。
その中で第14世代CoreプロセッサにあたるMeteor Lake、第15世代Coreプロセッサと想定されるLuner Lakeには「Integrated AI Accelaration」としてAI処理の特化したNPU相当の機能が入ることが発表されています。(予定ですが)
2024年にArrow LakeとLunar Lakeを投入 インテル CPUロードマップ
CES2023を前にインテルは第13世代CoreプロセッサのノートPC対応版の発表を行っています。その中で、NPU(インテルではVPU(Visual Processiong Unit))を外付けにすることを可能としていることを発表しています。第14世代CoreプロセッサへのNPU(VPU)に内蔵に向けての布石と言えるでしょう。
ノート向け第13世代CoreにEコアが8つ増えた「HX」と、L2キャッシュ増量の「H/P/U」が登場。いずれも高クロック動作
一方、AMDはZen5アーキテクチャでAIE(AI Engine)と呼ばれる旧Xilinx(AMDが買収)の技術が適用されようとしています。
Zen 4は5nmと4nmを投入、Zen 5では3nmプロセスに AMD CPUロードマップ
2022/1/5 22:27追記
AMDがモバイル版RyzenにRyzen AI Engineの搭載を発表して、Windows Studio Effectsに正式対応することを発表しました。
AMD CES 2023 Update – Ryzen 9 7950X3DとCore i9-13900Kの比較など新製品の情報を追加、隠し玉も
これらのプロセッサメーカーの技術とつながる可能性は大きいと考えています。今後のハードウェアとWindowsの関係にも注目していきます。