最新エッジAI技術のトレンド

エッジAIとは、クラウドではなく現場で使用される「エッジデバイス」上で「AIモデル」を動かすことです。近年、エッジAIが注目され、そのユースケースが増えています。当社でも、お客様からのエッジAIのコンサルティング・実装依頼のご相談が増えています。
当社でのエッジAI開発・実装の実務経験をもとに、本記事を含む2部構成で、エッジAI技術のトレンドと実装時に考慮すべきポイントをお伝えいたします。
・(1)エッジAI技術のトレンド(本記事)
・(2)エッジAIの実装時に考慮すべき5つのポイント
1. エッジAI技術のトレンド
エッジデバイスでAIを実行するケースとしては、例えば、自動車の自動運転、ドローンの自動航行、建設機械の自動操縦、等の自動運転システムや、監視カメラによる異常検知、カメラによる計器の自動読み取り、といった画像解析システムが挙げられます。
また、消費者向けエッジデバイスとして、AIのスマホアプリ、スマートスピーカー、スマートウォッチへの実装、さらにWEBブラウザ上でのディープラーニングモデルの実行、といった事例も見受けられるようになってきました。

本記事では、エッジAIの実装において利用される技術やハードウェアをご紹介し、その中でハードウェアのトレンドや性能について解説します。また、活用事例についても紹介します。
2. エッジデバイスにAIモデルを実装するための技術・ハードウェア
エッジAIのニーズ向上に伴い、エッジデバイスにAIモデルを実装するための様々な技術やハードウェアが開発されています。ここでは大きく分けて3つを挙げます。
1つ目はモデル軽量化技術です。これは、エッジデバイスへの搭載前に要求仕様や制約を満たすように、AIモデルを軽量化する技術です。
2つ目はコンパイラです。コンパイラは、軽量化したAIモデルをエッジデバイス上で最適に動作させるために必要になります。
3つ目は、量子化や枝刈りなどの特殊な軽量化を行ったAIモデルをサポートするような、様々なハードウェアです。ハードウェアは非常に重要なため、より詳細に解説します。
エッジAIを実現するハードウェアとして、近年、GPU、AIアクセラレータ等を用いることが多くなってきています。
GPU
GPUには、いわゆるサーバー向け(ワークステーション)と、組み込み向けのものの2種類があります。エッジAIでは組み込み向けGPUのことを指し、サーバー向けのものと比較して性能は若干低くなりますが、消費電力がより小さいメリットがあります。
組み込み向けGPUとして、NVIDIA社のJetsonシリーズがあり、性能によっていくつかのグレードに分類されています(※1)。Nanoは最も廉価版のスペックで、一方、TX2、AGX Xavierなどは性能が高くサーバーとほぼ同等のレベルになっています。主な用途としては、Nanoが監視カメラ等への組み込み、AGX Xavierなどは自動運転等のより複雑なアプリケーションが想定されています。
※1: https://www.nvidia.com/ja-jp/autonomous-machines/embedded-systems/

AIアクセラレータ
AIアプリケーション高速化のためのアクセラレータには様々な種類がありますが、本記事では3種類を紹介します。
1つ目は、Intel社のNeural Compute Stick 2であり、これには同社のMyriadチップが搭載されています(※2)。
2つ目は、Google社のCoral(Edge TPU)アクセラレータ(※3)です。
そして3つ目はFPGA(Field Programmable Gate Array)で、Xilinx社のものが多く使われています。
Neural Compute Stick 2やCoralなどは極めて小型で、それぞれ価格も比較的安価に設定されています。
※2: https://ark.intel.com/content/www/jp/ja/ark/products/140109/intel-neural-compute-stick-2.html
※3: https://coral.ai/products/

