查看原文
其他

干货! AI 推断解决方案栈 Vitis AI 全流程独家解析

夕颜 程序人生 2021-11-11

2019年,擅长FPGA赛道的赛灵思发布了Vitis统一软件平台,旨在为不熟悉硬件编程与FPGA开发的软件开发人员提供便利。其中的Vitis AI开发环境,一经发布就备受AI开发者关注。
在赛灵思的定义中,这是一组面向算法开发者进行深度学习相关研究和开发的高级加速库和设计工具,可以帮助开发者释放AI加速的潜力。
更直接地讲,VitisAI就是一个统一的AI推断解决方案栈,不仅包含AI开发所需的常用工具箱,还包含从Model Zoo到计算引擎的完整堆栈。

Vitis AI的另一个重要意义在于统一了用户与平台,任何领域的模型经过VitisAI支持的Caffe、TensorFlow、PyTorch等框架的训练,都可以通过Vitis AI工具编译成赛灵思中间表示形式(XIR),并通过DPU(DeepLearning Processing Unit )集成在边缘云的不同硬件上。

经过一年多的迭代,彼时那个备受关注的Vitis AI怎么样了?在开发者中间的接受度如何?也许一组数据可以反映一二:Vitis下载量达47000次、VitisAI下载量达40000次;超过15000名开发者在该平台上进行AI训练,独立开发者超过1000 人。
除此之外,赛灵思还在GitHub上免费开源多个深度Vitis & Vitis AI教程,这对开发者来说,无疑是个好消息。

Vitis AI全流程详解
仅一年时间,VitisAI在开发者中便已有了一大批支持者。对于广大开发者而言,他们真正关心的问题是怎样可以方便简单地上手VitisAI、快速进行AI开发。
今天,我们就通过这篇文章,从Vitis AI的核心功能、组成部分、实例演示等维度,详解Vitis AI的使用全流程。

组成部件

从框架上来说,从上层应用到底层处理器,Vitis AI提供的统一AI推理解决方案栈主要由以下几部分组成:
  • 用户应用
  • AI框架
  • 预训练模型
  • AI语法分析器&量化器
  • AI编译器
  • VART:统一的运行时APIs
  • AI库
  • DPU
  • ...
这些部件各自拥有什么样的能力?下面我们来分步骤讲解:
  • Model Zoo
Model Zoo是Vitis AI支持的模型集合,包括Xilinx Model Zoo、公开Model Zoo,以及定制化Model Zoo三种,提供经过公共数据集训练过的先进模型,用户可以轻松地复制结果,或将其作为基准,使用一些私有数据集检索模型。此外,Model Zoo还提供了所有的训练脚本和超级参数,用户无需亲手调试,就可以完成所有操作。
值得注意的是,在今年12月18日发布的Vitis AI 1.3版本中,Model Zoo已经支持包括TensorFlow、TensorFlow 2、Caffe、PyTorch等在内的92个模型,这些模型不仅可以部署在16nm的器件上,还可以部署在先进的通用平台上。
另一个亮点是,Vitis AI 1.3版本还引入了Yaml文件来维护所有模型。如上图所示,每个模型都包含一个Yaml文件,它能够描述整体信息,如训练数据集、输入大小、复杂性、框架和额外的下载链接。在1.2版本中,Vitis AI将所有预编译模型组合到一个大型RPM软件包中,用户只需单击一下就可以安装所有组件。但随着模型的增加,安装时间也越来越长,因此,1.3版本中引入了Yaml文件。
如果开发者只是想快速演示,就可以下载特定的预编译模型;如果用户已经有自己的自定义配置板,那么量化模型会很有用。
  • AI 语法分析器 & 量化器
而如果用户想重新训练模型或使用一些私有数据集,则可以下载浮动模型。
小tips:在Vitis AI工作流中,AI量化器是必用的组件,因为DPU只支持八位计算,量化器可以进行32位到八位转换,并尽量减少过程中的精确度损失。
在Vitis AI 1.3版本的工作流中,使用NNDCT可以将模型转换为统一的XIR格式,以便进一步编译。基于XIR的编译器将模型解析为几个子图,如果它们不支持DPU,则将它们分配给CPU。
  • AI编译器
Vitis AI 的编译器将AI模型映射到高效的指令集和数据流,并进行复杂的优化,例如层融合、指令调度,以及尽可能多地重用片上存储器。
插件功能是1.3版本的亮点之一,它支持用户注册定制HLS或RTL子图,超过在CPU运行的性能。此外,编译器还进行了一些低级优化,如运算符融合,以最大限度地减少从L2 DDR读取和写入的内存。
看到这里,你是否会觉得还不过瘾?以上仅为 Xilinx Adapt China:软件与 AI 专场 “Vitis 开发全流程” 的部分节选。想要了解更多使用Vitis AI的操作细节吗?如何才能进一步体验Vitis AI开发环境和工具开发流程呢?
2021年1月7日-8日举办的Xilinx Adapt China: AI & Software线上研讨会,赛灵思高级软件工程师张帆将在线通过“实操演示”,带用户 Step by Step掌握Vitis AI 开发全流程,掌握从Github上寻找相应开源资源的方法,以及如何运行PointPillars的详细步骤演示。除了Vitis AI,研讨会还有更多精彩演讲议题和现场实例操作,让我们先来一睹为快吧!
目前,Xilinx AdaptChina: AI & Software已开启线上报名,扫描上图二维码报名参加活动或者点击阅读原文,收获满满干货!本次活动为线上研讨会,活动页面可以随时随地添加收藏,感兴趣的朋友欢迎关注~

前瞻预览:全新Xilinx应用商店究竟有什么?

本演讲将独家展示业界首家FPGA应用商店XilinxApp Store,了解赛灵思如何实现合作伙伴解决方案的全面自助评估和购买。赛灵思应用商店将开放15个以上的应用程序,更多应用程序正陆续上线。

在这节课中,赛灵思特邀 Accelize公司CTO Gael Paul共同介绍买方和卖方的经验,其中包括了如何在10分钟内从开始到完成评估解决方案,以及如何在App Store上托管解决方案。

会议第二天,还有更多精彩议程待你解锁,其中包括FPGA 上 Once-for-All 神经网络与 AutoML 技术、赛灵思Versal 人工智能引擎开发简介、Vitis 高层次综合(HLS)工具如何用 untimed C 代码解决设计生产力的挑战,以及Vitis 系统集成实例演示、Vitis嵌入式平台创建揭秘、Xilnx 运行时(XRT)的几大要素等实操案例详解!
戳“阅读原文”,约起来吧~
: . Video Mini Program Like ,轻点两下取消赞 Wow ,轻点两下取消在看

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存