Efficiera SDK

Efficieraには、AIモデルのコンパイルと、本番環境でのAIアプリケーションの実装を可能にする総合的なAIソフトウェアスイートが付属しています

AIを実用化に繋げる、量子化モデルに最適化されたソフトウェア開発キット

Efficieraを使うためには、ソフトウェアが非常に重要です。ニューラルネットワークをどのように量子化するかは、重要な問題になります。
もちろん、ニューラルネットワークフレームワークのほとんどは、デフォルトで極端に低いビット数の量子化をサポートしていません。そのため、ニューラルネットワークの量子化器を実装する必要があります。
また、Efficieraのために独自のAIモデルコンパイラを実装する必要もあり、最高の性能を発揮できるように独自のネットワークアーキテクチャを設計する必要があります。Efficieraにとって、ハードウェアと同じくらいソフトウェアが重要になります。
LeapMindは、これらを自動的に最適化するソフトウェアスイートを用意しています。

FEATURES

Efficiera NDK

量子化モデルの構築・学習

  • 極小量子化モデル用オペレータライブラリ

  • PyTorchをサポート

Efficiera Converter

モデルの最適化・変換

  • Efficieraが実行可能なインストラクション形式に変換

  • メモリ帯域の最適化

  • データ転送と演算の並列化

  • パフォーマンスプロファイルツールを提供

Efficiera Runtime Library

エッジデバイスでの実行

  • Runtime API(Python, C++)

  • 複数モデルの実行状態管理

  • シミュレータ環境を提供

WORKFLOW

横にスクロールできます。

FUNCTIONS

Efficiera NDK

特徴

  • 極小量子化ディープラーニングモデルを開発できる唯一の環境

  • Efficieraおよびランタイムライブラリにより実行可能なオペレータを定義した、ディープラーニングフレームワーク用ライブラリ

  • 極小量子化の特徴である、量子化係数とスケーリング係数の学習に必要なオペレータを、特別に意識することなくモデルが構築可能

  • TensorBoardによる可視化など、PyTorchから利用できる機能をそのまま活用可能

  • 学習結果はONNX形式でエクスポート

対応フレームワーク

  • PyTorch

動作環境

  • CUDA対応GPU搭載Ubuntu 18.04 もしくは20.04環境

Efficiera Converter

特徴

  • 極小量子化ディープラーニングモデルをEfficiera用命令に変換できる唯一のツール

  • Efficiera NDKを使用して学習・エクスポートされたONNX形式をEfficiera IPが実行可能な命令列に変換

  • 指定Efficiera構成のリソース制約やメモリ帯域制約に合わせた高度な最適化

    • データ転送と演算の並列実行による高速化

    • メモリアクセス削減による省電力化

  • 指定Efficiera構成での実行サイクル数、メモリ帯域、メモリ使用量の見積もり

    • モデルの規模や構造に適したEfficieraの構成を選択可能

動作環境

  • Intel 64/AMD64プロセッサ用Ubuntu 18.04環境

Efficiera Runtime

特徴

  • Efficiera搭載ハードウェアの性能を最大限に引き出すアプリケーションのためのランタイムライブラリ

  • Efficiera Converterから出力された命令列をターゲット上で実行するためのAPIを提供

  • 複数のディープラーニングモデルとEfficieraインスタンス、CPUスレッドの対応関係を管理可能

  • 利用可能な場合はCPUのSIMD命令により高速化

  • C++およびPython用APIを定義

  • ホスト環境上のシミュレータも提供するため、ターゲットが未完成な状態でもアプリケーション開発が可能

動作環境

  • ターゲット(実機):Armv8-A AArch64およびArmv7-Aプロセッサ用Ubuntu環境

  • ホスト:Intel 64/AMD64プロセッサ用Ubuntu 18.04環境