KUMICO

COLUMN

エッジ用AIチップの現在と将来 – FPGA、CPU、GPU、ASICの特徴について

KUMICOサイト内 FPGA TREND「エッジAI」担当者です。はじめまして。
FPGA(Field-Programmable Gate Array=現場でプログラミング可能な集積回路)
に関連して、たまには産業分野向けエッジAIのトレンドをまとめたコラムを書いてみようと思います。
エッジAIをアクセラレートするデバイスや、CPUやGPUなど現在入手可能なアクセラレーション用デバイスもご紹介しますので、参考にしてみてください。

▼9/27ディープラーニング関連イベント<無料>▼
イベントバナー_Intel®

1. ストイックなエッジAI

これまでは、GoogleやMicrosoft、IBMを筆頭に、クラウドAIのソリューション開発が時代の先端でした。しかしながら、近年急速にエッジAIコンピューティングも台頭しつつあります。エッジAIコンピューティングは、インターネットに接続できない場所や、厳しいセキュリティが要求される状況でも、モノ側(エッジ)でAI(人工知能)を動かすことができる技術です。動作にリアルタイム性が求められる自動運転車やセンサー、カメラによる異常検出の世界などで活用されています。また、センサーからの膨大な量のデータ処理を事前処理する技術としても役立てられています。
エッジAI、または組み込みAIと呼ばれるディープラーニングの実行環境では、ハードウェアの消費電力や処理速度の問題もあるため、ネットワークやサーバに頼らない前提でないといけません。また、こうした環境の多くでは、PCやワークステーションのような電力にモノを言わせた強力な計算リソースも持ち合わせていません。それでも可能な限り正確で速い推論を行うために、大きく分けて二通りの方法がもちいられています。
(1)計算量が少ないモデルを採用すること
(2)省電力なハードウェアによるアクセラレータを組み合わせること
この2つは排他ではなく、同時に採用することで、さらに効果を発揮します。しかし、(2)のハードウェアによるアクセラレータの組み合わせによって(1)が制限される場合を考慮する必要があり、なかなか柔軟にはいかないところです。

ここでは、(2)省電力なハードウェアによるアクセラレータを組み合わせることについて掘り下げていきます。

2. エッジAIをアクセラレートするデバイス

組み込み機器とはいえ、CPU(マイコン)は必ず搭載されており、メモリさえあればディープラーニングの計算をすることは可能です。しかし、CPUの本来の仕事の合間にそんな膨大な計算をさせようものなら、いつ計算が終わるのかわからないほど時間がかかるでしょう。
そこで、ディープラーニングの計算は、そういうのが得意なデバイス(電子部品)に任せようというのが、ディープラーニングのアクセラレータの目的です。ニュースなどでは「AIチップ」という言葉を使う場合もあります。

組み込み機器でディープラーニングのアクセラレータに使えそうなのは、今の所、以下のデバイスです。
・CPU(制御用とは別のCPU)
・GPU(Graphics Processing Unit):3Dグラフィックス描写を行う際にベクトル計算演算処理を行うプロセッサ
・FPGA(Field-Programmable Gate Array):現場でプログラムが可能な集積回路
・DSP(Digital Signal Processor):デジタル信号処理に特化した機能を持つマイクロプロセッサで、リアルタイムコンピューティングで使用される
・ASIC(application specific integrated circuit):特定用途向けに、複数の機能を持つ回路を一つにまとめた集積回路

注目製品記事

ASIC/SoCの開発を便利にするツールがそろっています

自動運転やAIの基盤となるASIC/SoCの設計・検証・システム開発を強力にサポートする製品を厳選してお届けします。

設計・検証IPからボードまで、ASIC/SoC開発に最適な製品をフルラインナップでご用意

ASIC/SoC開発特集

3. 現在入手可能なアクセラレーション用デバイス

・CPU

img05-1-600x205出典: https://www.qualcomm.com/snapdragon先にも書いたとおり、すでに純粋なCPU機能だけでチップ化されているものより、他の機能を統合したSoCの方が主流です(Freescale i.MXなど)。
特にディープラーニング用途としては、GPUやDSPのユニットが統合されたスマホ用SoC(Qualcomm SnapdragonやBroadcom BCMシリーズなど)が、性能・価格・供給面で圧倒的です。
その反面、産業用途で使うには、調達ルートが限られていることや、ライフが短すぎること(1年毎に新型が登場)、Android OSによる開発のハードルの高さが問題になりますが、チップベンダーでもそれを改善して産業市場を取り込もうとする動きがあります。

・GPU

