AIは誰でもすぐにFPGAやSoC上に実装できる!
今回の記事のテーマは、「FPGAやSoCへのAIの実装」です。
前回お伝えした「ソフトウェア設計者向けの無償FPGA開発環境「Vitis」」の続編となります。よろしければ、こちらの記事もご覧ください。
目次
Vitis™ AI 開発環境とは?
ザイリンクスが提供している「Vitis™ AI 開発環境」についてご存知でしょうか。
Vitis AIは、ザイリンクス ハードウェア プラットフォーム上での AI 推論開発向けのザイリンクス開発プラットフォームです。
Vitis AIはTensorflowやCaffe などの各AIフレームワークに対応していますので、学習済みモデルをお持ちであれば、すぐにザイリンクス デバイスのFPGAやSoCなどへ実装が可能です。
そもそも、AIをFPGAやSoCに実装するメリットがあるの?と思われる方も多いと思いますので、主なメリットを2点ご紹介します。
- 低レイテンシ
低レイテンシアプリケーションに応じた専用ハードウェアを構築するため、GPUよりも高いレスポンス性能を発揮します。 - 長期供給性
産業・通信機器などに多く採用いただいており、製品リリースより15年以上供給されています。
Vitis™ AI、3つの機能
AI 推論開発向けのザイリンクス開発プラットフォームVitis AIは、以下の3つの機能を持っています。
- AIモデル変換
AIモデル変換AIフレームワークに対応しており、学習済みモデルをインポートすると専用ハードウェアIP(DPU:Deep Learning Processing Unit)への設定ファイルを生成します。 - ハードウェア/API生成
AI用ハードウェアロジックであるDPU IPをお使いのFPGAプラットフォームに合わせて実装します。もちろんAI機能だけでなく、画像処理等の他機能も含めても実装可能です。ハードウェア生成時に、AI APUが生成されます。 - アプリケーション開発
前の2項を統合し、上位のアプリケーションの開発が可能です。(たとえばUSBカメラから入力される映像を、AI処理して、その結果をディスプレイに表示など)
AI機能を実装するには?
とはいえ、FPGAやSoCを殆ど使ったことがないんだけど、、という方も多いでしょう。
でも大丈夫です。
前回の記事で、Vitisは「ハードウェアの知識がなくてもFPGAやSoCを設計」できる開発環境とお伝えしましたが、Vitis AIも同様に「FPGAやSoCを知らなくてもAI機能を実装」することができます。
(前回記事はこちらです。「ソフトウェア設計者向けの無償FPGA開発環境「Vitis」」)
なぜならVitis AIはGitHubに実行方法が公開されており、パフォーマンスを測定した結果も記載されています。
たとえば、Alveo™ U250でResnet50を実行すると、1,223fpsの処理性能と1.68msの超低レイテンシを実現します。
以下URLにモデル毎のパフォーマンスが記載されていますので、ご覧ください。
https://github.com/Xilinx/AI-Model-Zoo
このように、Vitis AIで簡単に高性能なAI推論ユニットとして扱うことができるのです。
まとめ
いかがでしょうか?
AIの世界ではCPUやGPUを使われるケースがまだ一般的ですが、FPGAやSoCはこれらを大きく超える性能を持っています。
このVitis AIがあれば、この高性能なFPGAやSoCを簡単に動作させることができるのです。
Vitis同様にこちらも無償(GitHub公開)なので、お気軽にお試しください。
*プルーニング機能のみ有償です。(オプション扱い)
https://github.com/Xilinx/Vitis-AI
今回は、VitisのAIライブラリについてご紹介しました。
次回はその他のライブラリについて触れてみたいと思います。
今回の記事を資料化したものはこちらからダウンロードできますので、ご活用ください。