极智AI | 谈谈昇腾auto tune

本文涉及的产品
视觉智能开放平台,图像资源包5000点
视觉智能开放平台,分割抠图1万点
视觉智能开放平台,视频资源包5000点
简介: 大家好,我是极智视界,本文介绍一下 谈谈昇腾 auto tune。

大家好,我是极智视界,本文介绍一下 谈谈昇腾 auto tune

auto tune 也即 自动调优,在 AI 芯片国产化适配的过程中,你会发现有好几家是基于 tvm 的拓展。这里昇腾也不例外,所以昇腾的 auto tune一切源于TVM。tvm 会有几个关键词:自动优化深度学习编译器适配多种硬件后端,这里昇腾的 auto tune 最关注的应该就是 自动优化。所以,可能会蹦出:为什么需要自动优化呢?总结来说主要有几下几点:

首先是 AI芯片在计算过程中需要精心的排布才能充分发挥算力 (pipeline 优化):AI 芯片通常由计算单元 (如昇腾的就有 矩阵计算单元、向量计算单元 和 标量计算单元等多个计算单元)、控制单元、存储单元 (on-chip、global memory等) 模块组成,运行在上面的算子,耗时或者吞吐量无法简单的通过计算量和算力获得,更要看各个组件之间的协同情况。即使相同的计算任务部署在相同的卡上,用不同的 pipeline 排布 效率也会差别十分的大,而看似相似的计算输入可能要求的计算 pipeline 流水线排布也是相差巨大。算子的理论最大性能是其瓶颈负载 (计算、数据传输等) 除以对应处理单元的效率。然而,在现代 AI 卡上 (比如昇腾卡),一次计算任务通常会被切分成多片进行处理,这样就会产生计算或传输冗余,所以实际负载往往要大于理论负载。咱们通常需要把冗余较小的方案或者冗余转移到非瓶颈组件上。这就是 pipeline 优化,如果都要靠人工一点点去排布,工作量巨大。

其次是算子schedule的优化:这是怎么回事呢?我们一般理解的算子实现其实只有 算子计算实现,而像 tvm 这类编译优化的框架中还有个概念是 算子调度实现 (你也可以发现,在写昇腾TBE算子 或者 是写TVM算子的时候,需要实现两个部分:compute 和 schedule)。可以说算子的计算实现优化是有限的,但是算子调度优化却是有千千万,拿 tvm 里的算子调度优化就包括:sketch generation、random annotation、突变、交叉等 (我有一篇文章专门写了 tvm 的 auto-tune,有兴趣的同学可以移步查阅 《极智AI | 谈谈 tvm ansor》)。如果这些算子调度优化,都需要人工一点点去抠,一点点去优化,一方面要求的人工经验门槛太高,另一方面人工优化难以覆盖全场景。有了 auto tune,可以说刚毕业的学生,甚至在校的同学也能够通过 简单的配置 获得不错的性能。

最后是 能够快速发挥不同硬件后端的算力:当然这并不是昇腾所需要考虑的,因为昇腾的 auto tune 只需要针对昇腾的卡 (特定的芯片、特定的架构) 进行极致的优化就可以了,而不要考虑适配其他家的芯片。但 TVM 不一样,TVM 的提出本身就是为了解决 前端训练框架太多、后端硬件太多,部署难、慢、重复造轮子 的问题,所以 auto-tune (tvm ansor) 有个很重要的使命是 能够快速发挥不同硬件后端的最大算力

经过上述讨论,应该很容易得出结论:昇腾 auto tune 模块的作用是 快速、充分、低门槛地利用 Ascend 硬件资源进行算子的自动优化。昇腾的 auto tune 模块集成在 ATC 工具中,所以是在做模型转换的时候去做 auto tune。

具体的下篇再说吧。


好了,以上分享了 谈谈昇腾 auto tune,希望我的分享能对你的学习有一点帮助。


logo_show.gif

