0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

在开发平台上使用VITIS AI加速AI应用

星星科技指导员 来源:嵌入式计算设计 作者:Vaibhav Kothari 2022-07-01 14:24 次阅读

VITIS 是一个用于开发软件和硬件的统一软件平台,使用 Vivado 和其他用于 Xilinx FPGA SoC 平台(如 ZynqMP UltraScale+ 和 Alveo 卡)的组件。VITIS SDK 的关键组件 VITIS AI 运行时 (VART) 为在边缘和云上部署终端 ML/AI 应用程序提供了统一的接口

机器学习中的推理是计算密集型的,需要高内存带宽和高性能计算,以满足各种终端应用程序的低延迟和高吞吐量要求。

Vitis AI 工作流程

Xilinx Vitis AI 提供了一个工作流,可使用简单的流程在 Xilinx 深度学习处理单元 (DPU) 上部署深度学习推理应用程序:

poYBAGK-kzmASgm-AAFdYdCFZ3o399.png

深度处理单元 (DPU) 是一种可配置的计算引擎,针对深度学习推理应用的卷积神经网络进行了优化,并置于可编程逻辑 (PL) 中。DPU 包含高效且可扩展的 IP 内核,可进行定制以满足许多不同应用的需求。DPU 定义自己的指令集,Vitis AI 编译器生成指令。

VITIS AI 编译器以优化的方式调度指令以获得可能的最大性能。

在 Xilinx ZynqMP UltraScale+ SoC 平台上运行任何 AI 应用程序的典型工作流程包括以下内容:

模型量化

模型编译

模型优化(可选)

构建 DPU 可执行文件

构建软件应用程序

集成 VITIS AI 统一 API

编译和链接混合 DPU 应用程序

在 FPGA 上部署混合 DPU 可执行文件

人工智能量化器

AI Quantizer 是一种用于量化过程的压缩工具,通过将 32 位浮点权重和激活转换为定点 INT8。它可以在不丢失模型准确信息的情况下降低计算复杂度。定点模型需要更少的内存,因此比浮点实现提供更快的执行和更高的功率效率。

pYYBAGK-k0OAcg51AAEUfHmRVjg505.png

人工智能编译

AI 编译器将网络模型映射到高效的指令集和数据流。编译器的输入是量化的 8 位神经网络,输出是 DPU 内核 - 可执行文件将在 DPU 上运行。在这里,不支持的层需要部署在 CPU 中,或者可以自定义模型来替换和删除那些不支持的操作。它还执行复杂的优化,例如层融合、指令调度和片上存储器的重用。

一旦我们能够执行 DPU,我们需要使用 Vitis AI 统一 API 来初始化数据结构,初始化 DPU,在 CPU 上实现 DPU 不支持的层,并在 CPU 上添加预处理和后处理PL/PS 的需求基础。

poYBAGK-k0uAGNFoAAD_TpKOAM8422.png

人工智能优化器

借助其模型压缩技术,AI Optimizer 可以将模型复杂度降低 5-50 倍,而对准确性的影响最小。这种深度压缩将推理性能提升到一个新的水平。我们可以实现所需的稀疏性并将运行时间减少 2.5 倍。

poYBAGK-k2CAB9qAAAGTFkNeeA4679.png

人工智能分析器

AI Profiler 可以帮助分析推理找到导致端到端管道瓶颈的警告。分析器为设计人员提供了 DPU/CPU/内存的通用时间线。此过程不会更改任何代码,并且可以跟踪功能并进行分析。

poYBAGK-k2eAHrZEAAKq6M1K_js563.png

人工智能运行时

VITIS AI 运行时 (VART) 允许应用程序使用统一的高级运行时 API 进行边缘和云部署,使其无缝且高效。一些关键功能包括:

异步作业提交

异步作业收集

C++Python 实现

多线程和多进程执行

Vitis AI 还提供 DSight、DExplorer、DDump 和 DLet 等,用于执行各种任务。

DSight & DExplorer

DPU IP 为特定内核提供了多种配置,以根据网络模型进行选择。DSight 告诉我们每个 DPU 核心的百分比利用率。它还提供了调度程序的效率,以便我们可以调整用户线程。还可以查看每一层和每个 DPU 节点的性能数据,例如 MOPS、运行时间和内存带宽。

Softnautics选择赛灵思 ZynqMP UltraScale+ 平台进行高性能和计算部署。它提供最佳的应用程序处理、高度可配置的 FPGA 加速功能和 VITIS SDK,以加速高性能 ML/AI 推理。我们针对的此类应用之一是用于 Covid-19 筛查的面罩检测。其目的是为戴口罩的人的 Covid-19 筛查部署多流推理,并根据各国政府对 Covid-19 预防措施指南的要求,实时识别违规行为。

pYYBAGK-k3GAIfo6AADA8d6GKDw058.png

