[陈天奇]机器学习编译课程学习笔记
[陈天奇]机器学习编译课程学习笔记
文章目录
- [陈天奇]机器学习编译课程学习笔记
- @[TOC]
- 第一节 机器学习编译概述
- 1、为什么要学习机器学习编译?
- 2、机器学习编译的目标是什么?
- 3、MLC(Machine Learning Compilation)的关键元素
第一节 机器学习编译概述
1、为什么要学习机器学习编译?
AI出现之前的传统应用软件和硬件关系较为简单,上层各种各样的app,依赖少一些的软件库,软件库的实现基于特定的几种语言,但是对应到底层的部署硬件,大多都是x86,arm这样的通用处理器。陈天奇总结的是典型的漏斗型,这个很形象。
但是在机器学习时代,AI软件不是传统意义的app,而是机器学习模型。同时还要求我们将机器学习模型部署在cpu、gpu、npu等各种asic上、甚至是集群环境下,由于有的模型的计算量很大,需要能够在部署的硬件上高效执行。
机器学习编译问题其实本质是机器学习的部署问题。编译过程是将机器学习模型的执行和优化从开发态转变到部署态。这个过程把机器学习模型拆解开来,从计算图执行、优化到计算库,以及底层os和硬件的加速接口等元素详细的拆解开来。
2、机器学习编译的目标是什么?
1、首先是整合和最小化相关的依赖;如何理解:整合主要是类似各种框架中提供的不同算子等大量资源,在具体的应用部署时只需要其中的一小部分资源,这里机器学习编译器可以进行相关的依赖识别,进行相关的整合,来实现高效的应用模型部署。另一种整合,是用户自定义算子和厂商提供的计算库之间的整合。
2、再次就是针对gpu、tpu等不同的部署硬件,进行针对性对的加速计算。
总的目标其实就是优化部署:减少内存使用,提高执行效率
机器学习编译不一定会涉及到代码的生成
3、MLC(Machine Learning Compilation)的关键元素
- Tensor:指一个多维的array,用来存储输入、输出以及模型的中间执行结果
- Tensor Function:定义从input到output的计算,可以包含多个算子
对于同一个目标可以有不同的抽象表示,每个抽象表示的实现又可以是不一样的。
MLC的过程可以看作是对于Tensor Function在不同抽象表示下的转换过程。
[陈天奇]机器学习编译课程学习笔记相关推荐
- 台湾大学林轩田机器学习技法课程学习笔记4 -- Soft-Margin Support Vector Machine
红色石头的个人网站:redstonewill.com 上节课我们主要介绍了Kernel SVM.先将特征转换和计算内积这两个步骤合并起来,简化计算.提高计算速度,再用Dual SVM的求解方法来解决. ...
- 台湾大学林轩田机器学习技法课程学习笔记1 -- Linear Support Vector Machine
红色石头的个人网站:redstonewill.com 关于台湾大学林轩田老师的<机器学习基石>课程,我们已经总结了16节课的笔记.这里附上基石第一节课的博客地址: 台湾大学林轩田机器学习基 ...
- 台湾大学林轩田机器学习基石课程学习笔记13 -- Hazard of Overfitting
红色石头的个人网站:redstonewill.com 上节课我们主要介绍了非线性分类模型,通过非线性变换,将非线性模型映射到另一个空间,转换为线性模型,再来进行分类,分析了非线性变换可能会使计算复杂度 ...
- 台湾大学林轩田机器学习技法课程学习笔记16(完结) -- Finale
红色石头的个人网站:redstonewill.com 上节课我们主要介绍了Matrix Factorization.通过电影推荐系统的例子,介绍Matrix Factorization其实是一个提取用 ...
- 台湾大学林轩田机器学习技法课程学习笔记15 -- Matrix Factorization
红色石头的个人网站:redstonewill.com 上节课我们主要介绍了Radial Basis Function Network.它的原理就是基于距离相似性(distance-based simi ...
- 台湾大学林轩田机器学习技法课程学习笔记11 -- Gradient Boosted Decision Tree
红色石头的个人网站:redstonewill.com 上节课我们主要介绍了Random Forest算法模型.Random Forest就是通过bagging的方式将许多不同的decision tre ...
- 机器学习技法课程学习笔记16 -- Finale
上节课我们主要介绍了Matrix Factorization.通过电影推荐系统的例子,介绍Matrix Factorization其实是一个提取用户特征,关于电影的线性模型.反过来也可以看出是关于用户 ...
- 台湾大学林轩田机器学习技法课程学习笔记12 -- Neural Network
红色石头的个人网站:redstonewill.com 上节课我们主要介绍了Gradient Boosted Decision Tree.GBDT通过使用functional gradient的方法得到 ...
- 台湾大学林轩田机器学习技法课程学习笔记3 -- Kernel Support Vector Machine
红色石头的个人网站:redstonewill.com 上节课我们主要介绍了SVM的对偶形式,即dual SVM.Dual SVM也是一个二次规划问题,可以用QP来进行求解.之所以要推导SVM的对偶形式 ...
最新文章
- 半导体基础知识(4):无源,有源和机电组件
- 安装python模块时出现:error: Setup script exited with error: command 'gcc' failed with exit status 1...
- NOI Linux2.0使用系列视频集
- Bootstrap3 过渡插件
- CTS(4)---mtk cts FAIL处理方法
- c#动态编译并执行字符串
- vbreport8.wpf.viewer 个别电脑不显示_手机听歌不过瘾?一招将Win10电脑变成蓝牙音箱...
- cas登录成功返回用户更多信息
- windows与虚拟机中的Ubuntu共享文件夹
- 24小时学通LINUX内核系列
- Bailian4022 买房子【迭代】
- 手把手入门三菱PLC FX2N系列(一)安装GX works2 、 连接PLC、基本操作
- Scrapy-豆瓣电影Top250
- 狂神说SpringMVC课堂笔记
- 联想微型计算机B3O5,触摸电视功能 联想B3系列一体电脑评测
- 单片机c语言有没有跳转指令,51单片机跳转指令
- 阿里巴巴fastjson下载
- 冰冻三尺,非一日之寒。数据解析——正则解析(1)
- QT 小游戏 : 别踩白块儿~
- 网站可访问性:ARIA入门