首页 > 其他分享 >机器学习框架的基本组成

机器学习框架的基本组成

时间:2023-08-05 23:22:24浏览次数:42  
标签:机器 框架 不同 模型 IR 学习 编译器 算子 优化

  • 编程接口:一般用 Python 作为给用户的接口,主要原因就是简单易用、生态好;
  • 计算图:计算图定义了用户的机器学习程序,比如有哪些 op、有哪些输入、输入长什么样、计算序列如何等,对于不同的编译器后端,有时候需要用 IR 来做优化,在 mlsys 中计算图就相当于是 IR;
  • 编译器前端:前端的工作主要包括对程序的分析和优化。比如实现中间表示(IR)、自动微分、类型推导、静态分析等,在 mge 中 dispatcher 会对 tensor 做一些 transformation 应该就属于前端;
  • 编译器后端和运行时:完成计算图的分析和优化后,机器学习框架进一步利用编译器后端和运行时实现针对不同底层硬件的优化。常见的优化技术包括分析硬件的L2/L3缓存大小和指令流水线长度,优化算子的选择或者调度顺序;
  • 异构处理器:不同平台有不同的算子实现,甚至不同尺寸的算子也会有多个实现,这样可以充分利用异构处理器的性能。矩阵计算等操作的优化由硬件加速器完成;
  • 数据处理:pytorch 和 megengine 有 dataloader,用来拉取 dataset,还有做一些处理:拼 batch、做 transform,也就是一些数据清洗、数据增强的工作;
  • 模型部署:模型需要部署到硬件上才能 work,还有一些针对推理平台的模型算子优化;
  • 分布式训练:用分布式计算节点来加速模型训练或者训练更大的模型。常见的有:
    • 数据并行:不同节点处理不同的数据然后再 reduce;
    • 模型并行:不同节点处理相同数据但是更新模型的不同参数部分;
    • 混合并行:上面两个一起来。

参考

标签:机器,框架,不同,模型,IR,学习,编译器,算子,优化
From: https://www.cnblogs.com/linrj/p/17608841.html

相关文章

  • 2023.31 框架与架构
    框架(Framework)是指一个软件系统或应用的基本结构和组织方式。它提供了一个开发者可以构建应用程序的基础,包括预定义的组件、库、API和工具集。框架通常具有一套规范和约定,旨在帮助开发者更高效地编写代码,并提供共享的开发模式和最佳实践。框架通常具有一定的抽象程度,可以隐藏底层......
  • MyBatis 学习记录
    目录参考资料什么是MyBatis?Java如何操作数据库?JDBCApacheDbutilsSpringJDBCTemplate快速使用1.引入mybatisjar2.建表并生成实体类3.编写映射器4.编写mybatis-config.xml配置文件5.编写测试代码6.代码结构MyBatis核心API1.mybatis-config.xml1.1properties1.2......
  • 对IoC容器和Bean的学习笔记
    WhatWeMeanby"Spring"Theterm"Spring"meansdifferentthingsindifferentcontexts.ItcanbeusedtorefertotheSpringFrameworkprojectitself,whichiswhereitallstarted.Overtime,otherSpringprojectshavebeenbuilton......
  • 光敏电阻的学习
    光敏电阻的了解这个光敏电阻一般用来检测探头周围光线的强度(亮度),可以通过DO输出数字信号1和0,也可以通过AO口输出模拟信号以上为四针光敏电阻,一共有四个接口,分别是AO,DO,GND,VCCAO:模拟信号输出DO:开关信号输出GND:接电源负极VCC:接电源正极3.3-5V调节阈值:我们可以通过旋......
  • 学渣学习多旋翼无人机系列1——参考资料
    前言博主是十几年前自动化本科毕业,在工控相关行业摸爬滚打多年,如今从事嵌入式软件开发。作为一个中年还未秃头的男人,现在突然开始立志要学习无人机了???近期因为偶然的工作安排,需要详细了解一些无人机知识。当上了一些课程后,博主突然发现,这不是我们自动化专业理论嘛。博主大学没好......
  • 七月学习之Iptables基本匹配
    5、Iptables基本匹配我们前面在练习规则操作时,使用的"匹配条件"比较少,下面我们来了解下iptables匹配条件更多的用法5.1、iptables匹配参数5.2、iptables匹配示例1仅允许10.0.0.1访问10.0.0.200服务器的22端口、其他地址全部拒绝。#-I插入规则至第一行、—A追加规则、-s源地址、-d......
  • MySQL学习--索引
    索引的创建有利有弊,创建索引可以提高查询速度,但是过多的索引则会占据许多磁盘空间。因此,在创建索引之前,需要权衡利弊创建索引方式分为手动和自动索引自动索引:设置表中某个字段为主键或者唯一约束时,系统会自动创建关联该字段的唯一索引手动索引:手动在表上创建索引MySQL支持6种......
  • MySQL学习--普通索引
    在创建表时创建索引,已有表创建索引,altertable创建索引1.在创建表时创建索引createtableemp(enamevarchar(20),deptnoint(10)primarykeyauto_increment,indexindex_niu(deptno));explainselect*fromempwheredeptno=22; 2.已有表创建索引createtable......
  • MySQL学习--唯一索引
    唯一索引:就是创建索引时,限制索引的值必须唯一 1.在创建表时创建索引createtableemp(enamevarchar(20),deptnoint(10)primarykeyauto_increment,uniqueindexindex_niu(deptno));explainselect*fromempwheredeptno=22; 2.已有表创建索引createtable......
  • MySQL学习-完整性约束
    notnull约束字段不能为空default设置字段的默认值unique约束字段值唯一primarykey唯一且不为空auto_increment自动增加foreignkey多表之间 ......