FPGAを活用してオールウェイズオンの推論アプリケーションを最適化
Posted 10/08/2018 by Deepak Bopanna
次世代のAIベースのエッジコンピューティングアプリケーションは幅広い性能要件を必要とします。しかし、どうしたら性能を妥協せずに低コストで低消費電力・小型のエッジソリューションを構築できるでしょうか?
そのためには急速に変化するネットワークアーキテクチャとアルゴリズムを最大限活用できるシリコンが必要です。さらに、幅広いI/Oインターフェースが使用でき、カスタム量子化により消費電力と正確性をトレードオフ可能なソリューションが必要です。
FPGAはこの過程で大きな役割を果たしています。機械学習は通常、2種類のコンピューティング負荷が必要です。最初の学習段階では、システムは既存データから新しい機能を学習します。例えば、システムは何千枚の画像を分析して、鳥を見分けることができます。この学習段階は高度な数値計算で、通常はデータセンターのGPUなどの高性能なハードウェアを使って実行されます。
推論と呼ばれる機械学習の第2段階では、AIシステムはパターンを認識して学習したモデルを新たに収集されたデータへ当てはめることで知識を広げていきます。この方法で、AIは稼動しながら学び続け、時間をかけて知能を高めていきます。しかし、レイテンシ要件や、クラウド上でのプライバシー問題の増加、通信帯域幅の制限を考慮に入れると、設計者は多くの場合でクラウド内で推論を行うことができません。代わりに、エッジ上にあるデータソースの近くで推論を行わなければいけません。
しかしながらネットワークエッジでは、データーセンターで浮動小数点計算を使うディープラーニング技術は非実用的なものです。設計者は、精度目標を満たすだけでなく、厳しい消費電力やコスト、そして主にコンシューマや産業IoT市場で見られるフットプリントの要件を満たすためのより効率的なソリューションを見つけなければいけません。エッジでは、デバイスはできるだけわずかな消費電力で計算できる推論処理を行わなければいけません。これを達成するための1つの方法は、浮動小数点から固定小数点へ変更することです。浮動小数点から固定小数点の整数への量子化を補うために学習方法を変更することで、設計者はより高度な正確性で速く学習できるソリューションを開発することができます。
ネットワークエッジにおける推論を行うために必要なプラットフォームをどこで見つけることができるのでしょうか?1つのソリューションは、FPGAに組み込まれた並列処理機能です。FPGAのハードウェア構造は固定されていないため、ロジックセルが実行する機能やセル間の相互連結は開発者によって指定できます。これによってFPGAをプログラムし、順次に処理をするのではなく、並行して複数の処理を同時に行うことが可能です。
しかし、エッジ向けのソリューションには高い電力効率も必要です。歴史的に見て、特に高密度なFPGAは比較的に高レベルの電力を消費してきました。ただ、新世代の低密度・低消費電力なFPGAはそのような認識を変えています。
ラティスのiCE40 UltraPlusやECP5 FPGAファミリーはこのような変化し続ける要件を満たすために作られています。電力効率の良いAIベースのソリューションを構築する設計者はECP5ファミリを使いニューラルネットワークを加速して1Wまでに消費電力を抑えることができ、iCE40 UltraPlusファミリーによってニューラルネットワークを加速し、わずかmW幅まで下げることができます。
市場投入を加速するために、ラティスは低消費電力で幅広いIoTソリューション向けに業界初の完全技術スタックを発表しました。Lattice sensAIと呼ばれるこの包括的なエコシステムは、ハードウェアキットやニューラルネットワークIPコア、ソフトウェアツール、リファレンスデザイン、そしてカスタムデザインサービスを容易しています。さらにsensAIデモや一般的なAI使用例では、オブジェクト検出やキーフレーズ検出、その他にも人気の高いオールウェイズオンのAIソリューション開発のための設計図を提供します。
今日の開発者がいくつもの課題に直面していることは明らかです。スマートホームやスマートシティ、スマートカー、そしてスマートファクトリーアプリケーション向けのAIベースのソリューションをもたらす挑戦をしているからです。しかし、幅広い市場におけるAIソリューションの開発を簡素化し、加速化するために必要な一番大切な要素は、AIソリューションが正しい場所に収まることといえるでしょう。