我们准备了一个数据集并选择了预训练的权重来设计一个用于掩码检测和筛选的模型。我们通过 TensorFlow 框架训练和修剪我们的自定义模型。这是面部检测和面具检测的两阶段部署。如此获得的训练模型通过前面章节中介绍的 VITIS AI 工作流程传递。与 CPU 相比,我们观察到推理时间的 10 倍速度。Xilinx 提供了不同的调试工具和实用程序,它们在初始开发和部署期间非常有用。在我们最初的部署阶段,我们没有检测到掩码和非掩码类别。我们尝试将基于 PC 的推理输出与名为 Dexplorer 的调试实用程序之一的输出相匹配。但是,调试模式和根本原因导致问题进一步调试。在运行量化器时,我们可以使用更大的校准图像、迭代和检测来调整输出,视频输入的准确率约为 96%。我们还尝试使用 AI 分析器识别管道中的瓶颈,然后采取纠正措施以通过各种方式消除瓶颈,例如使用 HLS 加速来计算后处理中的瓶颈。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10815

    浏览量

    210927
  • Xilinx
    +关注

    关注

    71

    文章

    2159

    浏览量

    120901
  • AI
    AI
    +关注

    关注

    87

    文章

    29914

    浏览量

    268196
收藏 人收藏

    评论

    相关推荐

    自动化AI开发平台功能介绍

    自动化AI开发平台集成了多种算法、工具和框架,旨在帮助开发者更快速、高效地设计、训练、部署和管理AI模型。以下,
    的头像 发表于 11-14 09:29 68次阅读

    AI项目管理平台怎么用

    AI项目管理平台是一种集成了项目管理工具、AI开发环境和数据分析能力的综合性平台。接下来,AI
    的头像 发表于 11-13 09:38 83次阅读

    AI高性能计算平台是什么

    AI高性能计算平台不仅是AI技术发展的基石,更是推动AI应用落地、加速产业升级的重要工具。以下,是对AI
    的头像 发表于 11-11 09:56 69次阅读

    AI开发平台可以干什么

    AI开发平台是指提供一系列工具、库、框架和服务,旨在帮助开发者更快速、更高效地设计、训练、部署和管理AI模型的综合性
    的头像 发表于 11-05 09:53 86次阅读

    Arm推出GitHub平台AI工具,简化开发AI应用开发部署流程

    专为 GitHub Copilot 设计的 Arm 扩展程序,可加速从云到边缘侧基于 Arm 平台开发。 Arm 原生运行器为部署云原生、Windows on Arm 以及云到边缘侧的
    的头像 发表于 10-31 18:51 898次阅读

    NVIDIA IGX平台加速实时边缘AI应用

    实时边缘 AI 对于医疗、工业和科学计算至关重要,因为这些任务关键型应用需要即时数据处理、低延迟和高可靠性,以确保作出及时准确的决策。这些挑战不仅涉及硬件平台上的高带宽传感器处理和 AI 计算,还需要企业级
    的头像 发表于 09-09 10:14 465次阅读
    NVIDIA IGX<b class='flag-5'>平台</b><b class='flag-5'>加速</b>实时边缘<b class='flag-5'>AI</b>应用

    开发AI助手

    AI
    草帽王路飞
    发布于 :2024年07月22日 14:41:54

    开发者手机 AI - 目标识别 demo

    功能简介 该应用是Openharmony 4.0系统上开发的一个目标识别的AI应用,旨在从上到下打通Openharmony AI子系统,展示Openharmony系统的
    发表于 04-11 16:14

    Vitis2023.2使用之—— classic Vitis IDE

    Vitis 已经更新到2023.2了,新版本相较于旧版本更新了嵌入式平台,新版平台增加了Versal™ AI 引擎 DSP 设计的增强功能,全新的独立
    发表于 03-24 16:15

    优美科携手微软打造AI平台加速电动汽车电池材料研发

    优美科,一家电动汽车电池材料领域处于领先地位的公司,近日与全球科技巨头微软正式签署合作协议。双方将共同开发一个基于人工智能(AI)的电池材料研发平台,旨在通过
    的头像 发表于 02-18 17:29 682次阅读

    【国产FPGA+OMAPL138开发板体验】(原创)5.FPGA的AI加速源代码

    OMAP-L138(定点/浮点DSP C674x+ARM9)+ FPGA处理器的开发板。 编写一个用于AI加速的FPGA程序是一个相当复杂的过程,涉及硬件描述语言(如VHDL或Verilog)以及针对特定
    发表于 02-12 16:18

    【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台

    更新。 更新完系统,一切准备妥当,那就跑分好了。 使用鲁大师进行了评测,具体情况如下:综合评分:AI评分: 四、项目计划 要进行的项目,是作为一个探索型的项目,将在youyeetoo X1硬件和系统平台上
    发表于 02-01 00:20

    Vitis AI用户指南

    电子发烧友网站提供《Vitis AI用户指南.pdf》资料免费下载
    发表于 01-03 10:51 1次下载
    <b class='flag-5'>Vitis</b> <b class='flag-5'>AI</b>用户指南

    Vitis 统一软件平台文档

    AMD Vitis 软件平台是一款开发环境,主要用于开发包括 FPGA 架构、Arm 处理器子系统和 AI 引擎在内的设计。
    的头像 发表于 12-20 10:00 485次阅读
    <b class='flag-5'>Vitis</b> 统一软件<b class='flag-5'>平台</b>文档

    NVIDIA再出手!加速开发边缘AI应用,迎接生成式AI新纪元

    NVIDIA 近日宣布,对适用于边缘 AI 和机器人的 NVIDIA Jetson 平台上的两个框架进行大规模扩展。NVIDIA Isaac ROS 机器人框架已全面上市,NVIDIA Metropolis Jetson
    的头像 发表于 11-23 17:31 1030次阅读
    NVIDIA再出手!<b class='flag-5'>加速</b><b class='flag-5'>开发</b>边缘<b class='flag-5'>AI</b>应用,迎接生成式<b class='flag-5'>AI</b>新纪元