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

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

3天内不再提示

Vitis AI优化器用户指南

Xilinx赛灵思官微 来源:Xilinx赛灵思官微 2023-03-29 09:29 次阅读

Vitis AIAMD 开发套件,用于在 AMD 硬件平台上进行 AI 推断。机器学习中的推断是计算密集型流程,需要大量存储器带宽以满足各种应用的低时延和高吞吐量要求。

Vitis AI Optimizer(优化器)支持对神经网络模型进行最优化。当前,Vitis AI 优化器仅包含一项工具,称为“pruner”(剪枝器)。Vitis AI 优化器用于移除神经网络中的冗余内核,从而减少推断的总体计算成本。由 Vitis AI 剪枝器所生成的剪枝后的模型随后由 Vitis AI 量化器进行量化,然后部署到 AMD FPGA、SoC 或 ACAP 器件。

c8fd2186-cdc5-11ed-bfe3-dac502259ad0.png

VAI优化器

本文档涵盖了以下设计进程:机器学习和数据研究——将机器学习模型从 PyTorch、TensorFlow 或其它热门框架导入 Vitis AI,然后对其有效性进行最优化和评估。本文档中适用于此设计进程的主题包括:

•第 2 章:剪枝

•第 3 章:处理 Vitis AI 优化器

由于版面有限,本文选取了剪枝章节中的部分内容进行分享。如果您希望获取完整版用户指南,请至文末扫描二维码下载完整版进行浏览。

剪枝

神经网络通常过度参数化,具有大量冗余。剪枝是消除冗余权重同时尽可能使准确度损失保持处于低位的进程。

c906333e-cdc5-11ed-bfe3-dac502259ad0.png

低精度剪枝和高精度剪枝

行业研究带来了多项有助于降低神经网络推断成本的技术。这些技术包括:

点击查看详细内容

c910fecc-cdc5-11ed-bfe3-dac502259ad0.png

c919ee74-cdc5-11ed-bfe3-dac502259ad0.png

c9289032-cdc5-11ed-bfe3-dac502259ad0.png

迭代剪枝与单步剪枝的对比

下表中显示了这两种方法的对比。

c952b11e-cdc5-11ed-bfe3-dac502259ad0.png

迭代剪枝

剪枝器旨在减少模型参数数量,同时尽可能降低准确度损失。这是通过迭代方式来完成的,如下图所示。剪枝导致准确度降低,重新训练可恢复准确度。剪枝随后重新训练即构成一次迭代。在剪枝的首次迭代中,输入模型是基线模型,并且已经过剪枝和精调。在后续迭代中,从先前迭代所获取的精调后的模型会变为新的基线。此进程通常会重复数次,直至获取期望的稀疏模型。迭代方法是必需的,因为在单次传递中无法在维持准确度的同时进行模型剪枝。如果一次迭代移除的参数过多,那么准确度损失可能过于剧烈,可能无法恢复。

利用迭代剪枝的进程,可以达到更高的剪枝率,同时模型性能不会出现显著损失。

c9675948-cdc5-11ed-bfe3-dac502259ad0.png

迭代剪枝

以下描述了迭代剪枝的 4 个主要阶段:

分析:对模型执行敏感度分析,判定最优剪枝策略。

剪枝:减少输入模型中的计算次数。

精调:重新训练已剪枝的模型以恢复准确度。

变换:生成含更低权重的密集模型。

c9730644-cdc5-11ed-bfe3-dac502259ad0.png

迭代剪枝工作流程

步骤1

分析原始基线模型。

步骤2

对模型进行剪枝。

步骤3

对剪枝后的模型进行精调。

步骤4

多次重复步骤 2 和 3,直至在准确度与稀疏度之间达成期望的平衡。

步骤5

将剪枝后的稀疏模型变换为最终密集加密的模型,以供在 Vitis AI 量化器中使用。

单步剪枝

单步剪枝会实现EagleEye1算法。它仅通过采用了一个简单而又高效的评估组件,就得以在不同的已剪枝模型及其对应精调准确度之间引入强大的正关联,这个组件名为自适应批量归一化。它使您无需实际进行模型精调,即可获取可能达成的准确度最高的子网络。简而言之,单步剪枝方法会搜索一群满足所需模型大小的子网络(即,生成的剪枝后模型),并选择其中最有潜力的子网络。随后,通过对所选子网络进行重新训练来恢复准确度。

剪枝步骤如下所示:
1 搜索满足所需剪枝率的子网络。
2 从一群具有评估组件的子网络中选择潜在网络。
3 对剪枝后的模型进行精调。

c98836cc-cdc5-11ed-bfe3-dac502259ad0.png

单步剪枝工作流程

注释:

1.Bailin Li et al., EagleEye: Fast Sub-net Evaluation for Efficient Neural Network Pruning, arXiv:2007.02491

