Vitis AI 2.5

Vitis™ AI 2.5 版本亮点

  • 新增 AI 模型库
    • 14 个新模型,包括 BERT-NLP 模型、Vision Transformer (ViT)、OCR 模型、实时 SLAM 以及更多 Once-for-all (OFA) 模型
    • 38 个面向 AMD EPYC™ 服务器处理器的基础及优化模型
  • AI 量化器增加了 Model Inspector 模型检查器,且支持了 TensorFlow 2.8 和 Pytorch 1.10
  • 全图形优化器 (WeGO) 支持 Pytorch 1.x 和 TensorFlow 2.x 框架
  • Versal® ACAP DPU 支持 VC1902 器件的多个计算单元模式(Multiple compute units)、支持 Depthwise卷积和 LeakyReLU 算子组合等;Zynq Ultrascale MPSoC DPU IP 新增了由全新算术逻辑单元 (ALU) 实现的 Pool 、Depthwise 卷积,HardSigmoid 和 HardSwish 功能,大内核尺寸的 MaxPool、AveragePool、矩形内核 AveragePool 等更多运算符 (OP) 及功能组合。
  • 推断服务器 Inference Server 支持基于 AMD ZenDNN 的 AMD EPYC™ 服务器处理器
  • 全流程加速 (Whole Application Acceleration) 增加了面向 VCK5000 加速卡和 Zynq® UltraScale+™ ZCU102/ZCU104 评估套件的新示例

Vitis AI 2.5 最新信息(按类别)

展开以下部分,了解有关新特性和增强功能的更多详情。

  • 新增 14 个模型,共提供 134 个模型
  • 扩展了用于不同 AI 工作负载的模型类别
    • 增加了文本检测和 E2E OCR
    • 增加了Bert-NLP 模型和 Vision Transformer 模型
    • 增加了更多 OFA 优化的模型,包括 OFA-RCAN 超高分辨率增强和 OFA-YOLO 目标检测等
    • 增加了用于工业视觉模型和 SLAM 场景的模型
  • 新增 38 个面向 AMD EPYC 服务器处理器的基础及优化模型
  • 易用性增强
    • 根据应用类别改进了模型库索引
  • 新增模型检查器 Model Inspector,可用于检查浮点模型,并显示模型分区结果
  • 支持 TensorFlow 2.8 和 Pytorch 1.10 版本框架
  • 支持浮点缩放系数和按通道粒度的量化
  • 支持不同量化策略
  • OFA 增强
    • 支持偶数值的 kernel size
    • 支持 ConvTranspose2d
    • 更新的示例
  • One-step 及迭代压缩功能增强
    • 异常发生之后可恢模型分析或搜索
  • 支持基于 ALU 的 DPU IP - DPUCZDX8G
  • 支持了新模型
  • 新增了 6 个模型软件库
  • 支持 17 个新模型
  • 增强了支持自定义算子(Custom OP)功能
  • 新增了 CPU 支持算子
  • Xdputil 工具增强
  • 两套基于 VCK190 开发套件的新 Demo
  • 全面支持自定义算子(Custom OP)和 Graph Runner
  • 稳定性优化

边缘端 DPU - DPUCZDX8G

  • Zynq Ultrascale MPSoC DPU IP 新增了由算术逻辑单元( ALU )实现的 Pool 和 Depthwise 卷积功能,且支持:
    • 大内核尺寸 MaxPool、AveragePool、矩形内核尺寸的 AveragePool 和 16 位常数权重
    • HardSigmoid 和 HardSwish
    • DepthWiseConv 和 LeakyReLU 组合
    • 并行配置
  • 提供 ZCU102 套件(Vitis 2022.1)上基于全新 DPU IP 的参考设计 (TRD)

边缘端 DPU - DPUCVDX8G

  • 优化的 ALU 以更好地支持 channel-attention 等功能
  • 支持 VC1902 器件上多个计算单元 Multiple Compute Units
  • 支持 DepthWiseConv 和 LeakyReLU 组合
  • 提供 VCK190 套件(Vitis 2022.1)基于全新 Versal DPU IP 的参考设计(TRD),包含 C32B1-6 和 C64B1-5 不同配置。

