Vitis™ AI 最新情報

Vitis AI 2.0

Vitis AI 2.0 リリース ハイライト

  • VCK190 (プロダクション シリコン)、VCK5000 (プロダクション シリコン)、および U55C の GA 版を提供
  • Pytorch/Tensorflow の新バージョンをサポート: Pytorch 1.8-1.9、Tensorflow 2.4-2.6
  • NLP モデルを 3 つ、OFA (Once-for-all) モデルを 2 つ、その他 Solo、Yolo-X、UltraFast、CLOC、PSMNet、FairMOT、SESR、DRUNet、SSR を含む新たに 22 のモデルを追加
  • クオンタイザー、コンパイラ、ランタイムを強化し、DPU でサポートされていない演算子を含むモデルを実行するための新しいカスタム OP フローを追加
  • VCK190 DPU と VCK5000 DPU の新しいレイヤーとコンフィギュレーション
  • AI オプティマイザー向けの OFA プルーニングと TF2 Keras のサポートを追加
  • クラウド DPU の場合に Tensorflow (デモ) から直接推論を実行

Vitis AI 2.0 最新情報 (カテゴリ別)

以下の各セクションを展開して新機能と拡張機能の詳細を確認してください。

  • 新たに 22 のモデルを追加 (合計 130)
    • NLP モデル (3 つ) や OFA モデル (2 つ) などを含む 19 の新しい Pytorch モデル
    • 3 つの新しい Tensorflow モデル
  • 新しいアプリケーション モデルを追加
    • AD/ADAS: インスタンスのセグメンテーション (Solo)、交通標識の検出 (Yolo-X)、車線検出 (UltraFast)、センサー フュージョン (CLOCs)
    • 医療: 超解像 (SESR)、画像のノイズ除去 (DRUNet)、スペクトラル ノイズ除去 (SSR)
    • スマート シティ/インダストリアル ビジョン: 両眼深度推定 (PSMNet)、ジョイント検出と Re-ID (FairMOT)
  • EoU 向上
    • 必要なモデルを検索してダウンロードするための自動スクリプトを更新
  • TF2 クオンタイザー
    • TF 2.4-2.6 のサポートを追加
    • shape 推論、量子化、ダンピングなどのカスタム OP フローのサポートを追加
    • CUDA 11 のサポートを追加
    • QAT モデル運用時における input_shape の割り当てサポートを追加
    • TFOpLambda 層のサポートを改善
    • sigmoid 層、leaky_relu 層、グローバル/非グローバル平均プーリング層などハードウェア シミュレーションのサポートを更新
    • シーケンシャル モデルのバグ修正、量子化位置調整
  • TF1 クオンタイザー
    • hard-sigmoid、hard-swish、element-wise multiply などの新しい OP の量子化サポートを追加
    • 標準のシグモイドをハード シグモイドに置き換えるためのサポートを追加
    • ゴールド データをダンプする際に浮動小数点の重みをダンプするためのサポートを更新
    • python API と cli API の不整合に対するバグ修正
  • Pytorch クオンタイザー
    • pytorch 1.8 および 1.9 のサポートを追加
    • CUDA 11 をサポート
    • カスタム OP フローをサポート
    • メモリ使用量と精度の高速微調整機能が改善
    • 量子化の特徴マップでメモリ消費量を削減
    • 量子化スケールの初期化機能の改善や量子化パラメーターを取得するための新しい API など、QAT が改善
    • 多ビットの量子化をサポート: 一部の 1D/3D OP、DepthwiseConvTranspose2D、pixel-shuffle、pixel-unshuffle、const
    • CONV+CONCAT+BN というパターンでの CONV/BN の結合をサポート
    • メッセージ機能が改善され、問題箇所の特定が容易になる
    • ハードウェアとの整合性に関するバグ修正
  • TensorFlow 1.15
    • モデル トレーニング用の tf.keras.Optimizer をサポート
  • TensorFlow 2.x
    • TensorFlow 2.3-2.6 をサポート
    • 反復プルーニングを追加
  • PyTorch
    • Pytorch 1.4-1.9.1 をサポート
    • プルーニングで共有パラメーターをサポート
    • ワンステップ プルーニングを追加
    • OFA (once-for-all) を追加
    • 反復プルーニングとワンステップ プルーニングに対応する統合 API
    • クオンタイザーでプルーニング済みのモデルを使用可能
    • nn.Conv3d および nn.ConvTranspose3d をサポート
  • エンベデッド プラットフォーム上の DPU
    • DPUCVDX8G(xvDPU) の conv3d、transposedconv3d、upsample3d、upsample2d をサポートおよび最適化
    • DPUCVDX8G(xvDPU) の高解像度入力の効率化
    • ALUv2 の新機能をサポート
  • Alveo/クラウド上の DPU
    • DPUCVDX8H(DPUv4E) の depthwise-conv2d、h-sigmoid、h-swish をサポート
    • DPUCAHX8H(DPUv3E) の depthwise-conv2d をサポート
    • 高解像度モデル推論をサポート
  • カスタム OP フローをサポート
  • Model Zoo 内の新しいモデルをすべてサポート: Vitis AI でエンドツーエンドの運用
  • GraphRunner が改善され、カスタム OP フローのサポートが向上
  • カスタム OP の組み込み方法を示した例を追加
  • 実装済みの CPU OP を追加
  • DPU ドライバー/ランタイムを更新して、Vivado フロー用のデバイス ツリー ジェネレーター (DTG) をサポート
  • グラフ ランナーで CPU のタスク トラッキングをサポート
  • テキスト サマリでのメモリ帯域幅の解析が容易
  • 性能が向上し、大規模モデルの解析が可能
  • Zynq SoC / MPSoC 向け CNN DPU、DPUCZDX8G (DPUv2)
    • 2021.2 にアップグレード
    • Vivado フローの割り込み接続を更新
  • Alveo-HBM 向け CNN DPU、DPUCAHX8H (DPUv3E)
    • 空間方向 (depth-wise) のたたみ込み
    • U55C をサポート
  • Alveo-DDR 向け CN DPU、DPUCADF8H (DPUv3Int8)
    • XRT 2021.2 を使用する U200/U250 xlcbins をアップデート
    • XO フローをリリース
    • IP 製品ガイド (PG400) をリリース
  • Versal 向け CNN DPU、DPUCVDX8G (xvDPU)
    • C32 (シングル バッチで 32-aie コア) および C64 (シングル バッチで 64-aie コア) として構成可能
    • C64 の場合、バッチ サイズを 1 ~ 5 の範囲で指定可能
    • 新しい OP をサポートおよび最適化: conv3d、transposedconv3d、upsample3d、upsample2d
    • Conv バブルや計算の冗長性を軽減
    • ALUv2 で 16 ビットの定重みをサポート
  • Versal 向け CNN DPU、DPUCVDX8H (DPUv4E)
    • 6 PE 構成の空間方向 (depth-wise) のたたみ込みをサポート
    • h-sigmoid および h-swish をサポート
  • Vitis/Vivado 2021.2 にアップグレード
  • カスタム プラグインの例: VCK190 で Cost Volume (RTL ベース) アクセラレータを使用する PSMNet
  • U50 を使用するオプティカル フロー (TV-L1) 向けの新しい アクセラレータ
  • VCK190 を使用する高解像度セグメンテーション アプリケーション
  • FPGA および CPU のスループットと精度を比較するためのオプション
    • 25% ~ 368% のスループット向上
  • 使いやすさと可視性の向上のために再構成
  • DPU でサポートされていない演算子を含むモデルを実行するための新機能を提供
    • 量子化でカスタム OP を定義
    • グラフ ランナーで運用する前にカスタム OP をレジスタおよび実装
  • 2 つの例を追加
    • Pointpillars Pytorch モデル
    • MNIST Tensorflow 2 モデル
  • U50 および U55C 向け DPU のサポートを追加
  • クラウド DPU の Tensorflow フレームワークから推論を直接実行
    • DPU サブグラフに対して、自動でサブグラフの分割を実行して最適化/高速化を適用
    • CPU 上で動作する TensorFlow に DPU 以外のサブグラフをディスパッチ
  • VCK5000 で実行する Resnet50 と Yolov3 のデモ
  • クラウド/オンプレミス (EA) における xmodel サービングをサポート
  • TRAIN フェーズと TEST フェーズが同じ LMDB ファイルを指すと、vai_q_caffe がハングする
  • DPUCADF8H (DPUv3Int8) を使用する場合、TVM でコンパイルした Inception_v3 モデルが低精度となる
  • 不正なパターン マッチにより、TensorFlow 1.15 のクオンタイザーで QAT エラーが生じる
