PyTorch、TensorFlow、ONNXは、多くのデータサイエンティストやAIソフトウェア開発者にとって馴染みのあるツールです。これらのフレームワークは、CPU上でネイティブにモデルを実行したり、GPU上でアクセラレーションを行うため、ハードウェアに関する知識はほとんど必要ありません。しかし、実際にエッジデバイスにアプリケーションを移行するとなると、突然、AIアクセラレーション・ハードウェアについての知識が必要となり、おそらく不慣れな人にとっては少し不安を感じるかもしれません。 それを解決するのがEdgeCortixのMERAです。ソフトウェアコンパイラとランタイムフレームワークであるMERAは、エッジAIコプロセッサやFPGAで動作するPyTorch、TensorFlow、ONNXモデルとエッジAIソフトウェアの接続を可能にします。
エンタープライズAIアプリケーションでは、多くの場合、AI学習プラットフォームはサーバーやクラウドベースのハードウェア上で動作し、投資費用と運用コストによってのみ制限される、事実上無制限の性能、電力消費、ストレージ、数学的精度を利用しています。AI推論は、同様のCPUやGPU技術を使用した物理的に小さなサーバークラスのマシンにスケールダウンするか、データセンターやクラウドにとどまるのが常です。
エッジAIアプリケーションでは、AI推論に異なるハードウェアを使用することが多く、サイズや消費電力、精度、リアルタイムで決定すべき制約に対処します。 ホストプロセッサは、ArmやRISC-Vコアを搭載する場合もあれば、より小型でエネルギー効率に優れたIntelやAMDのプロセッサを搭載する場合もあります。モデルは、専用の処理コアを持つエッジAIチップや、推論ロジックがプログラムされたFPGAを含む高性能PCIアクセラレータカード上で実行される可能性もあります。
このようなエッジに対応するハードウェア環境は、データサイエンティストやハードウェアをあまり重視しない人々にとっては、謎めいた領域かもしれません。中には、以下のような懸念が挙げられるでしょう。
エッジプラットフォームへのAIアプリケーションの導入は、障害が発生するようなものであってはなりません。エッジAIアプリケーションの開発者は、使い慣れた環境(ワークステーション、サーバー、クラウドプラットフォーム上のPyTorch、TensorFlow、ONNX)でモデル研究を行い、エッジAIアクセラレータへのデプロイメントに自動変換できるのが理想的です。
MERAは、エッジAIソフトウェアへのスムーズな移行を後押しします。開発者は、他のプログラミング言語やFPGA用語の代わりに、最初から最後まで使い慣れたPythonで作業を行うことができます。MERAは、エッジデバイスのホストプロセッサとAIアクセラレーションハードウェアの間で演算グラフを自動的に分割し、最適な結果が得られるようにアクセラレーションIPを再構成します。
一般的なMERAのデプロイメントプロセスには、次のようなステップがあります
データサイエンティストやPythonを使用する開発者は、MERA を使用して EdgeCortix DNA IP を実行するエッジ デバイスにアプリケーションを簡単に導入することができます。ハードウェアとして、 EdgeCortix SAKURA エッジAIコプロセッサ、 EdgeCortix DNA IPで設計したSoC、 EdgeCortix Inference Pack on BittWare FPGA cardsのいずれを選択しても、開発プロセスは同じように進めることができます。
最新のリリースであるMERA 1.3.0は、EdgeCortix GitHubリポジトリからダウンロード可能で、コードファイル、学習済みモデル例、ドキュメントが含まれています。EdgeCortix対応ハードウェアのコンパニオンツールとしてMERAを使用することで、開発者はエッジAIハードウェアの複雑さを懸念することなく、エッジAIソフトウェアの堅牢性と性能に注力することができます。
DNN Compiler Engineer