数据中心端 DPU - DPUCVDX8H

  • 支持更大内核尺寸的 Depthwise 卷积,从 1x1 到 8x8 不等
  • 支持基于 AI 引擎(AI Engine)的 Pooling、ElementWise 加法及乘法,以及大内核尺寸的 Pooling
  • 支持更多 Depthwise 卷积内核尺寸

数据中心端 DPU - DPUCADF8H

  • 支持 ReLU6/LeakyReLU 及 MobileNet 系列模型
  • 修复了某些情况下在 .XO流程中目录丢失的问题
  • 支持 PyTorch 1.x 和 TensorFlow 2.x 框架内推理流程
  • 增加了 19 个 PyTorch 1.x/TensorFlow 2.x/TensorFlow 1.x 示例,包括分类、目标检测和分割
  • 推理服务器流程中新增 gRPC API
  • 支持基于 ZenDNN 的 AMD EPYC™ 服务器处理器,及 Tensorflow/Pytorch 模型
  • 提供 VCK5000 和 ZCU104 套件的新示例 — ResNet 及 ADAS 目标检测应用
  • 提供新的 ResNet 示例,包含基于 AI 引擎的预处理内核
  • 使用预构的 DPU 流程为 Alveo U50 卡和 ZCU102 套件生成 Xclbin — ResNet 及 ADAS 目标检测应用
  • 使用预构的 DPU 流程为 ZCU104 和 VCK190 套件生成 Xclbin — ResNet 和 ADAS 目标检测应用
  • 所有的 VCK190 示例已移植至 VCK190 产品板
Vitis AI 2.0

Vitis AI 2.0 版的几大亮点:

  • 提供 VCK190(量产芯片)、VCK5000(量产芯片)和 U55C 的 GA 版
  • 支持新版本的 Pytorch 和 Tensorflow:Pytorch 1.8-1.9、Tensorflow 2.4-2.6
  • 新增 3 个全新 NLP 模型、2 个 OFA(Once-for-all)模型和 22 个新模型 ,包括 Solo、Yolo-X、UltraFast、CLOC、PSMNet、FairMOT、SESR、DRUNet、SSR
  • 新增自定义 OP 流程,可使用 DPU 不支持的 OP 运行模型,在量化器、编译器和运行时之间实现增强性
  • VCK190 DPU 和 VCK5000 DPU 的附加层与配置
  • 为 AI 优化器新增 OFA 修剪及 TF2 Keras 支持
  • 直接从 Tensorflow (Demo) 为云计算 DPU 运行推断

Vitis AI 2.0 最新信息(按类别)

