FPGAはエッジAIの選択肢になるか

AI /

エッジAIのプロジェクトを実現させるときにハードウェア的な見地からいくと、おおまか以下のような選択肢がある。

① 通常のPCを利用する
② ワンボード型デバイスで、CPU+GPUで行う。例えばJetsonなどが良い例。Idein社が行っているようなRaspberryPiのGPUを使う例などもある。
③ ワンボードのCPUのみで演算する
④ アクセラレータデバイスをUSBで接続して高速化する
何度かご紹介している、RaspberryPi+Intel NSC2みたいな構成
⑤ CPU+バス接続でのアクセラレータデバイス
現時点で商品としてはGASKETでは認識していない。スクラッチ開発を意味している。
⑥ アクセラレータを搭載しているスマホを利用する

何度も言うように、この中でも低価格化とエッジでの使いやすさという点で、②、④に注目が集まり、かつ開発競争も激しい。

さらに最近、CPU+FPGAという選択肢が注目されつつある。

FPGAとは、Field Programmable Gate Array の略で、直訳すると、現場で、プログラム可能な、ゲート(ハードウェア回路)の、配列。ということになる。ものすごく乱暴に説明すると、ハードウェア回路をソフトウェアで定義し、かつ、プログラマブルなので、書き換えると違う動作をすることができる半導体である。FPGAは、低消費電力、スループットが高い、低レイテンシ、そしてなによりも柔軟である、ということが特徴だ。

これもとても乱暴な説明になるが、特定用途のAI演算部分をカスタマイズ可能なハードウェアに書き込んでしまえ、ということだ。ハードウェアで演算するのだから、GPUがどんだけ速いといっても、ソフトウェアである以上、ハードウェアで演算するFPGAには基本的には勝てない。かつ、昨今のFPGAは64ビットのCPUとSoC化されているものもあり、普通にLinuxマシンとして動作する。つまり、アプリケーション環境も含まれたソリューションということだ。欠点は、まだそのデバイス自体が非常に高価であること。軽いAIプログラムなら、安価なGPUボードの方にコスト面で軍配があがる。

そして、最大の欠点は、独自の言語でプログラムするのだが(最近はC言語なども使える)ハードウェアの知識がある程度要求されるためプログラマが極めて少ない、そもそもその選択肢を思いつくエンジニアが極めて少ない、ということ。

10月初旬に、FPGA最大手のXilinxはハードウェアの知識がない一般のAIエンジニアでも、このハードウェアをプログラムできる統合環境「Vitis」を発表した。とはいえ、触ったことのないエンジニアがこれを一から行うことは決して低いハードルとは言えないと思う。(そもそも選択すらしないだろうが)

ザイリンクス Zynq UltraScale+ MPSoC ZCU104
https://japan.xilinx.com/products/design-tools/vitis/vitis-ai.html

コストの高さや技術的なハードルから当面は自動運転などエッジでありながら、きわめて高速で高度な推論を行う場面にFPGA利用は限られるだろが、きわめて重要なテクノロジーとなることは間違いないだろう。

【関連記事】
・DSAテクノロジーを加速させるAIチップ競争
・FPGAはエッジAIの選択肢になるか
・学習も端末で行うようになるエッジAI
・エッジAIはコト売りのビジネスになる
・エッジAIは単機能化してサブスクリプションモデルに向かう
・今年に入ってからエッジAIボードが続々と登場している
・エッジAIは熟練職人を求めている
・エッジAIの動向とハードウェアに与える影響
・エッジAIがIoTの主流になる
・Raspberry Piで実現させるエッジAIテクノロジー
・フォグコンピューティングとエッジコンピューティングとは何か?
・品質保証に苦しむIoT、エッジコンピューティングの現場
・RaspberryPi 4が新登場。エッジAIとIoTの覇権争いは続く
・PoEはエッジコンピューティングを救うか
・音声ではない「音」のAI~意外に聞かない音声信号のAI処理