Deep Learning Systems Lecture 24 Model Deployment
这里回顾dlsys第二十四讲,本讲内容是模型部署。
课程主页:
大纲
- 模型部署概述;
- 机器学习编译;
模型部署概述
到目前为止我们在这门课上学到了什么
- 如何构建深度学习系统,在标准计算环境(使用 GPU)上高效地训练深度学习模型;
- 自动微分;
- 深度模型;
- 硬件加速和扩展;
- 规范化、初始化、优化;
模型部署
将学习到的模型部署不同的应用环境:
模型部署注意事项
- 应用环境可能会带来限制(模型大小,no-python);
- 利用本地硬件加速(移动GPU、加速 CPU 指令、NPU)
与应用程序集成(数据预处理、后处理);
模型导出并部署到推理引擎
推理引擎内部
- 许多推理引擎被构造为计算图解释器;
- 为中间激活分配内存,遍历图并执行每个运算符;
- 通常只支持一组有限的运算符和编程模型(例如动态);
机器学习编译
库驱动的推理引擎部署的局限性
需要为每个硬件后端构建专门的库,大量的工程优化工作。
机器学习编译
模型的编译器表示
也称为中间表示 (IR):
编译流例子:high-level transformation
编译流例子:lowering to loop IR
编译流例子:low-level transformation
编译流例子:代码生成和执行
high-level IR和优化
- 计算图(或类图)表示;
- 每个节点都是一个张量运算符(例如卷积);
- 可以转换(例如融合)和注释(例如设备放置);
- 大多数 ML 框架都有这一层;
Low-level代码优化
Low-level循环表示的元素
转换循环:splitting
转换循环:reorder
转换循环:thread binding
通过学习成本模型搜索
小结:自动化ML编译器的元素
- 程序表示
- 如何将人们感兴趣的部分进行表示,然后加以优化;
- 通过一组变换构建搜索空间
- 涵盖常见的优化;
- 寻找领域专家提供意见的方式;
- 有效搜索
- 成本模型、可转移性;
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Doraemonzzz!
评论
ValineLivere