展开以下部分,了解有关新特性和增强功能的更多详情。

  • 新增 22 个模型(共计 130 个模型)
    • 19 个最新 Pytorch 模型,包括 3 个 NLP 模型和 2 个 OFA 模型
    • 3 个全新 Tensorflow 模型
  • 新增的应用模型
    • AD/ADAS:实例分割(Solo)、交通标志检测(Yolo-X)、车道检测(UltraFast)、传感器融合(CLOCs)
    • 医疗:超分辨率 (SESR)、图像去噪 (DRUNet)、光谱去噪 (SSR)
    • 智慧城市/工业视觉:双眼深度估计(PSMNet)、联合检测和 Re-ID(FairMOT)
  • EoU 增强
    • 更新了自动化脚本以查找和下载您需要的模型
  • TF2 量化器
    • 增加了对 TF 2.4-2.6 的支持
    • 增加对自定义 OP 流程的支持,包括形状推断、量化和转储
    • 增加对 CUDA 11 的支持
    • 在部署 QAT 模型时新增对 input_shape 分配的支持
    • 增强了对 TFOpLambda 层的支持
    • 更新了对硬件仿真的支持,包括 sigmoid 层、leaky_relu 层、全局及非全局平均池化层
    • 修复顺序模型漏洞,量化位置调整
  • TF1 量化器
    • 增加了对新 OP 的量化支持,包括 hard-sigmoid、hard-swish、element-wise multiply
    • 增加了用硬 sigmoid 代替标准 sigmoid 的支持
    • 更新了转储黄金结果时,对浮点权值转储的支持
    • 针对 python API 和 cli API 的不一致性进行了漏洞修复
  • Pytorch 量化器
    • 增加了对 pytorch 1.8 和 1.9 的支持
    • 支持 CUDA 11
    • 支持自定义 OP 流程
    • 提升了内存使用与精确性的高速微调性能
    • 量化特征图减少内存消耗
    • 改进了 QAT,包括更好的量化尺度初始化以及获取量化器参数的全新 API
    • 支持更多的量化运算:一些 1D 和 3D 运算、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) 模型
    • 用于迭代及一步修正的统一 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 流程
  • 支持模型专区的所有新模型:在 Vitis AI 库中进行端到端部署
  • 改进了 GraphRunner,能更好地支持自定义 OP 流程
  • 增加了说明如何整合自定义运算的示例
  • 增加了更多预执行 CPU 运算
  • DPU 驱动程序/运行时更新,支持 Vivado 流程的 Xilinx 器件树生成器 (DTG)
  • 支持图形运行器中的 CPU 任务跟踪
  • 文本摘要更好的内存带宽分析
  • 更好的性能,可以对大型模型进行分析
  • Zynq SoC/MPSoC 的 CNN DPU,DPUCZDX8G (DPUv2)
    • 更新至 2021.2
    • 更新了 Vivado 流程中的中断连接
  • Alveo-HBM 的 CNN DPU,DPUCAHX8H (DPUv3E)
    • 支持深度卷积
    • 支持 U55C
  • Alveo-DDR 的 CNN DPU,DPUCADF8H (DPUv3Int8)
    • 更新的 U200/U250 xlcbins 支持 XRT 2021.2
    • 发布了 XO 流程
    • 发布了 IP 产品指南 (PG400)
  • Versal 的 CNN DPU,DPUCVDX8G (xvDPU)
    • C32(单批 32-aie 内核)和 C64(单批 64-aie 内核)均可配置
    • 支持 C64 1~5 的可配置批量大小
    • 支持并优化了新 OP:conv3d、transposedconv3d、upsample3d、upsample2d
    • 减少 Conv bubble 和计算冗余
    • 在 ALUv2 中支持 16 位 const 权值
  • Versal 的 CNN DPU,DPUCVDX8H (DPUv4E)
    • 使用 6 PE 配置支持深度卷积
    • 支持 h-sigmoid 和 h-swish
  • 升级至 Vitis 和 Vivado 2021.2
  • 自定义插件示例:在 VCK190 上使用 Cost Volume(基于 RTL)加速器的 PSMNet
  • U50 上支持光流 (TV-L1) 的全新加速器
  • VCK190 上的高分辨率分割应用
  • 在 FPGA 和 CPU 版本之间比较吞吐量和精度的选项
    • 吞吐量提升幅度从 25% 到 368% 不等
  • 经过重组,提高了可用性和可见性
  • 提供了使用 DPU 不支持的 OP 部署模型的新功能
    • 在量化过程中定义自定义 OP
    • 在通过图形运行器部署前注册并实现自定义 OP
  • 新增两个示例
    • Pointpillars Pytorch 模型
    • MNIST Tensorflow 2 模型
  • 为 U50 和 U55C 新增 DPU 支持
  • 直接从 Tensorflow 框架为云计算 DPU 运行推断
    • 自动执行子图分区并为 DPU 子图应用优化/加速功能
    • 将非 DPU 子图分派到运行在 CPU 上的 TensorFlow
  • VCK5000 上的 Resnet50 和 Yolov3 演示
  • 支持在云端/本地提供服务的 xmodel (EA)
  • 当 TRAIN 和 TEST 相指向相同的 LMDB 文件时,vai_q_caffe 挂起
  • TVM 编译的 Inception_v3 模型使用 DPUCADF8H (DPUv3Int8) 提供的精度较低
  • 在由错误模式匹配导致的 QAT 中,会出现 TensorFlow 1.15 量化器错误
Vitis AI 1.4

Vitis AI 1.4 版的几大亮点:

  • 支持新平台,包括 Kria KV260 SoM 套件和 Versal ACAP 平台 VCK190、VCK5000;
  • 支持从版本 1.5 到版本 1.7.1 的扩展型 Pytorch 框架;
  • 新增业界一流的模型,包括 4D 雷达检测、图像-激光雷达传感器融合、3D 检测与分割、多任务、深度估算、超高分辨率与更多模型,适用于汽车、智能医疗和工业视觉应用;
  • 使用全新 Graph Runner API 实现更轻松的子图分区用户体验;
  • 性能提升;

