绑定手机号
获取验证码
确认绑定
提问
0/255
提问
订阅开课提醒需关注服务号
回答成功
知道了
扫码关注智东西公开课服务号登录
请使用微信扫描二维码
扫描二维码分享给微信好友
您已订阅成功,有新课程,我们将第一时间提醒您。
知道了
发送提问成功
回答可在
“我的——我的提问”中查看
知道了
失败
欢迎来智东西
关注我们
智东西
车东西
芯东西
智东西公开课
基于征程5芯片的Transformer量化部署实践与经验
自动驾驶新青年讲座 2023/03/28 19:00:00
课程讲师
杨志刚 地平线 工具链核心开发者

杨志刚,地平线工具链核心开发者;毕业于中国科学技术大学,2017年加入地平线之后一直从事天工开物芯片工具链相关的开发和落地;作为核心成员参与地平线各代芯片上的工具链算法包和量化工具的开发工作,涉及PyTorch、MxNet、TensorFlow等多种深度学习框架。

杨志刚
地平线 工具链核心开发者

杨志刚,地平线工具链核心开发者;毕业于中国科学技术大学,2017年加入地平线之后一直从事天工开物芯片工具链相关的开发和落地;作为核心成员参与地平线各代芯片上的工具链算法包和量化工具的开发工作,涉及PyTorch、MxNet、TensorFlow等多种深度学习框架。

课程提纲
  • Transformer发展趋势及在嵌入式智能芯片上部署的问题
  • 以征程5为例的嵌入式智能芯片的算法开发流程
  • 以SwinT为例的量化精度提升和部署性能优化
  • 如何在征程5上既快又好地部署Transformer模型
课程简介

Transformer是近年来最受关注的神经网络模型,从自然语言领域开始,现在已经慢慢影响到了各个不同的领域。而Transformer在机器视觉领域最重要也是最彻底的应用就是Swin-Transformer(SwinT),这个工作也得到了机器视觉领域最高的奖项——马尔奖。

Swin Transformer是在2021年提出的,也是目前视觉Transformer模型中的典型代表,在常见视觉任务,如分类、检测、分割都有非常出色的表现。然而在相同计算量的模型指标上,SwinT虽然已经可以和传统CNN为基础的视觉模型相媲美,但是SwinT面向不同平台的硬件离线部署仍然存在很多问题。

量化上,SwinT不仅面临算子量化不支持的问题,如roll算子在旧的ONNX框架上没有支持,也面临直接量化算子会造成较大精度损失的问题。

部署上,SwinT中的Vector计算占比较大,如Elementwise、Reduce等。同时,数据不规则搬运的算子也比较多,如Reshape、Transpose等。这些都导致SwinT对大算力张量计算的平台不太友好。

地平线征程5的设计是在2019年,并于2021年发布。但是,SwinT目前已经可以在征程5上通过低于1%的量化精度损失,得到FPS为133的部署性能。这一结果与端侧最强GPU上SwinT的部署性能相当(FPS为165)。

当然,这些都得益于BPU的灵活性以及地平线工具链的持续优化。SwinT的量化训练,主要采用Calibration+QAT的方式实现,量化精度损失比较明显。地平线工具链团队是如何对SwinT进行量化精度优化的呢?部署优化的前提是不改变模型的结构和计算逻辑,不需要重训模型,模型参数也可以等价复用。基于这样的原则,他们又采用什么样的方法实现SwinT在征程5平台上的针对性部署优化?基于SwinT在征程5上实现高效部署,对于更多Transformer模型的部署,地平线工具链团队又有哪些优化建议?

为了让大家深入了解SwinT量化的精度优化及其在征程5平台上的部署优化方法,3月28日晚7点,「自动驾驶新青年讲座」第16讲邀请到地平线工具链核心开发者杨志刚主讲,主题为《基于征程5芯片的Transformer量化部署实践与经验》。

杨志刚首先会介绍Transformer的发展趋势及在嵌入式智能芯片上部署的问题,之后会以征程5为例,讲解嵌入式智能芯片的算法开发流程。接下来,他会深入讲解SwinT的量化精度提升和部署性能优化方法。最后,他会分享如何在征程5上既快又好地部署Transformer模型。

精彩问答
提问
提问
目前还没有问题,可以点击右侧的“提问按钮”提问
更多问题...