いま、ここにあるエッジAI

パソコンにおけるエッジAIアプリ元年となった2020年。今後も対応アプリは増加

AdobeのPhotoshopに搭載されているエッジAI機能となる「被写体を選択」。髪の毛などの指定が難しいところもAIが指定してくれる優れモノ機能。最新版では「被写体を選択」機能のなかに、さらに「髪の毛を調整」という機能が増えている

 本連載では、エッジAIのアプリケーションや、そのエッジAIアプリケーションの性能などについて説明してきた。近年のパソコン用プロセッサは、エッジAIへの最適化が進められており、IntelではCPUやGPUでAI処理をより効率よく行なうIntel Deep Learning Boost(DL Boost)などの新しい命令セット、さらにはNPU(Neural Processing Unit、ニューラル処理装置)となるGNA(Gaussian & Neural Accelerator)が導入されている。

 そうした動きはIntelだけでなく、Appleが11月に発売開始した新しいMacBook Pro/Airに搭載されているM1にも「Neural Engine」というNPUが搭載されるなど、直近のCPUにはこうしたAI向けアクセラレータが実装されている。一般ユーザーが使うパソコン用途でも、エッジAIは今後のトレンドになっていくことは間違いない状況だ。

クラウドAIからエッジAIへとパソコンでも大きなパラダイムシフト

定番の動画編集ソフト「VEGAS」も最新版でエッジAI機能を実装

 これまでマシンラーニング(機械学習)/ディープラーニング(深層学習)ベースのAIというと、SiriやCortanaなどの音声認識などクラウド側で処理されるアプリケーションが多かった。クラウドで処理するメリットは、その膨大なコンピューティングリソースを使えることだ。

 クラウドには強力なサーバー用CPUやGPUがそれこそ無数に装備されており、処理能力にはかなり余裕がある。それにより、単体のパソコンやスマートフォンのCPU/GPUでは処理することが難しかった、より高度な音声認識などが実現可能になった。ほかにも、さまざまなAIがクラウドを利用しており、たとえばECサイトにおけるお勧め機能もクラウドのAIがユーザーの過去のアクセス履歴などからお勧めの商品を推測している。

 一方でクラウドベースのAIはネットワークのレイテンシに性能が左右されることが多く、低速なネットワーク環境などでは応答が遅くてイライラした、そういう経験を持っているユーザーも少なくないだろう。そこで、ローカル(クラウドに対する反対という意味でエッジと呼ばれる)にあるCPUやGPUでもある程度のAI処理を行なう、それがエッジAIという考え方だ。

 エッジAIで行なわれていることはクラウドベースと同じように、マシンラーニング/ディープラーニングの推論(Inference)という処理になる。推論というのは、事前にAIが学習(英語ではTraining、本来的な意味では訓練だが日本語では学習が訳語としてあてられている)したデータをもとに、さまざまな処理を行なうこと。

 たとえば、犬か猫かを判定するAIであれば、事前に犬と猫の写真などをデータとしてAIに読み込ませる作業を「学習」と言い、その学習データをもとに、その画像の犬を犬、猫を猫と判定することを「推論」と呼んでいる。エッジAIがやっているのはその「推論」という作業になる。

推論をより効率よく行なう新拡張命令やNPUなどが現代のCPUには内蔵

