推广 热搜: page  音视频  使用  个数  搜索引擎  选择  企业  父亲  百度  可以 

AI编译优化--总纲

   日期:2024-12-31     作者:hubinusb    caijiyuan   评论:0    移动:http://ww.kub2b.com/mobile/news/16849.html
核心提示:本文转载于极术社区极术专栏:嵌入式AI作者:PAI团队文章来源:https://zhuanlan.zhihu.com/p/163717035随着 AI 模型结构的快速
本文转载于极术社区
极术专栏:嵌入式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教育,致力于为学校和企业培养适应时代需求的智能互联领域人才。

    本文地址:http://ww.kub2b.com/news/16849.html     企库往 http://ww.kub2b.com/ ,  查看更多

    特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。

     
     
    更多>同类最新文章
    0相关评论

    文章列表
    相关文章
    最新动态
    推荐图文
    最新文章
    点击排行
    网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号