Vitis™ AI 3.5がリリース!Optimizerが無償提供?!アップデート内容をご紹介!
-
皆さまこんにちは!TEPPE-AIです!
今回ご紹介するものは
「Vitis™ AI 3.5がリリース!Optimizerが無償提供?!アップデート内容をご紹介!」です。
2023年6月末にVitis™ AIが3.5へアップデートされました。
- ※ Vitis™ AI アップデート履歴
-
1.4 :2021/7 1.4.1 :2021/10 2.0 :2022/1 2.5 :2022/6 3.0 :2023/1 3.5 :2023/6
今回もアップデート内容が目白押しです。
その中で、自分視点で気になった箇所を抜粋してご紹介していきたいと思います。
是非最後まで見ていってください。それでは参りましょう!
目次
Vitis™ AI 3.5
2023年6月末にVitis™ AI 3.5がリリースされました。
出典:AMD Vitis AI(参照 2023/07/21)
Vitis™ AI は、AMD社のデバイス、ボード、Alveo™ データセンター アクセラレーション カードを使用する包括的な AI 推論開発プラットフォームです。
つまりはAMD社が提供するハードウェアプラットフォーム上で、学習済みAIモデルを高速処理させるための統合開発環境という位置づけです。
Vitis™ AIを用いることで、PyTorch、TensorFlowといったディープラーニングフレームワークで構築された学習済みモデルを、FPGA上へ実装することが可能となります。
※3.5以降でONNX形式のモデルも実装可能になりました。
Vitis™ AIを活用した検証記事も過去に掲載していますので、気になる方は是非こちらをご参照ください!
前置きはこの程度にしておきまして、今回はVitis™ AIのアップデートで特にお伝えしたい点をご紹介したいと思います!
- ONNXモデル量子化ツールの登場
- Vitis™ AI Optimizer無償提供開始
- 今回および今後のアップデートについて
では早速アップデート内容を紹介していきましょう。
ONNXモデル量子化ツールの登場
今回のアップデートにて、ONNX形式のモデルを量子化できるツールがリリースされました。
3.0以前では、TensorFlow(1.x/2.x)およびPyTorch形式のモデルが量子化可能となっていましたが、新たにONNXモデルが追加された形になります。
出典:AMD Vitis AI User Guide (UG1414) / ONNX Runtime Version (vai_q_onnx)(参照 2023/07/21)
TensorFlowやPyTorchのモデルをDPU上で実装する際、以下2つの工程を経て変換を行います。
- ①
- 量子化:演算精度をINT8へ変換
- ②
- コンパイル:ターゲットDPU向けにコンパイル
ONNXに関して、ユーザーガイドおよびGitHubを見てみると、①の量子化のみでDPU上へ実装できるようです。
出典:AMD Vitis AI / Third-party Inference Stack Integration / ONNX Runtime(参照 2023/07/21)
サンプルの実行手順がこちらに記載があったので、次回以降で試してみたいと思います!
Vitis™ AI Optimizer無償提供開始
Vitis™ AI 3.5以降から、有償ツールとなっていたVitis™ AI Optimizerが無償提供となりました!
Vitis™ AI Optimizerとは、プルーニング(枝刈り)という技術を使い、AIモデルの精度を保ちつつ計算負荷を軽減させる機能になります。
適用することで、使用メモリ帯域を軽減することができ、処理速度の向上が見込めます。
実際にどの程度影響があるのか、AMD社が公開しているベンチマークを見てみましょう。
以下が、YOLOv5のFPS,GOPSを計測結果になります。
Vitis™ AI Optimizerを適用することで、処理速度が向上していることが分かります。
(Vitis AI Optimizer適用前):172.5FPS / 48.88GOPS
(Vitis AI Optimizer適用後):202.6FPS / 24.62GOPS
実行手順について、気になった方いらっしゃいましたら、こちらをご参照ください!
Vitis™ AI Optimizerの性能や手順など気になっていたので、次回以降試してみたいと思います。
今回および今後のアップデートについて
今回のアップデート以降、バージョンの数字に応じて意味合いが異なってくるとのことです。
x.0:メジャーアップデート Ex.) 4.0 など
x.5:マイナーアップデート Ex.) 3.5 など
今回は、マイナーアップデートに該当します。
そのため、アップデートの対象デバイスは全デバイスではなく、「Versal™ AI EdgeシリーズのVEK280」および「Alveo™シリーズのV70」の2つのみになります。
その他、Zynq™ MPSoC UltraScale+™やVersal™ AI Coreシリーズは、対象外とのこと。
ただし、Vitis™ AI 3.5の動作環境をサポートはしているとのことで、上記シリーズを用いる場合は、以下2パターンがあるとのことです。※詳細は、こちらをご参照ください。
- ①
- Vitis™ AI 3.0の環境をそのまま用いる
- ②
- Vitis™ AI 3.5のRuntime, Libraryを用いて、ターゲットボード向けにデザインを構築
②について少し補足すると、以下対応表をみて、該当するデザイン設計ツール(Vivado®, Vitis™, Petalinux)を用いてデザインを設計する流れと推測します。
こちらがリソースになりますので、気になった方はご参照ください。
おわりに
最後まで閲覧いただきありがとうございました!
今回は、アップデートされたVitis™ AI 3.5のご紹介でした。
まだまだ多くのアップデート内容がありますので、より詳細を知りたい方はこちらをご覧ください!
それではまた!TEPPE-AIでした~