Vitis AI 1.4 的新类别

展开以下部分,进一步了解 Vitis AI 1.4 的新特性和增强功能。

  1. 新增 16 个模型,总共提供不同深度学习框架(Caffe、TensorFlow、TensorFlow 2、PyTorch)的 108 个模型。
  2. 与 Vitis AI 1.3 相比,增加了模型的多样性:
    1. 对于自动驾驶和 ADAS 而言,增加了 4D 雷达检测、图像-激光雷达传感器融合、环绕视图 3D 检测、升级的 3D 分割与多任务模型
    2. 对于医学和工业视觉而言,增加了深度估算、RGB-D 分割以及超高分辨率等参考模型
  3. 易用性增强:提供自动下载脚本,可根据型号名称和硬件平台自由选择版本
  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. 不仅通过 subclassing tf.keras.layers 支持自定义层,而且还支持自定义量化策略;
  7. 不仅支持自定义层, 而且还支持自定义量化策略
  8. 提高了易用性,修复了漏洞

  

  1. 支持 Pytorch 1.5-1.7.1
  2. 支持激活
    1. hard-swish、hard-sigmoid
  3. 支持更多操作符:
    1. Const、Upsample 等
  4. 量化过程中支持共享参数
  5. 更强的量化分析及错误检查功能
  6. 提高了 QAT 功能:
    1. 根据 PTQ 结果提供支持训练
    2. 支持重复使用的模块
    3. 支持恢复训练
  1. 在 TF1 中支持 tf.keras API
  2. 可为模型分析提供单个 GPU 模式支持
  1. 通过简化的 API 提高了易用性;
  2. 支持 torch.nn.ConvTranspose2d;
  3. 支持重复使用的模块;
  1. 为 DPUCVDX8G 提供 ALU 支持 (xvDPU)
  2. 支持跨层预提取优化选项
  3. 支持 xmodel 输出节点分配
  4. 启用特性实现零拷贝:
    1. DPUCZDX8G (DPUv2)
    2. DPUCAHX8H (DPUv3E)
    3. DPUCAHX8L (DPUv3ME)
  5. 开源网络可视化工具 Netron 正式支持 Xilinx XIR 
  1. 在 AI 模型专区支持 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 作为输入来改进 EoU,减少从 FP32 到 INT8 的转换;
  1. 支持全新 DPU IP:
    1. DPUCVDX8G (xvDPU)
    2. DPUCAHX8L (DPUv3ME)
    3. DPUCVDX8H (DPUv4E)
  2. 在 vivado 流程中支持 DPUv2 和 xvDPU
  3. 内存 IO 统计
  4. 提高了易用性
  1. DPUv2 IP 升级至 2021.1
  1. VCK190 xvDPU TRD
  2. 支持批量大小 1~6,基于 C32 模式可配置
  3. PL 支持全新 OP:
    1. 高达 256x256 的全局平均池、元素乘法、Hardsigmoid 和 Hardswish
  4. 部署更多模型
  1. 在 Vitis AI 1.4 中发布 xo
  1. 支持最新 U250 平台 (2020.2)
  2. 支持最新 U200 平台 (2021.1)
  3. 漏洞修复
  1. 通过权值预提取功能,提高了小型网络处理的 DPU 性能
  1. 在 ZCU102 上提供了多目标跟踪 (SORT) 示例
  2. 为 Versal (VCK190) 提供了分类应用示例
  3. 将现有示例更新为 XRT API 和零拷贝
  4. 提供了 U200 (DPUv3INT8) TRD
  5. 端口 U200/250 示例使用 DPUv3INT8 而不是 DPUv1
  6. xRNN 预处理加速示例(嵌入层)
  7. SSD MobileNet U280 示例现在可在硬件上加速预处理及后处理
  1. 支持所有 DPU — ZCU102/4、U50、U200、U250、U280
  2. 为边缘设备使用 Petalinux
  3. 在应用层使用 AKS 提高了吞吐量
  4. 按 python 笔记本提供 Yolov3 教程
  1. 将 DPU 内核统一成一个内核,并为 Alveo U200/250 (DPUv3INT8)、U280、U50、U50lv 增加采样