Intelの第11世代Core(Tiger Lake)

 そうしたエッジAIのアプリケーションが、CPUやGPUで処理する場合には、従来は32bit精度の浮動小数点(FP32)で演算していた。しかし、AI推論の処理では32bitの浮動小数点という精度は過剰で、8bitの整数演算(INT8)で演算しても、その正確性はあまり変わらないことがわかり、現在はINT8を利用して演算することが多くなっている。FP32をINT8に置き換えて演算すると、より多くの演算を一度に行なうことができるので処理能力が向上するのだ。

 Intelは、このFP32をINT8に置き換えて演算する命令セットのVNNI(Vector Neural Network Instructions)をAVX512の拡張命令として、第10世代Core(Ice Lake)と第11世代Core(Tiger Lake)で導入した。なお、VNNIは技術のブランド名としてはIntel Deep Learning Boostという名前がつけられている。

 GPUにも同じような仕組みが導入されており、Intelの第11世代CoreのGPUである「Intel Iris Xe Graphics」(Xe-LP)では、DP4Aという仕組みが導入されており、CPUと同じようにINT8を利用してGPUで推論を高速に処理することが可能になる。

 そうしたCPUやGPUといった既存の演算器を利用して推論を高速で行なう仕組みとは異なり、推論を専門に行なうアクセラレータを搭載するのも最近の流行だ。Appleが11月に発売したMacBook Pro/Airに採用されている新しいArmベースのM1には、「Neural Engine」と呼ばれる推論アクセラレータが搭載されており、現在パソコンの世界ではこうした推論のアクセラレータを搭載することが1つのトレンドになっている。

 第10世代Coreには第1世代、第11世代Coreには第2世代のGNA(Gaussian & Neural Accelerator)という推論処理を専門に行なうエンジンが内蔵されている。このGNAは長時間持続して行なわれるような推論処理に特化した推論アクセラレータになる。たとえば、音声認識でノイズを除去したいといった用途に最適で、CPUで処理するよりも低消費電力で処理できることが特徴となっている。

 こうした推論処理は、CPUやGPUの拡張命令(VNNIやDP4A)の場合であっても、推論アクセラレータの場合であっても、ソフトウェア側が明示的にそれを使うようなコードを組み込む必要がある。このため、ソフトウェア開発者がそうしたコードを自分のプログラムに簡単に組み込める「ソフトウェア開発キット」(SDK)の存在が重要になる

 エッジAIに注力するIntelでは、そうした推論処理の開発環境として「OpenVINOツールキット」を提供しており、それを利用することでソフトウェアメーカーは、最適な拡張命令やアクセラレータを利用するコードを容易に追加することができる。

エッジAIに対応したアプリケーション拡大中、今後は定番ソフトでのDL BoostやGNAへの対応にも期待

Topaz Labsの「Gigapixel AI」は、CPU/GPUを利用してエッジAIのアクセラレーションが可能に

 このようにプラットフォーム側の準備がじょじょに整い、ソフトウェア開発者にそれを利用するために必要なソフトウェア開発キットが提供されはじめたこともあって、エッジAIの機能を実装するソフトウェアが増えつつある。それらのソフトウェアはこの連載で紹介してきたとおりだ。

 このうち多くのエッジAIのソフトウェアで行なわれていたのはDL Boost(VNNI)などを利用したCPUによる処理の最適化だ。使わない場合に比べて数十倍高速になることはベンチマークの記事(エッジAIの性能はCPUで数十倍も変わる。ベンチマークで確認【その1】)でも確認したとおりだ。すでにAdobeのようなメジャーなソフトウェアベンダーも対応するなどサポートが進んでおり、今後より多くのソフトウェアベンダーがDL BoostはDP4Aなどに対応してくることが期待される。

Clear EdgeはGNAを利用してノイズ低減の処理をCPUからオフロードしている

 GNAに対応しているのは、ノイズ低減の処理を行なうClear Edgeだった。Clear Edgeではノイズ低減の処理時に、処理の一部をGNAにオフロードすることでCPU負荷を引き下げている。テレワーク/リモートワーク時のビデオ会議などでこうしたCPUに負荷をかけずにこうした処理を行なうことができれば、背景処理やプレゼン資料の共有など、ほかの処理にCPUのリソースを割り当てることが可能で、より快適にビデオ会議を行なうことができる。

 その意味ではZoomやTeamsなどのノイズ抑制機能がGNAに対応することを強く願いたいが、昨今のトレンドを見るかぎり、その可能性は低くないだろう。

SkylumのLuminar AIは12月15日から販売開始された新しいエッジAIアプリケーション。写真の編集にAIが使える

 このように、エッジAIはVNNI(DL Boost)やGNAなどハードウェア側の準備は整っており、あとはアプリケーションを提供するベンダーがそれをどう使うかという段階に移りつつある。この連載で紹介してきたソフトウェアベンダーのアプリケーションはその先駆けとなるものだ。2021年以降、この動きはさらに拡大していく。

 そういった観点から、用途を問わず、新規にパソコンを購入するさいは、第11世代CoreなどAI向けの新機能を実装したCPUの搭載機を選ぶことをお勧めする。

[制作協力:インテル]