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

    文章

    11116

    浏览量

    218278
  • Xilinx
    +关注

    关注

    73

    文章

    2185

    浏览量

    127118
  • AI
    AI
    +关注

    关注

    88

    文章

    35758

    浏览量

    282429
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    2.0.0版本的ST Edge AI Corelinux平台上可以把量化后的onnx模型转换为.nb,但是运行报错,缺少文件,为什么?

    2.0.0版本的ST Edge AI Core工具linux平台上应该是可以把量化后的onnx模型转换为.nb,但是运行报错,缺少文件。
    发表于 06-17 06:29

    【「零基础开发AI Agent」阅读体验】+读《零基础开发AI Agent》掌握扣子平台开发智能体方法

    储备。然后介绍AI Agen的主流平台,接着说明了扣子平台开发AI Agent的流程和策略,然后对其插件、工作流、图像流、知识库等功能模块进
    发表于 05-14 19:51

    【「零基础开发AI Agent」阅读体验】+初品Agent

    及企业的价值、开发Agent所需要掌握的基础知识等。 工具篇,其涉及的内容有: Agent开发平台的演进、国内的主流开发
    发表于 04-22 11:51

    首创开源架构,天玑AI开发套件让端侧AI模型接入得心应手

    基石。 Neuron Studio打造全流程一站式开发体验,为AI应用开发按下加速AI 应用的开发
    发表于 04-13 19:52

    Banana Pi 发布 BPI-AI2N & BPI-AI2N Carrier,助力 AI 计算与嵌入式开发

    RZ/V2N——近期嵌入式世界2025上新发布,为 AI 计算、嵌入式系统及工自动化提供强大支持。这款全新的计算平台旨在满足开发者和企业用户对高性能、低功耗和灵活扩展的需求。 [](
    发表于 03-19 17:54

    AI Agent 应用与项目实战》----- 学习如何开发视频应用

    学习、自然语言处理(NLP)、计算机视觉(CV)等先进技术提供的强大的数据处理和分析能力。 视频应用开发中,AI Agent可以用于视频内容分析、推荐、编辑等。 下面跟随作者的指导,使用语聚
    发表于 03-05 19:52

    AI Agent应用与项目实战》阅读体验--跟着迪哥学Agent

    感谢电子发烧友的这次活动,让我有幸抽中了《AI Agent应用与项目实战》(以下简称《Agent》)这本书的赠送。 收到书本之后我就迫不及待地学习书本中的知识。如果说依靠各种平台上的文章了解关于AI
    发表于 03-02 12:28

    AI开发平台模型怎么用

    AI开发平台极大地简化了AI应用的开发流程,从环境搭建、模型训练到部署集成,每一步都提供了丰富的工具和资源。那么,
    的头像 发表于 02-11 09:53 ?390次阅读

    AI开发平台如何赋能开发

    当下,AI开发平台通过提供丰富的工具集、优化的开发环境以及高效的部署能力,极大地降低了AI应用的开发
    的头像 发表于 01-17 14:47 ?467次阅读

    NVIDIA发布Cosmos平台加速物理AI开发

    )和机器人等物理AI系统的快速发展。 Cosmos平台的核心在于其强大的生成式世界基础模型,能够模拟和预测复杂环境中的各种物理现象。结合高级tokenizer,Cosmos能够高效地处理和分析大量数据,为物理AI系统的决策提供有
    的头像 发表于 01-13 11:06 ?869次阅读

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

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

    AI高性能计算平台是什么

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

    AI开发平台可以干什么

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

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

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

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

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