その他AIチップ・エッジAIデバイス
特定産業向けに特化したハードウェアも多岐にわたり展開されています。
例えば、自動車機能安全規格であるISO 26262 ASIL B/Dに準拠したルネサスエレクトロニクス社のR-Carシリーズ、Hailo社のAIプロセッサ、Ambarella社のエッジAI映像処理SoCと関連プラットフォーム、Blaize社のエッジAI向けGSP(グラフ・ストリーミング・プロセッサ)などが挙げられます。
いずれも、エッジデバイスでのパフォーマンス、システム効率、消費電力におけるメリットが注目されています。また、スマートフォンやタブレットなどのモバイルデバイスでは、ニューラルネットワーク処理用のプロセッサ(SoC)が搭載されてきており、デバイス単価、デバイスサイズ、消費電力といった点が重視されています。
3. エッジAIを実現するハードウェアの性能
GPUはCPUの約20倍以上の速度で推論を実施
2017年のNVIDIA社開発者ブログに、GPUとCPUのイメージ処理数に関する比較データが掲載されています。バッチサイズによって異なりますが、1秒あたりのイメージ処理数において、同社GPU(Tesla P100)を用いた場合は、CPUのみの場合と比較して最大20倍以上の速度で推論が可能という結果が示されました(※4)。
また、P100と同様のPascalアーキテクチャーベースのGPUを搭載するJetson TX2は、1秒あたりのイメージ処理数において、サーバークラスのCPUと同程度の推論能力を極めて低電力で達成することも示されています(※5)。
※4: https://developer.nvidia.com/blog/deploying-deep-learning-nvidia-tensorrt/
※5: https://developer.nvidia.com/blog/jetson-tx2-delivers-twice-intelligence-edge/
AIアクセラレータによってCPUの約30倍以上の速度で推論が可能に
また、Coralアクセラレータを活用した事例として、組み込みCPU(Arm Cortex)と、Coralアクセラレータのモデル推論速度の比較データも示されています(※6)。AIモデルによる違いはありますが、アクセラレータを用いた場合は、CPUを用いた場合と比較して最大30倍以上の速度で推論が可能となり、推論時間が大幅に短縮されることが示されています。
※6: https://solution.murata.com/ja-jp/technology/coral
実際に弊社で実施したデモにおいて、Raspberry PiにCoralを取付けて人間の骨格推定(Pose Estimation)を行った場合、Raspberry Piに搭載されているCPU(Arm Cortex)によるフレームレートは、0.1~0.2 FPS(5~6秒位に約1枚の画像処理に該当)と低い値でした。一方、Coralアクセラレータを用いた場合は、フレームレートが約10 FPS以上となり、組み込み系においてAIアクセラレータを用いることで処理速度が大幅に向上することが分かりました。
各ハードウェアの演算性能
ここで、各GPU、AIアクセラレータの性能を簡単にご紹介します。以下の図にそれぞれのハードウェアの演算性能を示しています。コンピュータの処理性能を表す基準として、FLOPSやTOPSがよく用いられます。FLOPSはFP32やFP16といった浮動小数点の積和演算を1秒間に何回行うかを表し、TOPSは演算器の理想の型での積和演算を1秒間に何回行うかを表します。

性能データ出典:https://www.nvidia.com/ja-jp/autonomous-machines/embedded-systems/
https://ark.intel.com/content/www/jp/ja/ark/products/140109/intel-neural-compute-stick-2.html
https://coral.ai/products/
また、int8演算に対応したハードウェアも多く出ています。一般的に、ニューラルネットワークの推論はFP32/FP16で実施される場合が多いですが、量子化を適切に行うことによって、int8で推論を行っても精度的に要件を満たすレベルとして問題のないことが知られています。
実際に、Coralではint8で演算が実施され、性能は4TOPSとされています。4TOPSの演算性能を持つCoralは、物体検出タスクにおいて1秒間に70枚の速度(70 FPS)で画像を処理することが可能となります(MobileNet V2 SSD on Coral Dev Board、※7)。複数のアクセラレータを用いることで、ホストCPUへの負荷を上げずに、複数タスクをパラレルに実行することも可能となります。
※7: https://coral.ai/docs/edgetpu/benchmarks/
4. 幅広い産業分野におけるエッジAIの活用事例
ここで、エッジAIの活用事例をいくつかご紹介します。(活用事例1~3は当社の事例ではありません。)
活用事例1:くら寿司の皿カウントシステム
Raspberry Pi + Coralを用いた画像認識技術を活用し、顧客が選択した皿の種類や選択のタイミング等のデータに基づいて、顧客ニーズの把握に活用するシステムが開発されています。従来のIR-RFID(赤外線と無線ICタグ)システムによる管理に比べ、信頼性の向上が報告されています(※8)。
※8: https://coral.ai/news/kura-sushi
活用事例2:Farmwave社の農作物の収穫ロス削減
カメラ付き農作物収穫機にRaspberry Pi とCoralが搭載されたデバイスを取付け、農作物の収穫状態をリアルタイムにモニタリングするシステムが用いられています。収穫量が少ない場合は、機械のパラメータ(収穫用ローター・ふるい開口部の角度や速度など)をリアルタイムに調整して、収穫量を最大化することができます(※9)。
※9: https://coral.ai/news/farmwave
活用事例3:コマツ(小松製作所)移動式クレーンの周辺監視
NVIDIA社のGPU(Jetson TX2)を用いて、2.9t移動式クレーンの全周に取付けたカメラ画像を処理し、リアルタイムで周囲の人物を検知して警告を発するシステムが製作されています(※10)。本システムにより、現場作業における安全性の向上が期待されます。
※10: https://car.watch.impress.co.jp/docs/news/1143321.html
活用事例4:監視カメラを用いた人流解析(アラヤの事例)
Raspberry PiとCoralを用いて、監視カメラの映像からリアルタイムで人を追跡し、二次元でマッピングするシステムを開発しています。高解像度のFull HD画像に対する処理においてEdge TPUを使用し、約2 FPSでの推論を実現しています。人が通常歩行する速度に対してほぼ十分な性能を発揮し、入退店・交通量カウント、混雑・利用状況の監視、人物の属性分析、行動検知といったシーンへの活用が可能です。
※より詳細な情報はこちら:複数台カメラと画像認識AIを活用した人流解析ソリューション
■続きはこちら
・(1)エッジAI技術のトレンド(本記事)
・(2)エッジAIの実装時に考慮すべき5つのポイント