低精度演算のサポートなどで機械学習の開発を支援
機械学習で使用されるニューラルネットワークでは、64ビットよりも32ビット、32ビットよりも16ビット、さらに8ビットへと演算精度を低く落とすことによって、アルゴリズムを効率化して高速計算を行うことが推論における開発の方向性となってきている。端末側へのAI搭載を進める分散型インテリジェンスの観点からも、演算精度は低レベル化したほうがデバイス側での処理が行いやすくなるといえる。
このため、Mali-G72と同時に発表されたARM CPUコア「Cortex-A75/A55」では、8ビット整数演算など低精度演算へのサポート機能が追加された。また、MaliシリーズのアーキテクチャであるBifrostでは、もともと32ビットから16ビット、8ビットまでの演算に対応している。
機械学習に適化した開発者向けライブラリとしてARM Compute Libraryも公開された。同ライブラリでは、CPUおよびGPU向けに、AI開発で必要な低レベル機能を豊富に提供している。基礎的算術、畳み込み(Convolution)、カラー操作、特徴検出、画像ピラミッド生成、フィルタ、画像リシェイプ、数学関数、ニューラルネットワーク、GEMMなど、機械学習や画像認識で多用される機能がサポートされている。
ありとあらゆる場所でGPUが使われるようになる
こうした流れを受けて考えると、今後のARMのGPU開発のロードマップについては、従来のように画像処理性能を上げていく方向と、機械学習向けの演算性能を強化していく方向という2つの方向があると思える。実際のところ、どちらの方向を向いているのか問うたところ、同氏からは「そこはバランスだ」との返答が返ってきた。現在の市場規模からは依然として画像処理は重要なビジネスであるが、今後のことを考えると、市場の動きや顧客ニーズに合わせてどちらの方向にも動けるようにしておくという意味だろう。
ARMのGPU製品群には、ハイエンドのMali-G71/G72以外に、低消費電力のミッドレンジ品「Mali-G51」、ローエンドのUtgardアーキテクチャ製品という3つのシリーズがある。まだ公開はできないが3年分のロードマップはすでに作成済みであり、Mali-G7Xシリーズについては今後も新製品を毎年投入していく計画であるとする。一方、Mali-G51の後継品やUtgard製品についても、ハイエンド品ほど急ぐことはないが開発は続けていくとのことだった。
AI・機械学習への対応については、GPUだけでなく、Cortex-A75/A55などCPU側でも強化する方向性が打ち出されているため、今後GPUとCPUでどう棲み分けるつもりなのか気になるが、これも市場や技術の動きを見ながら柔軟に対応していくということになるのだろう。基本的には、画像認識やコンピュータビジョンなどに関わる部分や繰り返しの計算量が多い作業はGPU、計算の組み合わせが比較的複雑な作業などはCPUメインで処理する方向で進んでいくのではないかと予想される。
「コンピューティングが使われているところにエネルギー効率の良いARMベースの技術を提供するという我々のミッションは昔から変わっていない」と同氏は強調する。「例えば、工場では電力の25%がモーターの駆動に使われている。そこでも何か我々の技術が役に立つことがあるかも知れない」(同氏)。モバイル、民生機器、自動車、工場などなど、コンピューティングは今では社会のありとあらゆる場所で使われている。したがって、ARM GPU製品とそのアプリケーションは、今後も拡大を続けていくだろうとの話だった。