相关文章
|
30天前
|
机器学习/深度学习 人工智能 API
【AI系统】昇腾异构计算架构 CANN
本文介绍了昇腾 AI 异构计算架构 CANN,涵盖硬件层面的达·芬奇架构和软件层面的全栈支持,旨在提供高性能神经网络计算所需的硬件基础和软件环境。通过多层级架构,CANN 实现了高效的 AI 应用开发与性能优化,支持多种主流 AI 框架,并提供丰富的开发工具和接口,助力开发者快速构建和优化神经网络模型。
41 1
|
2月前
|
存储 人工智能 编译器
【AI系统】昇腾数据布局转换
华为昇腾NPU采用独特的NC1HWC0五维数据格式,旨在优化AI处理器的矩阵乘法运算和访存效率。此格式通过将C维度分割为C1份C0,适应达芬奇架构的高效计算需求,支持FP16和INT8数据类型。此外,昇腾还引入了NZ分形格式,进一步提升数据搬运和矩阵计算效率。AI编译器通过智能布局转换,确保在不同硬件上达到最优性能。
54 3
|
2月前
|
存储 机器学习/深度学习 人工智能
【AI系统】昇腾 AI 核心单元
本文深入解析了华为昇腾AI处理器的核心——AI Core及其达芬奇架构。AI Core采用特定域架构(DSA),专为深度学习算法优化,通过矩阵、向量和标量计算单元的高效协作,实现了对深度学习算法的加速。文章详细介绍了AI Core的计算单元、存储系统及控制单元的设计,展示了其如何通过优化数据通路和控制流程,显著提升计算性能。
63 3
|
2月前
|
存储 机器学习/深度学习 人工智能
【AI系统】昇腾 AI 处理器
本文介绍华为昇腾AI处理器的架构与卷积加速原理,基于达芬奇架构设计,支持云边端一体化解决方案,具备高能效比和强大的3D Cube矩阵计算单元。文章详细解析了昇腾AI处理器的核心组件及其高效的数据处理机制,旨在通过软硬件优化实现高效的卷积计算加速。
86 2
|
2月前
|
人工智能 atlas 开发工具
【AI系统】昇腾 AI 架构介绍
昇腾计算产业基于华为昇腾系列处理器,涵盖硬件、基础软件、应用使能等,构建全栈AI计算基础设施。华为通过开放硬件、开源软件,支持多框架,推动AI技术在端、边、云的广泛应用,促进AI产业生态繁荣。
68 1
|
30天前
|
人工智能 PyTorch 算法框架/工具
【AI系统】昇腾推理引擎 MindIE
本文详细介绍华为昇腾推理引擎 MindIE,涵盖其基本介绍、关键功能特性及三大组件:MindIE-Service、MindIE-Torch 和 MindIE-RT。文章深入探讨了各组件在服务化部署、大模型推理和推理运行时方面的功能和应用场景,旨在帮助读者全面了解 MindIE 如何支持 AI 业务的高效运行和模型的快速部署。
44 0
|
4月前
|
人工智能 自然语言处理 运维
钉钉x昇腾:用AI一体机撬动企业数字资产智能化
大模型在过去两年迅速崛起,正加速应用于各行各业。尤其在办公领域,其主要模态——文字和图片,成为了数字化办公的基础内容,催生了公文写作、表格生成、文本翻译等多种应用场景,显著提升了工作效率。然而,AI引入办公场景也带来了数据安全与成本等问题。为此,钉钉与昇腾联合推出的“钉钉专属AI一体机解决方案”,通过本地化部署解决了数据安全、成本高昂及落地难等痛点,实现了从硬件到软件的深度协同优化,为企业提供了开箱即用的AI服务,推动了办公场景的智能化升级。
165 11
|
5月前
|
存储 人工智能 文字识别
AI开发初体验:昇腾加持,OrangePi AIpro 开发板
本文分享了作者使用OrangePi AIpro开发板的初体验,详细介绍了开箱、硬件连接、AI程序开发环境搭建、以及通过Jupyter Lab运行AI程序的过程,并展示了文字识别、图像分类和卡通化等AI应用实例,表达了AI时代已经到来的观点。
503 1
|
8月前
|
机器学习/深度学习 人工智能 算法
极智AI | 谈谈多通道img2col的实现
大家好,我是极智视界,本文来谈谈 多通道img2col的实现。
173 1
|
8月前
|
人工智能 JSON API
极智AI | 三谈昇腾CANN量化
大家好,我是极智视界,本文介绍一下 三谈昇腾CANN量化。
116 1

热门文章

最新文章