当前位置: 首页 > news >正文

机器学习编译系列

机器学习编译MLC

  • 1. 引言
  • 2. 机器学习编译--概述
    • 2.1 什么是机器学习编译

1. 引言

  陈天奇目前任教于CMU,研究方向为机器学习系统。他是TVM、MXNET、XGBoost的主要作者。2022年夏天,陈天奇在B站开设了《机器学习编译》的课程。
  《机器学习编译》课程共分为7个章节:概述、张量程序抽象、端到端模型执行、自动程序优化、与机器学习框架的整合、GPU硬件加速、计算图优化。
  机器学习系列文章是对该课程学习的总结,本篇文章对应于《机器学习编译》课程的第一章节:概述。

2. 机器学习编译–概述

2.1 什么是机器学习编译

  机器学习编译的英文名称为machine learning compilation,该课题是随着机器学习近十年的流行而出现的一个新事物。对于“编译”可以理解为“转换”,即在某些情形下,需要通过“编译”操作,将一个事物从形式A转换为形式B。
  在“转换”这一宏观概念层面,机器学习编译和传统软件领域的编译可以理解为一体;但是具体的实现细节和技术,两者有着极大的差异,是两个完全不同的事物。
  作者虽然将名字命名为机器学习编译,但隐含地,特指机器学习中的深度学习这一紫领域。
  对于机器学习领域,编译前的形式A指的是开发形式(Development Form),编译后的形式B指的是部署形式(Deployment Form)。
在这里插入图片描述
  具体地,目前最流行的开发模式是基于Python语言利用Pytorch深度学习框架进行模型的训练,生成的模型以.pth作为后缀。开发形式通用、灵活。获得.pth模型后,通过export操作获得pt和onnx模型等,对应上图中的weights,完整的部署形式还包含底层依赖库(libraries)、调用逻辑(Description for execution engine)和接口(API Interface)。
  作者设想了机器学习编译的三个目标:
(1)通用优化: 从pth“编译”至pt/onnx时,通过一些等价操作来最小化内存或者提高运行效率。例如,在上一家公司,还是caffe时代,部署模型的时候常见的一个操作是做bn和conv层的merge
(2)集成和最小化依赖:最常见的部署设备一般为手机、(监控)摄像头等。此类设备上,资源有限,因此运行模型的依赖库需要最小化。
(3)利用硬件加速:硬件公司一般都会为其配套原生的加速库。基于此背景,execution engine部分也有很大的发挥空间。
  明白了这三个目标也就明白了机器学习编译工程师的工作职责和职责。并且也理清了算法工程师、机器学习编译工程师和AI芯片工程师之间的关系。

http://www.lryc.cn/news/127170.html

相关文章:

  • MySQL 数据库巡检系统的设计与应用
  • 工程项目管理系统源码+功能清单+项目模块+spring cloud +spring boot em
  • 前端笔试+面试分享
  • C Language Handout
  • 数据结构——栈(C语言)
  • Linux 内核内存管理 page_address 函数
  • macOS使用ffmpeg与QT进行音视频推拉流
  • ARTS打卡:双指针的尝试
  • JavaWeb-DAO设计模式
  • 重温git和GitHub
  • C# WPF 中 外部图标引入iconfont,无法正常显示问题 【小白记录】
  • Hi-TRS:骨架点视频序列的层级式建模及层级式自监督学习
  • FPGA 之 xilinx DDS IP相位控制字及频率控制字浅析
  • [鹏城杯 2022]简单包含
  • Required request parameter ‘XXX‘ for method parameter type XXX is not present问题
  • centOS 快速安装和配置 NVIDIA docker Container Toolkit
  • 编程练习(2)
  • 利用Figlet工具创建酷炫Linux Centos8服务器-登录欢迎界面-SHELL自动化编译安装代码
  • Git Cherry-pick使用
  • 红帽8.5 ansible 安装和部署 |(简单版)
  • Visual Studio 2019 c++ 自定义注释 ----doxygen
  • 面试题. 零矩阵
  • 易语言下载器
  • 原生js获取今天、昨天、近7天的时间(年月日时分秒)
  • 最强自动化测试框架Playwright(29)-文件选择对象
  • 【烂尾】K8S部署
  • 电机故障诊断(python程序,模型为MSCNN结合LSTM结合注意力机制模型,有注释)
  • 二叉树(ACM版)
  • Scratch 之 如何制作鼠标框(2)—— 鼠标框框定角色
  • 爬虫逆向实战(九)--猿人学第十三题