img05-1-600x2052出典:https://www.nvidia.co.uk/autonomous-machines/embedded-systems-dev-kits-modules/サーバやPCでのディープラーニングに欠かせないNVIDIAのGPUですが、低消費電力がキモになる組み込み分野ではまだそこまで大きなプレゼンスはないようです。とはいえ、潜在能力は抜群、同社のGPUを用いた学習環境との連携も洗練されていて、学習からエッジでの推論まで一貫したエコシステムが構築されています。エッジAIを、同社の組み込みGPU開発キットのJetsonから始める方も多いのではないでしょうか。
POC(Proof of Concept)の後、実際の現場でどうやって設置するかの解決として、複数の会社からJetson 内臓型のBOXが販売されるなど、実運用に向けての役者も揃ってきました。NVIDIAがこの分野にどこまで本気を出すかによって、保守的な産業系組み込みエンジニアがGPUという新パーツを採用するかどうかが変わっていくと思われ、今後の動きに注目したいところです。

・FPGA

img05-1-600x2053出典:https://japan.xilinx.com/products/boards-and-kits/kcu105.html
https://fsi-emb.if-vietnam.com/product/fsi/edge-ai-consultation/feature/
一方、産業分野で長年親しまれているFPGAですが、GPUと比べるとディープラーニング向けではまだ存在感を示せていません。デバイスの特性上、並列計算は得意なはずですが、ディープラーニングを高速化できるクラスのFPGAはかなり高価になり、コストパフォーマンスは他のデバイスと比較して悪くなります。しかし、入手性・開発実績・信頼性からFPGAによるディープラーニングを期待する声も多く、また汎用チップならではの新しいアーキテクチャへの追従も容易なことから、FPGAに最適化されたモデルや学習方法が登場すれば一気に採用機会は増えそうです。

・ASIC

img05-1-600x2054出典:https://newsroom.intel.com/wp-content/uploads/sites/11/2017/08/movidius-myriad-xvpu-product-brief.pdf
https://developers.googleblog.com/2018/07/new-aiy-edge-tpu-boards.html
エッジAIの最終的な大本命はもちろん専用チップでしょう。近年では大手メーカーもどんどん参入し、市場では高性能な製品が数多く提供されています。
しかし日進月歩のディープラーニングの分野では、チップ開発を始めてから製造可能になるまでに、採用したアルゴリズムが陳腐化してしまう恐れがあります。それを見越して、プログラマブルなDSPやGPUモジュールを内蔵したり、メニーコアのように汎用性を保ったまま並列処理性能を上げたりするなど、様々な方向性のチップが開発されています。特に中国のチップベンチャーはすごい勢いです。また、専用チップの本命としてGoogle社がサーバ向けの推論専用チップであるTPUをエッジ向けに作り直したEdge TPUを発売しました。
また、IntelからもMyriad X VPUが、USBスティックタイプやPCI Expressタイプで販売されています。ドローンやロボットへの搭載事例も増えてきました。

4. エッジAIアクセラレータとしての「良いデバイス」とは

ではどのデバイスがエッジAIに向いていて、今後の普及が見込めるか、ということですが、今のところは決定打がありません。特徴の違いごとに優劣をつけることは可能です。たとえば、以下のような感じです(優劣は筆者個人の主観ですので異論はあると思います)

AIの性能
GPU > FPGA > ASIC > CPU

AIの汎用性
CPU > GPU > ASIC > FPGA

デバイス価格
CPU > ASIC > GPU > FPGA

デバイス入手性
FPGA > CPU > GPU > ASIC

そして、どのパフォーマンスを優先するかは、エッジAIを用いる現場の特性によって異なります。
自動運転など高精度で高速な認識、低遅延が必須の現場では「AIの性能」でしょう。
状況に応じて手軽に作り直したり流用したりする必要があるPOCの段階では「AIの汎用性」を求めるべきでしょう。
家電や情報機器に組み込むためには何より「デバイス価格(コスト)」が重要です。
工場などで長期に渡って運用し、故障したらすぐに交換する必要があるなら「デバイス入手性」が欠かせません。

従って、適材適所でどのデバイスでも使えるようにする、というのが今は正しいのではないかと思えます(組み込みエンジニアにとって、それはかなり大変なのですが)。

さて、近い将来、全ての優位点兼ね備えた夢のようなデバイスは登場するのでしょうか。
それぞれのデバイスは、自身の欠点を補いつつ進化すると思われますので、なかなか予測は難しいのですが、それに向けた大きい投資が実現しそうなのは、強いて言うならスマホという最大の市場を背景にしているCPU(推論用モジュールを搭載したスマホ向けSOCを産業向けに転用したもの)ではないかと感じています。皆さんはどのようにお考えでしょうか。

<関連サービス>

富士ソフト エッジAI実装コンサルテーション
https://www.fsi-embedded.jp/product/fsi/edge-ai-consultation/

個別相談も承っております。下記よりお申し込みください。

個別相談会申し込み

関連記事

OTHER COLUMN

MORE  

まこちゃんブログ

NEWS

MORE  

PARTNER

  • Intel
  • Xilinx

お探しの組み込み製品はキーワードで検索!