MLSys Learning PLAN
MLSys 学习大纲
-
分布式训练
- 动机、整体集群架构、经典并行训练方法
-
编程模型
-
计算图
-
模型部署
- 推理优化
- 模型压缩蒸馏
-
机器学习
- 机器学习经典模型
- 深度学习模型的常见应用与原理
- LLM:NLP、BERT、Transformer
参考
- 《OPEN MLSYS 机器学习系统:设计和实现》
- 统计学习方法
- limu 动手学习深度学 习
- Standford cs231n
- 大模型LLM领域,有哪些可以作为学术研究方向? - zibuyu9的回答 - 知乎 https://www.zhihu.com/question/595298808/answer/3047369015
- 大语言模型推理性能优化综述 - Young的文章 - 知乎 https://zhuanlan.zhihu.com/p/656485997
- LLM大模型推理部署优化技术综述 - 上天界医神的文章 - 知乎 https://zhuanlan.zhihu.com/p/655557420
Week1
大概了解了机器学习系统的一些研究方向,和大模型分布式训练系统
-
主要参考 《OPEN MLSYS 机器学习系统:设计和实现》
- 分布式训练
- 概览
- 常见分布式并行训练方法
- DP、MP、HP、PP
- 分布式训练机器学习集群架构
- 集合通信 Collective Communication
- 参数服务器 Parameters Server
- 分布式训练常见库
- 分布式训练
-
李沐LLM创业一年文章与上交大演讲。
-
目前训练 LLM 千卡系统中会常常遇到网络故障、机器故障
-
GPU 供电不足导致不稳定;租了千张 H100,一样是各种 bug,GPU 每天都出问题。
Llama 3 的技术报告说他们改用 H100 后,训练一次模型被打断几百次。
-
网络问题
- 带宽限制
- 当前网络带宽是一根光纤承载 400Gigabits,下一代就是 double,变成 800Gigabits。
- 一台机器传输到隔壁一米之外的机器所带来的几纳秒延迟就很高了。设计机房会考虑光纤长度,因为一米的差距就会给分布式训练带来一个可见的性能影响。
- 网络故障:由于光纤的切开角度不对,导致通信不稳定。
- 网络布局: Nvidia 的推荐网络布局不是最有效的。
- 带宽限制
-
-
算力这块,可以用别的芯片做推理;做训练的话目前还是 Nvidia 垄断,也许还要等几年才能够用其他的芯片。
-
Week 2 (ongoing)
了解机器学习框架的编程模型、计算图原理。复习机器学习相关知识
- 编程模型
- 计算图
- 机器学习
- 机器学习经典模型
- 深度学习模型的常见应用与原理
- LLM:NLP、BERT、Transformer
Week 3
================
机器学习算法
机器学习
- 机器学习算法
- 概论
- 有监督学习和无监督学习
- 模型评估与模型选择
- 训练测试误差
- 过拟合与模型选择
- 正则化与交叉验证
- 标注问题
- 泛化能力
- 分类
- 聚类
- K-means
- Hierarchical Clustering and Transformations
- Density-Based Clustering
- Cluster Quality
- 关联规则 Association Rule
- 回归
- 经典模型
- 线性回归,逻辑回归
- 感知机
- KNN
- 朴素贝叶斯
- 决策树
- 支持向量机 SVM
- 提升方法 AdaBoost 算法
- 隐马尔可夫模型
- 概论
- 深度学习
- 大分类
- 计算机视觉
- 人脸识别
- 体态识别
- 无人驾驶
- 图片合成
- 超分辨率
- 医学图片
- 自然语言处理
- 文本分类
- 文本合成
- 文本摘要
- 实体命名识别
- 图神经网络
- 时序数据
- 强化学习
- 音频
- 推荐系统
- 多模态
- LLM
- AIGC
- 代码生成
- 计算机视觉
- 特征工程
- 多层感知机 MLP
- 卷积神经网络 CNN
- 现代卷积神经网络 AlexNet GoogleLeNet etc
- 循环神经网络 RNN 序列模型、语言模型
- 现代循环神经网络
- 门控循环单元 GRU
- 长短期记忆网络 LSTM
- 深度循环神经网络
- 双向循环神经网络
- 编码器与解码器
- 序列到序列学习
- 注意力
- 注意力机制 Attention
- 使用注意力机制的Seq2Seq
- 自注意力和位置编码
- BERT
- 大分类
Other Links
-
人工智能系统 by 微软
-
CMU DL System 陈天奇老师的课。涉及nn库实现、自动微分、GPU加速、模型部署和部分AI编译内容。分布式训练涉及的不够,基础的MLsys还是非常全面的。
- Data Parallel 数据并行
- Distributed Data Parallel 分布式数据并行
- Tensor Parallel 张量并行
- Pipeline Parallel 流水线并行
- Auto Parallel 自动并行
- Sequence Parallel 序列并行
- Asynchronous Distributed Dataflow 异步数据流
- Distributed Scheduling 分布式调度
-
TinyML 6.5940 Chapter III: Efficient Training
-
从啥也不会到DeepSpeed————一篇大模型分布式训练的学习过程总结 - elihe的文章 - 知乎 https://zhuanlan.zhihu.com/p/688873027
-
Colossalai 流水线并行框架开发
-
对这些有基本的了解
- CUDA 算子
- PyTorch 原理
- GPGPU 体系结构
- 模型压缩、加速
-
基本机器学习要懂,然后去看高性能计算相关的教材,然后学习基本的DP,PP,MP的原理等。
-
AGX Orin 嵌入式开发板上部署 Qwen2.0 大模型
-
实际上下面的这些在 OPEN MLSYS 里都有
-
深度学习框架最重要的是什么?自动求导系统,因为目前的损失函数的优化方法全都基于一阶梯度信息进行梯度下降
-
如何实现梯度的计算?计算图,ptorch 的 tensor 和 numpy 最大的区别在于当你使用 tensor 进行加减乘除运算时,torch 后台会自动帮你构建出计算图。