定制加工
AI编译优化--总纲
2024-12-31 13:19
本文转载于极术社区
极术专栏:嵌入式AI
作者:PAI团队
文章来源:https://zhuanlan.zhihu.com/p/163717035
随着 AI 模型结构的快速演化,底层计算硬件的层出不穷,用户使用习惯的推陈出新,单纯基于手工优化来解决 AI 模型的性能和效率问题越来越容易出现瓶颈。为了应对这些问题,AI 编译优化技术已经成为一个获得广泛关注的技术方向。这两年来,这个领域也异常地活跃,包括老牌一些的 TensorFlow XLA、TVM、Tensor Comprehension、Glow,以及最近呼声很高的 MLIR,能够看到不同的公司、社区在这个领域进行着大量的探索和推进。
在过去几年时间里,PAI 团队在 AI 编译优化技术方向投入了比较专注的资源精力,对这个领域也建立起了一定的理解,撰写这个系列文章,旨在达到如下目的:
  • 对 PAI 团队在 AI 编译优化技术方向上的技术投入和取得的结果做一个系统性的总结;
  • 阐述我们对 AI 编译优化整体技术脉络的理解,期望能够对关心 AI 编译优化技术建设的同行有所启发;
  • 对我们关于阿里 AI 编译优化的技术路径提出一些思考,期望能够抛砖引玉,吸引更多对我们工作感兴趣的同行联系加入我们,一起打造具备阿里特色的 AI 编译优化技术体系。

本系列文章会由以下内容构成:

  • 总体介绍及行业现状分析

  • 访存密集算子优化

  • 计算密集算子优化

  • 工程篇:编译解耦及全量打开

  • Dynamic shape compiler

  • 离线编译系统

  • 业务实践

  • 总结展望

本篇会先做一下整体介绍以及行业现状的分析。

涉及到性能优化,我们有必要先对一个 AI 作业执行过程中的性能开销的分布有一个感性的认识,所谓 what you can't measure, you can't optimize it. 在这篇 paper 里,我们针对 PAI 平台训练 workload 的性能开销占比有过一个比较细致的分析。考虑到目前我们在 AI 编译优化里还主要关注单计算设备的计算效率问题,所以我们可以宏观上将单设备上的性能开销拆解为计算密集算子(比如 GEMM 和 Convolution)和访存密集算子(比如 Elementwise Add,BN 等操作)两部分,关于计算图过于灵活带来的框架开销,我们也统一归类到访存密集算子开销占比中。

