1. 株式会社PALTEK
  2. TECHブログ
  3. 技術情報
  4. Vitis™ AI 3.0がリリース!YOLOv5にも対応!アップデート内容をご紹介!

TECHブログ

Vitis™ AI 3.0がリリース!YOLOv5にも対応!アップデート内容をご紹介!

Vitis™ AI 3.0がリリース!YOLOv5にも対応!アップデート内容をご紹介!
皆さまこんにちは!TEPPE-AIです!

今回ご紹介するものは
「Vitis™ AI 3.0リリース!YOLOv5にも対応!
アップデート内容をご紹介!」
です。

2023年1月にVitis™ AIが3.0へアップデートされました。

今回のアップデートでは、タイトルにもある通り、物体検出AIモデル「YOLO」でも人気のあるYOLOv5の対応やONNX Rutimeとの連携強化など、目白押しなアップデート内容になります。

※ Vitis™ AI アップデート履歴
1.4 :2021/7
1.4.1 :2021/10
2.0 :2022/1
2.5 :2022/6
3.0 :2023/1

アップデート内容について自分視点で気になった箇所を紹介していきたいと思います。
ポイントを絞ってお伝えしますので、是非最後まで見ていってください。
それでは参りましょう!

目次

Vitis™ AI 3.0

2023年1月に3.0がリリースされました。

出典:https://github.com/Xilinx/Vitis-AI#readme

Vitis™ AI は、AMD のデバイス、ボード、Alveo™ データセンター アクセラレーション カードを使用する包括的な AI 推論開発プラットフォームです。
つまりはAMDが提供するハードウェアプラットフォーム上で、学習済みAIモデルを高速処理させるための統合開発環境という位置づけです。

Vitis™ AIを用いることで、PyTorch, TensorFlowといったディープラーニングフレームワークで構築された学習済みモデルを、FPGA上へ実装が可能となります。

Vitis™ AIを活用した記事も過去に掲載していますので、気になる方は是非こちらをご参照ください。

前置きはこの程度にしておきまして、今回はVitis™ AIのアップデートで特徴的な部分を紹介したいと思います。

  • YOLOv5に対応
  • VOE(Vitis™ AI ONNX Runtime Engine)
  • その他注目ポイント(WeGO、新たなデバイスのアーリーアクセスが公開)

ツールのアップデートも目白押しですが、もう一つ大きなポイントとして、ツール紹介ページ(GitHub)のリニューアルが挙げられます。

出典:https://xilinx.github.io/Vitis-AI/#vitis-ai

Vitis™ AIのツールはGitHub上で管理されておりオープンソースとなっています。

以前ではREADME.mdを活用していましたが、上図のように3.0からgithub.ioを活用し、Vitis™ AIの概要や、ツールの説明、参考ユーザーガイドなど、開発にあたり必要な情報が閲覧しやすくなりました。

筆者もVitis™ AIを活用して長くなりますが、各項目の説明も分かりやすく、どんなツールなのか導入前の理解としては十分な情報量かと思います。
※深い理解のためには実際にふれることが一番です。

では早速アップデート内容を紹介していきましょう。

YOLOv5に対応

画像を用いた物体検出AIでも有名なYOLOですが、その中でも人気があるYOLOv5が対応可能となりました。

YOLOv5は、「n」「s」「m」「l」「x」といった、アーキテクチャの規模のバリエーションが様々なところが特徴です。
過去人気を博していたYOLOv3よりも注目が集まっています。

人気の理由の1つとして、PyTorchベースで構築されている点です。
PyTorchはTensorFlowと並び、操作性・機能性などの面からみて優秀で、ディープラーニングの開発において主流となっているフレームワークです。

YOLOv3などのレガシー版はdarknetというフレームワークをベースに構築されているため、PyTorchやTensorFlow上で扱うためには別途変換させる必要がありました。

変換なしで構築・利用できることから、YOLOv5が人気になっているのではと考えています。

出典:https://github.com/ultralytics/yolov5

ただ1つ、実装の壁として商用利用のライセンス問題がありました。
YOLOv5はGPLライセンスを適用しており、OSSのライセンスで有名なApache Licenseなどと比較すると制限が強く、企業が商用利用する際に大きな壁となっていました。

そんなYOLOv5が今回Vitis™ AIで適用可能となると、実装ケースも増えていくのではないかと思います。

Vitis™ AIはApache License2.0が適用されているため、商用利用の観点からも扱いやすくなるのではと考えています。
ライセンスに関しては、より詳しい調査が必要になりますので、実際のご利用の際はご注意ください。

※今回の記事での言及による責任は負いかねますので、ご了承ください。

今後、TECHブログでもYOLOv5の実装を試してみたいと思います。

VOE(Vitis™ AI ONNX Runtime Engine)

ONNX Runtimeとの連携は過去のバージョンでもありましたが、3.0ではエッジ向け(MPSoCやVersal)にも対応可能となりました。
対応にあたり、量子化実行時にONNX形式の量子化モデルを出力可能となっています。

出典:https://xilinx.github.io/Vitis-AI/docs/workflow-third-party.html

Exampleの用意もあるので、気になる方は是非こちらをチェックしてみてください!

ONNXを活用することで、処理工程がより最適化され、処理速度向上も見込めるかと思います。今後のアップデートに大いに期待です。

その他注目ポイント

以下について、簡単にふれていきたいと思います。

① WeGO 量子化機能が統合
② 新たな評価KITのアーリーアクセス公開

① WeGO 量子化機能が統合

WeGOは、Vitis™ AI環境とディープラーニングフレームワーク(PyTorch,TensorFlow)を統合した新しい開発環境になります。
WeGOを活用することで、学習工程時に作成したPythonスクリプト上で推論までをカバーすることが可能になります。
3.0へアップデートされたことで、量子化(オンザフライ)もフレームワーク内で行えるようになりました。

ただ、この機能はクラウド向けのデバイス(Alveo™シリーズ)に限定となりますので、ご注意ください。

3.0以前のWeGO開発フローイメージ

Vitis™ AIで量子化(Vitis AI Quantizer)した上でWeGOを用いる必要がありました。

3.0でのWeGO開発フローイメージ

量子化もWeGOの機能として統合され、1つのPythonスクリプト上で、量子化~推論開始までを実現できるようになりました。
※WeGO内の量子化機能は、PTQ(トレーニング後の量子化)のみのサポートで、QAT(量子化認識トレーニング)は記事執筆時点ではサポートされていません。

② 新たなデバイスのアーリーアクセスが公開

新たに以下シリーズからアーリーアクセスが公開されました。

  • Alveo:V70
  • Versal AI Edge:VEK280

今回使用したデバイスに関してご興味ご関心ございましたら、弊社まで気軽にお申し付けください。

おわりに

最後まで閲覧いただきありがとうございました!
今回は、アップデートされたVitis™ AI 3.0のご紹介でした。

まだまだ多くのアップデート内容がありますので、より詳細を知りたい方はこちらをご覧ください。
それではまた!TEPPE-AIでした~

 

お問い合わせはこちら

このブログのシリーズ