Vitis AI 1.4

Vitis AI 1.4 リリース ハイライト

  • Kria KV260 SoM キット、Versal ACAP プラットフォームの VCK190 や VCK5000 などの新しいプラットフォームをサポート
  • Pytorch フレームワークのサポートを Ver.1.5 から Ver.1.7.1 に拡張
  • 4D レーダー検知、Image-Lidar センサー フュージョン、3D 検知/セグメンテーション、マルチタスク、深度推定、超解像技術など、オートモーティブ、スマート メディカル、産業用ビジョン アプリケーションに適用できる最先端モデルを追加
  • 新しい Graph Runner API により、サブグラフの分割が簡単になる
  • 性能向上

Vitis AI 1.4 最新情報 (カテゴリ別)

以下の各セクションを展開して Vitis 1.4 の新機能と拡張機能の詳細を確認してください。

  1. 16 の新しいモデルを追加し、異なる深層学習フレームワーク (Caffe、TensorFlow、TensorFlow 2、PyTorch) の合計 108 のモデルを提供。
  2. Vitis AI 1.3 より、モデルの多様性が向上。
    1. 自律走行/ADAS 向けに、4D レーダー検知、Image-Lidar センサー フュージョン、サラウンド ビュー 3D 検知、改良版 3D セグメンテーション、マルチタスクモデルが追加。
    2. 医療用/産業用ビジョン向けに、深度推定、RGB-D セグメンテーション、超解像技術などのリファレンス モデルを追加。
  3. EoU の強化: モデル名とハードウェア プラットフォームに応じてバージョンを自由に選択できる自動ダウンロード スクリプトを提供。
  1. トレーニング後の量子化 (PTQ) で高速微調整をサポート
  2. 量子化認識トレーニング (QAT) 機能の向上
  3. さらに多くのレイヤーをサポート: swish/sigmoid、hard-swish、hard-sigmoid、LeakyRelu、ネストされた tf.keras の関数モデルとシーケンシャル モデル
  4. さらに多くのレイヤーをサポート:
    1. swish/sigmoid、hard-swish、hard-sigmoid、LeakyRelu
    2. ネストされた tf.keras の関数型モデルとシーケンシャル モデル
  5. 新しいモデルをサポート: EfficientNet、EfficientNetLite、Mobilenetv3、Yolov3、Tiny Yolov3
  6. tf.keras.layers のサブクラス化でカスタム レイヤーをサポート、またカスタムの量子化戦略をサポート
  7. tf.keras.layers のサブクラス化でカスタム レイヤーをサポート、またカスタムの量子化戦略をサポート
  8. 使いやすさ向上、バグ修正

 

  1. Pytorch 1.5-1.7.1 をサポート
  2. 活性化関数をサポート
    1. hard-swish, hard-sigmoid
  3. その他の演算子をサポート :
    1. Const, Upsample, etc.
  4. 量子化で共有パラメーターをサポート
  5. 量子化プロファイリングおよびエラー チェック機能が強化
  6. QAT 機能が向上
    1. PTQ 結果からのトレーニングをサポート
    2. 再利用モデルをサポート
    3. トレーニング再開をサポート
  1. TF1 で tf.keras API をサポート
  2. シングル GPU モードでのモデル解析をサポート
  1. API の簡素化による使いやすさの向上
  2. torch.nn.ConvTranspose2d をサポート;
  3. モジュールの再利用をサポート
  1. DPUCVDX8G (xvDPU) の ALU をサポート
  2. クロスレイヤー プリフェッチ最適化オプションをサポート
  3. xmodel 出力のノード割り当てをサポート
  4. ゼロコピー (zero-copy) に対応
    1. DPUCZDX8G (DPUv2)
    2. DPUCAHX8H (DPUv3E)
    3. DPUCAHX8L (DPUv3ME)
  5. オープンソース ネットワーク ビジュアル化ツール Netron は、正式にザイリンクス XIR をサポート
  1. AI Model Zoo に追加された新たに 16 のモデルをサポート
    1. 11 の新しい Pytorch モデル
    2. 5 つの Tensorflow モデル (1 つは、Tensorflow 2.x)
    3. 1 つの新しい Caffe モデル
  2. 新たに API graph_runner を導入 (主に複数のサブグラフを持つモデル向け)
  3. DPU および xmodel デバッグ用の新しいツール xdputil を導入
  4. 新しい KV260 SoM キットをサポート
  5. VCK190 の DPUCVDX8G (xvDPU) をサポート
  6. VCK5000 の DPUCVDX8H (DPUv4E) をサポート
  1. Versal プラットフォーム VCK190 および VCK5000 をサポート
  2. PetaLinux 2021.1、OpenCV v4 をサポート
    1. 入力に INT8 を使用するようにサンプルを変更することで、FP32 から INT8 への変換が減少し、EoU が改善される
  1. 新しい DPU IP をサポート:
    1. DPUCVDX8G (xvDPU)
    2. DPUCAHX8L (DPUv3ME)
    3. DPUCVDX8H (DPUv4E)
  2. Vivado フローで DPUv2 および xvDPU をサポート
  3. メモリ IO の統計
  4. EoU の改善
  1. DPUv2 IP が 2021.1 にアップグレード
  1. VCK190 xvDPU TRD
  2. C32 モードに応じた任意のバッチ サイズ (1 ~ 6) をサポート
  3. PL で新しい OP をサポート:
    1. Global Average Pooling (最大 256x256)、Element Multiply、Hardsigmoid、Hardswish
  4. その他のモデル運用
  1. Vitis AI 1.4 で xo をリリース
  1. 最新の U250 プラットフォーム (2020.2) をサポート
  2. 最新の U200 プラットフォーム (2021.1) をサポート
  3. バグ修正済み
  1. ウェイト プリフェッチ機能により、小規模ネットワーク処理の DPU 性能が向上
  1. ZCU102 で動作する Multi Object Tracking (SORT) サンプル デザインを提供
  2. Versal (VCK190) 向けの分類アプリケーションのサンプル デザインを提供
  3. 既存のサンプル デザインを XRT API とゼロコピーにアップデート
  4. U200 (DPUv3INT8) TRD を提供
  5. DPUv1 ではなく DPUv3INT8 を使用するために、U200/250 サンプルを移植
  6. xRNN 前処理アクセラレーションのサンプル デザイン (埋め込み層)
  7. SSD MobileNet U280 サンプル デザインでは、ハードウェア上で前処理と後処理の両方を高速化
  1. すべての DPU をサポート - ZCU102/4、U50、U200、U250、U280
  2. エッジ デバイス向けの PetaLinux を使用
  3. アプリケーションレベルで AKS を使用することでスループットが向上
  4. Yolov3 チュートリアル (Python notebook)
  1. DPU カーネルを一つに統合し、Alveo U200/250 (DPUv3INT8)、U280、U50、U50lv のサンプルを追加