针对不同的性能热点,所需要的优化手段也存在区别。
本章我们首先选取当前两个主流编译框架 XLA(针对访存密集算子)和 TVM(针对计算密集算子),以及新近非常活跃的 MLIR 框架为代表(MLIR 严格来说不是一个 compiler,而是 compiler infrastructure,后面会再进行展开介绍),来对业界目前的技术情况做一个概述。
  • Optimizations and transformations typically done on a such graph (e.g. in Grappler) ( _ 统一优化框架的野心 _ ).

  • Representation of kernels for ML operations in a form suitable for optimization( _ 和下面一条一起,期望将计算密集算子和访存密集算子集中在一套框架里统一打击的野心 _ ).

  • Ability to host high-performance-computing-style loop optimizations across kernels (fusion, loop interchange, tiling, etc) and to transform memory layouts of data.

  • Code generation “lowering” transformations such as DMA insertion, explicit cache management, memory tiling, and vectorization for 1D and 2D register architectures( _ 对硬件 memory/cache/register 的分层描述能力 _ ).

  • Ability to represent target-specific operations, e.g. accelerator-specific high-level operations.(灵活的对 AI-domain ASIC 的描述能力)

  • Quantization and other graph transformations done on a Deep-Learning graph( _ 这一点也很诱人,关于模型层面的优化,如果能够基于 MLIR 的中间表示层进行统一打击,无疑对于提升行业生产效率是有重要价值的 _ ).

  • 而达到上面的 vision 及野心的关键点是 MLIR 的几条核心设计理念:
    • A collection of modular and reusable software components that enables the progressive lowering of operations, to efficiently target hardware in a common way
    关于module and reusable,MLIR 整体遵循了 open for extension 的设计原则,更具体一些,通过创造性地引入了 Dialect 的设计概念从而使得不同的应用场景可以根据自己的需要对 MLIR 的表示能力(包括不同抽象层次的算子描述、数据类型以及在相应 Dialect 层级上施加不同图变换的能力)进行非侵入性的扩充。同时在 MLIR 的设计体系里,非常强调 round-trippable 的转换语义的保证,再配合上 Dialect 的扩充能力,就很好地满足了progressive lowering of operations的要求。同时 MLIR 团队表达出很强的野心对于底层算子 codegen 提供基于 Polyhedral 技术的优化能力,以达到其target hardware in a common way的目标。
    之所以强调 MLIR 作为 compiler infrastructre 的意义,是因为基于 MLIR,可以比较方便灵活地将不同的已经存在优化手段以 Dialect 的方式进行接入(比如 XLA、TVM,甚至 TensorRT、nGraph 这样的厂商优化工具),与 MLIR 提供的基础的优化工具进行拼装,形成组合优化的效果。这个价值在我看来,是深远的,因为对于快速迭代的工业界,往往需要的不仅仅是一个好的基础框架,而更需要一个能够将新技术与已存在技术进行无缝集成融合的框架,而 MLIR 的设计理念就很好地满足了这一点要求。
    然而 MLIR 的设计理念虽然美好,但是其当前仍然处于一个快速演化的阶段,举一个具体的例子。MLIR 刚推出时很吸引人的是其 claim 的 high performance codegen 的能力, 然而即便到现在为止,MLIR 的 code base 里关于计算密集算子的底层 codegen 也只是在个别尺寸上取得了还不错的性能,相较于 TVM 的计算密集算子 codegen 的支持也还有相当大的距离。而通过 MLIR 与不同 existing 优化手段的桥接,理念上没有问题,并且 MLIR 社区也已经在推进一些工作(与 TensorFlow graph、XLA 以及 TF Lite 的集成),但是大体都还处于 experimental 的阶段,比如和 XLA 的接入,乍一看 code base 里似乎通路是有了,但其实真正想走通 MLIR 的完整端到端通路目前还仍存在问题,参见这里的一个讨论。以及 MLIR 对于 dynamic shape 的支持,目前还仍然处于一个理念完整,细节显著缺失的状态,参见这里和这里的细节讨论,针对 dynamic shape,我们也已经向社区 propose 了一个相对完整的 E2E 的 solution RFC,并在推进实质的工作,预计在不远的将来,我们可以向大家分享更多细节。
    总的来说,对于 MLIR,我们的长期态度是乐观的,但具体采纳的节奏是谨慎的。我们也会借助于 MLIR 的胶水能力来将我们同时在推进的不同方向的优化工作进行整合。MLIR 本身模块化的设计思想使得我们在采纳的时候,能够根据自身需要以及对其具体模块稳定性的判断进行灵活的装配,这也是我们对其设计理念比较认可的地方。

    关于安芯教育


    安芯教育是聚焦AIoT(人工智能+物联网)的创新教育平台,提供从中小学到高等院校的贯通式AIoT教育解决方案。

    安芯教育依托Arm技术,开发了ASC(Arm智能互联)课程及人才培养体系。已广泛应用于高等院校产学研合作及中小学STEM教育,致力于为学校和企业培养适应时代需求的智能互联领域人才。

        以上就是本篇文章【AI编译优化--总纲】的全部内容了,欢迎阅览 ! 文章地址:http://ww.kub2b.com/news/16849.html
         栏目首页      相关文章      动态      同类文章      热门文章      网站地图      返回首页 企库往资讯移动站 http://ww.kub2b.com/mobile/ , 查看更多   
    最新文章
    光威复材2024年下降逾15%,连续两年发生下滑
    3月31日晚,(300699.SZ)发布2024年财报,实现营收24.5亿元,同比下降2.69%;归母净利润7.41亿元,同比下降15.12%;扣非净利润6.6
    看完超人气游戏改编的《我的世界大电影》,我整个人都方了
    观影《我的世界大电影》,感觉自己真的方了。毕竟,已经领略过风靡全球的沙盒游戏《我的世界》中那方块的世界,还有游戏带给人的
    手机大脑手机阅读「手机大脑」
    为什么只要醒着我们就离不开手机,为什么疫情中的我们更容易自投罗网?为什么比尔·盖茨不让小孩用手机,乔布斯不让孩子碰iPad?
    远洋集团(03377):拟3.22亿元出售北京盛永置业投资23%股权
    智通财经APP讯,远洋集团(03377)发布公告,于2025年4月11日,卖方(公司全资附属公司北京银港房地产开发有限公司)拟向买方(日照钢
    600375,停牌,退市风险解除!
    *ST汉马(600375)即将去星摘帽。4月16日晚间,该公司公告,公司股票将于2025年4月17日(星期四)开市起停牌一天,并于2025年4月
    300万像素手写滑盖三星G618行货大跌530三星滑盖手机「300万像素手写滑盖三星G618行货大跌530」
      【7月15日太平洋电脑网上海站】今天,三星奥运手机G618行货从2288元跌至新低1758元。530元的降幅对于这款三星众多奥运手机中
    最新手机续航TOP10排行榜:小米14垫底,Mate60和iPhone15落榜,第一名让人很意外手机续航排行「最新手机续航TOP10排行榜:小米14垫底,Mate60和iPhone15落榜,第一名让人
    随着科技的进步,手机已经成为了我们生活中不可或缺的一部分。而手机续航能力也成为用户选择新机的重要考量因素之一。特别是对于
    “好房子”新规激发楼市活力 北京3月新旧房成交量齐增
    每经记者:陈梦妤    每经编辑:魏文艺“今年第一季度,我们所有项目均超额完成销售任务,完成率均达100%以上。这一成绩主要
    智能手机:重塑现代人生活方式的双刃剑现代手机「智能手机:重塑现代人生活方式的双刃剑」
    随着科技的飞速发展,智能手机已经成为现代人生活中不可或缺的一部分。它为我们带来了便捷的信息获取、高效的社交方式以及
    10块钱的VR跟7000元的到底有啥区别?部手机「10块钱的VR跟7000元的到底有啥区别?」
    步入VR元年,VR的关注度甚至乎呈直线上升,但是还有很多VR小白根本不知道VR为何物。VR频道特设《小白玩VR》系列文章,没看过的,