オープンModel ZooがエッジAIシステム開発を促進する方法

Blog_Header_How_an_Open_Model_Zoo_Can_Boost_Your_Edge_AI_System_Development

エッジAIシステムの開発は、エッジ上でより多くのことができるようにする新しい目的別建築処理のエキサイティングな出現によって推進されています。エッジAIの重要な不可分の部分は、ハードウェアを可能にする専用ソフトウェアです。もちろん、どの新型チップにも独自のソフトウェア・スタックと開発環境が付属しているが、それらが開発者をどの程度サポートするかは異なります。

開発者を真にサポートするためには、AIソフトウェアは堅牢であるだけでなく、開発者に柔軟性を与え、開発者向けツールのエンベロープによって市場投入までの時間を短縮する必要です。オープンなAI Model Zooは、開発者にとって素晴らしいリソースであり、このエンベロープの重要な部分です

Model Zooとはなんでしょうか?

Model Zoo は、TensorFlowとONNX形式で利用可能な、事前に研修され、コンパイル済みの深層学習NNモデルとタスクを幅広く含むリポジトリです。その目的は、各訓練済みモデルごとにバイナリのHEFファイルを提供し、Hailoツールチェーンとアプリ・スイートをサポートすることで、開発者に素早く実行に移せる機能を提供することです。

開発者ができるだけ簡単に Hailo AI プロセッサ を使用できるようにすることを目標に、当社は独自のオープンな Hailo Model Zoo リポジトリを構築しました:

  • 事前研修済モデル – Hailo-AIプロセッサの多用途性とAI性能の高さを示す豊富な選択肢
  • 事前設定された構築フロー – ONNX/TensorFlowモデルから展開可能なバイナリに各ネットワークを移行するための検証および最適化されたフローで、モデルの評価とパフォーマンス分析が組み込まれています。

簡単な評価を可能にするために、オープンソースのリポジトリから取得した一般的なモデルを修正することなくモデルズーに含め、一般に利用可能なデータセットで研修させた。また、ユーザーが自分のカスタムデータセットでモデルを研修するなど、モデルを調整したい場合に備えて、モデルソースへのリンクも追加された。

さらに、ユーザーがAIアプリに最適なNNモデルを選択できるように、Hailo Model Explorerは、より良い情報に基づいた意思決定を支援し、Hailoプラットフォームでの最大限の効率を保証します。Model Explorerは、Hailo デバイス、タスク、モデル、FPS、精度に基づくフィルターを備えた対話型インターフェイスを提供し、ユーザーが Hailo の膨大なライブラリから多数の NN モデルを探索できるようにします。

Hailo_Model_Zoo_Diagram
図1:Hailo Model Zoo – ONNX/TensorFlowで事前研修されたオープンソースのモデルから、最適化されたビルドフローを使用してコンパイルされたデプロイ可能な製品です。

働き方

Model Zooは、Hailo データフローコンパイラ を使用して、事前に研修されたモデル (ckpt/ONNX) から、Hailo-8で実行可能な最終的なHailo実行形式 (HEF) までの完全なフローを作成します。そのために、Hailo Model Zooは以下の機能をユーザーに提供する:

  • 解析:Tensorflow/ONNXモデルをHailoの内部表現に変換します。この内部表現には、ネットワークのトポロジーとモデルの元の重みが含まれます。このステージの出力は、Hailo Archive ファイル (HAR) です。
  • プロファイル:Hailo-8で期待されるモデルのパフォーマンス(FPS、レイテンシー、消費電力、各レイヤーの完全な内訳を含む)をHTML形式でまとめたレポート。
  • 量子化:精度の劣化を最小限に抑えながら、モデルを全精度から限られた整数ビット精度(4/8/16)に変換し、実行時に最適化する。この段階には、量子化モデルの精度を保証することで性能を最適化するいくつかのアルゴリズムが含まれる。このステージの出力は、量子化された重みを含むHailo Archiveファイルです。
  • 評価:一般的なデータセット(ImageNet、COCOなど)でモデルの精度を評価する。評価は、数値エミュレータまたはHailo-8を使用して、全精度モデルと量子化モデルで行うことができます。
  • コンパイル: 量子化されたモデルをコンパイルして、Hailo-8チップ上に配置できるHailo実行形式(HEF)ファイルを生成します。