剪枝方法的选择指南

Vitis AI 优化器中为 PyTorch 提供了 3 种剪枝方法。请参阅以下决策树以选择适合您的网络的方法。

c9933658-cdc5-11ed-bfe3-dac502259ad0.png

在PyTorch中选择剪枝方法的流程图

审核编辑 :李倩

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

    关注

    42

    文章

    4762

    浏览量

    100526
  • 模型
    +关注

    关注

    1

    文章

    3160

    浏览量

    48706

原文标题:Vitis AI 优化器用户指南

文章出处:【微信号:赛灵思,微信公众号:Xilinx赛灵思官微】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    TPS36Q1EVM电压监控器用户指南

    电子发烧友网站提供《TPS36Q1EVM电压监控器用户指南.pdf》资料免费下载
    发表于 11-18 15:36 0次下载
    TPS36Q1EVM电压监控<b class='flag-5'>器用户</b><b class='flag-5'>指南</b>

    德州仪器(TI)磁感应仿真器用户指南

    电子发烧友网站提供《德州仪器(TI)磁感应仿真器用户指南.pdf》资料免费下载
    发表于 11-14 15:10 0次下载
    德州仪器(TI)磁感应仿真<b class='flag-5'>器用户</b><b class='flag-5'>指南</b>

    MCF8315A优化指南

    电子发烧友网站提供《MCF8315A优化指南.pdf》资料免费下载
    发表于 11-13 15:33 1次下载
    MCF8315A<b class='flag-5'>优化</b><b class='flag-5'>指南</b>

    DS90UB954-Q1EVM解串器用户指南

    电子发烧友网站提供《DS90UB954-Q1EVM解串器用户指南.pdf》资料免费下载
    发表于 11-13 15:20 0次下载
    DS90UB954-Q1EVM解串<b class='flag-5'>器用户</b><b class='flag-5'>指南</b>

    C7000 C/C++优化指南用户手册

    电子发烧友网站提供《C7000 C/C++优化指南用户手册.pdf》资料免费下载
    发表于 11-09 15:00 0次下载
    C7000 C/C++<b class='flag-5'>优化</b><b class='flag-5'>指南</b><b class='flag-5'>用户</b>手册

    TPS3704Q1EVM电压监控器用户指南

    电子发烧友网站提供《TPS3704Q1EVM电压监控器用户指南.pdf》资料免费下载
    发表于 11-07 09:18 0次下载
    TPS3704Q1EVM电压监控<b class='flag-5'>器用户</b><b class='flag-5'>指南</b>

    Vitis2023.2使用之—— updata to Vitis Unified IDE

    上一章聊了一下vitis2023.2怎样使用classic Vitis IDE,这章我们来说一说基于classic Vitis IDE的工程怎么样更新到新版本的Vitis Unifie
    发表于 03-24 17:14

    Vitis2023.2使用之—— classic Vitis IDE

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

    Agilent InfiniiVision 3000 X 系列示波器用户指南

    电子发烧友网站提供《Agilent InfiniiVision 3000 X 系列示波器用户指南.pdf》资料免费下载
    发表于 01-22 09:37 3次下载

    MPLAB® PICkit™ 4 在线调试器用户指南

    电子发烧友网站提供《MPLAB® PICkit™ 4 在线调试器用户指南.pdf》资料免费下载
    发表于 01-07 10:57 6次下载

    GD-Link V2适配器用户指南

    电子发烧友网站提供《GD-Link V2适配器用户指南.pdf》资料免费下载
    发表于 01-03 17:30 1次下载
    GD-Link V2适配<b class='flag-5'>器用户</b><b class='flag-5'>指南</b>

    Vitis AI用户指南

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

    AMD Vitis™ Libraries Vision L3 Isppipeline U50流程示例

    Vitis Vision 库是一组 90 多个内核,基于 OpenCV 计算机视觉库,针对 AMD FPGA、AMD AI Engine™ 和 AMD SoC 进行了优化
    的头像 发表于 01-03 10:10 872次阅读
    AMD <b class='flag-5'>Vitis</b>™ Libraries Vision L3 Isppipeline U50流程示例

    Vitis 统一软件平台文档

    设计开发提供更高层次的抽象。 本用户指南涵盖了 Vitis 入门、使用 Vitis Unified IDE、Bootgen 工具、Vitis
    的头像 发表于 12-20 10:00 494次阅读
    <b class='flag-5'>Vitis</b> 统一软件平台文档

    GD-Link V2适配器用户指南

    电子发烧友网站提供《GD-Link V2适配器用户指南.pdf》资料免费下载
    发表于 12-14 10:27 2次下载
    GD-Link V2适配<b class='flag-5'>器用户</b><b class='flag-5'>指南</b>