DietCode:TVM中新的动态Shape解决方案

DietCode是一种针对动态shape模型优化的解决方案,旨在解决TVM中动态shape自动调度的问题。通过构建micro-kernels通用搜索空间、代价模型和决策树,DietCode减少了搜索时间和提升了性能,例如在BERT模型上,性能提高了70%,搜索时间减少5.88倍。DietCode目前在TVM中仅实现了LocalPadding,未来有望整合更多特性。
摘要由CSDN通过智能技术生成

‍近年来,随着深度学习领域动态 shape 推理场景激增,如机器翻译、语音识别等,针对动态 shape 模型的优化成为了热门研究议题。本文主要介绍了 DietCode 的整体架构设计,尝试了解 DietCode 如何针对动态 shape 进行调优。以 BERT 模型为例,DietCode 与 Ansor 相比, 搜索时间减少 5.88倍,性能提高约 70%。DietCode项目已经开始合入TVM中,但目前来看,只是在 tir 优化 Pass 中增加了 LocalPad,其他 feature 还未合入。

1 背景

在机器学习领域,提高计算密集型算子的性能是一项极具挑战的工作,目前业界主要有两种解决方案:使用供应商的算子库或使用 auto-scheduler 来完成算子调优。然而,前者需要大量的工程工作,算子开发周期长,限制多且专业性强;后者在 TVM 中只支持输入为静态形状的工作负载,以便模型编译时获得形状大小,如果输入为动态形状,将会导致极长的调优时间,这是因为整个搜索空间与形状强相关,auto-scheduler 不能为所有可能形状的工作负载构造一个确定的搜索空间。为了解决以上问题,DietCode 应运而生。

目前,TVM中 auto-scheduler(如:Ansor)的整体流程,如图1(a)所示,详细信息请参考Ansor: 为深度学习生成高性能张量程序。它的的输入为 TE&#x

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Linux基金会AI&Data基金会

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值