Hailo Model Zoo functionality flow chart
図2:Hailo Model Zooの機能フローチャート。
青字は、Hailo データフローコンパイラを使用するブロックです。

Hailo Model Zooの最終段階は、最終アプリで使用するHEFファイルを生成します。例えるなら、ADASアプリ用のYOLOv3オブジェクト検出ネットワークのHEFファイルや、スマートホームカメラソリューション用のCenterPose(姿勢推定)ネットワークのHEFファイルが生成される場所です。

当社のリポジトリにあるモデルは、一般的なアーキテクチャやタスクを幅広くカバーするように選択されております。YOLOv3、YOLOv4、CenterPose、CenterNet、ResNet-50など、人気の高い最先端のアーキテクチャが含まれており、その多くはすでに我々のAIベンチマークの一部となっている。簡単なベンチマークを可能にするため、すべての事前研修済モデルには、独自の事前/事後処理関数とデータセット取得フローが付属しており、評価の実現性を高めています。私たちは、これらの機能をすべて使いやすいパッケージにまとめました。そのため、再現が簡単で速く、幅広いネットワークでパフォーマンスを測定することができます。Hailo-8 AIプロセッサーの強力なAIアクセラレーション機能により、ユーザーはModel Zooを活用して、エッジデバイスのこれらの人気モデルで卓越した性能を達成することができます。

TAPPASとの関係

ユーザーは、AI Model Zooの加速モデルを自分のアプリに統合することが可能です。Hailo Model Zooを当社のTAPPAS 高性能アプリツールキットと組み合わせて使用することで、エッジAI開発者は有意義なアプリケーションを短期間で構築し、展開することができます。実際、TAPPASのすべてのアプリは、Model Zooネットワークの上に構築されています。

一般的なユースケースを例に挙げると、ポーズ推定によって買い物客の行動や欲求に関する有意義な洞察を得ることができ、スマートリテールで使用できます。インテリジェントビデオアナリティクス(IVA)に対してこの種のアプリを開発するユーザーは、モデルズーにあるCenterPose_RegNetX_1.6GFのような事前に研修されたポーズ推定モデルに基づいて開発すると便利です。Hailo TAPPASをベースにしたこのモデルは、お客様のアプリケーションに簡単に統合することができます。

図3:Hailo-8AIプロセッサーで倉庫の監視カメラ映像を処理する、事前に訓練されたポーズ推定モデル

もう一つの興味深い使用例は、スマートシティアプリケーションのためのインテリジェントな交通監視である。既存のコンパイル済みモデル SSD_MobileNet_v1 VisDrone を使用して、すぐにアプリを立ち上げて実行できます。実際、Hailoのエンジニアの小さなチームは、Hailoの最初のハッカソンで、24時間でそれを成し遂げた!

Figure 4: the Hailo-8 AI processor running the SSD_MobileNet_v1_VisDrone model as part of our TAPPAS Tiling app on a high-resolution live video feed of a busy city motorway (see can see our full demo here)
図4: TAPPASタイリング・アプリケーションの一部としてSSD_MobileNet_v1_VisDroneモデルを実行するHailo-8 AIプロセッサと、交通量の多い都市高速道路の高解像度ライブ・ビデオ・フィード(デモの全容はこちらを参照してください)。

Hailo Model Zooは、エッジAI開発者が次の深層学習アプリを生成するための包括的な環境を提供し、すぐに使える事前研修済モデルと、さまざまな有用なニューラル・タスク用のアプリ・ソリューションを備えています。今後、Hailo-8 AI Processorの業界をリードする機能を活用し、開発者が可能な限り最高のエッジAIアプリを構築できるよう、新しい最先端のモデルを継続的に追加し、新しいタスクやメタアーキテクチャをカバーし、設定済みのビルドフローや最適化プロセスを改善していきます。

詳しくは、Hailo Model Zoo をご覧いただくか、
Hailo Model Zoo Github をご覧ください。


Don’t miss out

Sign up to our newsletter to stay up to date