基于TVM的深度学习编译研究
Hide
报告摘要:
在各种设备上部署深度学习模型已经成为一个重要的话题。机器学习编译是一个新兴领域,它利用编译器和自动搜索技术来加速AI模型。机器学习编译带来了一系列独特的挑战:新兴的机器学习模型;增加的硬件特化带来了多样化的加速原语;灵活性和性能之间的紧张关系不断增长。
解决这些挑战需要在系统的不同层次上需要多层抽象和相应的优化。在这次演讲中,我将谈论我们设计抽象的经验。然后,我将讨论由多个抽象本身带来的新挑战,以及我们最近通过统一表示来应对这些挑战的努力。
报告人简介:
冯思远是上海交通大学博士生,本科毕业自上海交通大学 ACM班。目前是Apache TVM的PMC,并与社区其他多位PMC和committer一并推动TVM的生态和演进开发,包括但不限于:TensorIR、Meta-Schedule、TVMScript和TVM Unity
MLC.AI 社区成立于 2022 年 6 月,并由 Apache TVM 主要发明者、机器学习领域著名的青年学者陈天奇,带领团队上线了 MLC 线上课程,系统介绍了机器学习编译的关键元素以及核心概念。
TVM是一个端到端的机器学习编译框架,它的目标是优化机器学习模型让其高效运行在不同的硬件平台上。
前端支持:TensorFlow, Pytorch, MXNet, ONNX等几乎所有的主流框架。
后端支持:CUDA,ROCm,Vulkan,Metal,OpenCL,LLVM,C,WASM及不同的设备平台(GPU,CPU,FPGA及各种自定义NPU)。
当然深度学习编译加速生态已经从萌芽阶段到开始繁荣生长的阶段。但是抛开具体实现而言,现在深度学习编译生态围绕着四类抽象展开:
计算图表示(computational graph):计算图可以把深度学习程序表示成DAG,然后进行类似于算子融合,改写,并行等高级优化。Relay, XLA, Torch-MLIR,ONXX 等基本都在这一级别。
张量程序表示(tensor program): 在这个级别我们需要对子图进行循环优化,对于DSA支持还要包含张量化和内存搬移的优化。
算子库和运行环境(library and runtime): 算子库本身依然是我们快速引入专家输入优化性能的方式。同时运行环境快速支持数据结构运行库。
硬件专用指令 (hardware primitive) :专用硬件和可编程深度学习加速器也引入了我们专用硬件张量指令的需求。
报名如有问题,可咨询18810632700
冯思远
博士