01 机器学习编译概述¶
参考资料
-
英文课程主页 https://mlc.ai/summer22/ 英文课程材料 https://mlc.ai/index.html
-
中文课程主页 https://mlc.ai/summer22-zh/ 中文课程材料 https://mlc.ai/zh/index.html
机器学习编译及目标¶
机器学习部署问题:开发和部署之间的GAP(硬件、操作系统、容器、库等)
机器学习编译:将模型开发形态转化为部署形态的过程
机器学习编译目标:
- 集成和最小化依赖
- 利用硬件自身特性加速
- 各种形式的优化
机器学习“编译”是相对于传统编译的一个比喻,不一定涉及代码生成
为什么学习机器学习编译¶
- 提供机器学习部署的解决方案
- 深入理解机器学习框架
- 构建针对新硬件的软件栈
- 了解机器学习模型是怎么跑起来的
关键元素:张量函数和抽象¶
- 张量和张量函数
- 抽象和实现:更细化的抽象是更高级的抽象的实现
抽象和实现可能是所有计算机系统中最重要的关键字。抽象指定“做什么”,实现提供“如何”做。没有具体的界限。
大多数机器学习编译是在做张量函数之间的变换。
课程主要包括计算图、张量程序、算子库、硬件指令四个层面的抽象。
Last update:
July 15, 2022