VectorBlox™でNeutrino™のAI最適化検証

このコラムで分かること

  • エッジAIにおける低消費電力の実現について
  • ディープラーニングモデル最適化ソフトウェアNeutrinoについて
  • Microchip社 VectorBlox SDKについて

昨今、エッジAIの導入が加速する中、コストや運用上の観点からエッジデバイスへのAI実装が注目されています。しかし、メモリサイズなどに制約のあるエッジデバイスにAIを実装するには、その実装方法や低消費電力化をどうするかが課題となっています。

そこで、ディープラーニングモデル最適化ソフトウェア「Neutrino 」を使ってAIモデルを圧縮し、さらにサイズが圧縮されたAIモデルを、Microchip社のエッジAI/機械学習・推論アクセラレーター「VectorBlox SDK」を使って、どの程度消費電力を下げることができるのかを検証してみます。

Neutrino™

Neutrinoは、Deeplite社(カナダ)が開発した、ディープラーニングモデル最適化ソフトウェアです。DNNモデルとデータセットをNeutrinoに設定し、コマンドを一つ実行するだけで、自動的に最適化したDNNモデルを生成します。一般的な蒸留や枝刈りとは異なる独自の技術でモデルを再構成します。Neutrinoが実現する高い圧縮率が、メモリサイズの小さいエッジデバイスや IoT機器でもAIアプリケーションの搭載を可能にし、フレームレートや消費電力の向上を実現します。

Neutrino™ 概要

VectorBlox™

VectorBloxは、 Microchip社が提供するエッジAI/機械学習・推論アクセラレーターです。産業用カメラやIoTエッジデバイスに適した、ミッドレンジFPGA「PolarFire® FPGA & PolarFire SoC」で動作します。処理性能(GOPS)あたりの消費電力が非常に低く、画像認識処理に適しているとされています。

VectorBloxのブロック図開発フロー

引用:Microchip社VectorBlox Accelerator Software Development Kit for PolarFire® FPGA

検証方法

Neutrinoは自動最適化ツールですが、ツールとして提供している以外に、Neutrinoで最適化したオープンソースのモデル・教師データを、最適化済みモデルとして提供しています。 今回は、その中から画像分類で活用される ResNet18とResNet50モデルを使って、最適化あり・なしを検証します。

ResNet18:Neutrinoによる最適化前後比較

サイズ(MB)精度(%)パラメータ数(M)
最適化前44.669.711.7
最適化後15.568.64.0

ResNet50:Neutrinoによる最適化前後比較

サイズ(MB)精度(%)パラメータ数(M)
最適化前97.576.025.6
最適化後30.674.58.0

※ Neutrinoの設定を変更することで、異なる結果の出力も可能。

無償で利用することができるVectorBlox SDKは、Neutrinoの出力モデル形式の1つであるONNXを入力として、VectorBlox用のモデルを生成します。また、SDKには Bit Accurate の Simulator が同梱されているので、それを使用して実際のハードウェアで動作させた時の効果を確認できます。

これは、VectorBlox SDK v1.4.2を使用して Simulationを行った時の様子です。

VectorBlox SDKを使用したSimulation

参考:Microchip社VectorBlox SDK

検証結果

Neutrinoで最適化後のONNXを利用した推論動作結果(VectorBlox Accelerator動作クロックは最適化前ONNXファイルと同一)は、以下の通りでした。

ResNet18

推論処理時間 25%短縮
メモリ・アクセス帯域 26% 削減

ResNet50

推論処理時間 50%短縮
メモリ・アクセス帯域 50% 削減

最適化後の推論処理時間が最適化前と同じでよい場合には、クロック周波数を、それぞれ25%、50%低減できることになり、その分消費電力が下がることになります。
ただし、最適化前後でTop-1以外の推論結果に違いが表れていました。これは、 Neutrinoでの最適化をTop-1 accuracyで行っているためで、Top-1 以外の一部が異なる可能性があります。Top-5 accuracyで最適化すると改善すると思われますが、モデルが用意できず再検証することができませんでした。

まとめ

簡単ですが、この検証でNeutrino がハードウェアアクセラレータの効果を高める様子を観測することがでました。特に、監視カメラ、品質検査、外観検査などの画像を活用するケースで、消費電力に課題をお持ちの方の参考となれば幸いです。

引き続きNeutrinoの有効性などについて、いろいろな検証を行っていきたいと思います。

Neutrinoについては、以下のボタンよりお気軽にお問い合わせください。

VectorBloxおよびVectorBlox SDKに関しては、以下までお問い合わせください。
Microchip社VectorBlox技術担当 大川 崇 (techhelp@microchip.co.jp)

参考資料

このコラムの著者
株式会社ユビキタスAI 企画室 主席研究員 吉田一茂

株式会社ユビキタスAI

企画室 主席研究員

吉田 一茂​(よしだ かずしげ)

マイクロソフトの開発部門で25年間エンジニアを経験。言語・アプリケーション・OS開発をはじめ、組込からクラウドまで幅広いプログラミングをカバーする。帰国にあたりユビキタスAIに入社、企画室にて新規事業アイデアの立案やPoC作成、組織にわたる社内支援などを担当している。

より詳しく技術や関連製品について知りたい方へ

お気軽相談

本コラムに関係する技術や関連する製品について知りたい方は、お気軽にご相談ください。


製品情報

ディープラーニングモデル自動最適化・圧縮ソフトウェア

Neutrino™

DNNモデルをオンプレミス環境でシンプルかつ容易に自動最適化
製品ページを見る

次世代匿名加工技術DNATが機械学習モデルの学習に与える影響

コラムを読む

プライバシー保護 VS 先端技術

コラムを読む

Neurala VIAを使った自動外観検査のデモ作成

コラムを読む

組込み機器のスマート化で取り組むSDGs

コラムを読む

センサーと機械学習をつかったジェスチャー認識

コラムを読む

機械学習を使ったMPCによる空調制御デモ

コラムを読む