高效深度学习系统
本仓库包含由国立研究大学高等经济学院计算机科学系和Yandex数据分析学院教授的高效深度学习系统课程的材料。
此分支对应正在进行的2024年课程。如果您想查看往年的完整材料,请参阅"往期版本"部分。
课程大纲
- 第1周: 简介
- 讲座:课程概述和组织细节。GPU架构和CUDA API的核心概念。
- 研讨会:PyTorch中的CUDA操作。性能基准测试介绍。
- 第2周: 实验跟踪、模型和数据版本控制、Python深度学习代码测试
- 讲座:实验管理基础和流程版本控制。配置Python应用程序。常规和基于属性的测试简介。
- 研讨会:DVC+Weights & Biases项目演示。使用pytest进行测试简介。
- 第3周: 训练优化、深度学习代码性能分析
- 讲座:混合精度训练。数据存储和加载优化。深度学习工作负载性能分析工具。
- 研讨会:PyTorch中的自动混合精度。序列数据的动态填充和JPEG解码基准测试。使用py-spy、PyTorch Profiler、PyTorch TensorBoard Profiler、nvprof和Nsight Systems进行性能分析基础。
- 第4周: 分布式机器学习基础
- 讲座:分布式训练简介。基于进程的通信。参数服务器架构。
- 研讨会:多进程基础。并行GloVe训练。
- 第5周: 数据并行训练和全归约
- 讲座:神经网络的数据并行训练。全归约及其高效实现。
- 研讨会:PyTorch分布式简介。数据并行训练原语。
- 第6周: 大型模型训练
- 讲座:模型并行性、梯度检查点、卸载、分片。
- 研讨会:实践中的梯度检查点和张量并行性。
- 第7周: Python Web应用部署
- 讲座/研讨会:构建和部署生产就绪的Web服务。应用服务器和Web服务器、Docker、Prometheus、通过HTTP和gRPC的API。
- 第8周: LLM推理优化和软件
- 讲座:推理速度指标。KV缓存、批量推理、连续批处理。FlashAttention及其修改和PagedAttention。流行LLM服务框架概述。
- 研讨会:Triton语言基础。PyTorch和Triton中的层融合。KV缓存实现,FlashAttention实践。
- 第9周: 高效模型推理
- 讲座:深度学习的硬件利用率指标。知识蒸馏、量化、LLM.int8()、SmoothQuant、GPTQ。高效模型架构。推测性解码。
- 研讨会:实践中测量内存带宽利用率。PyTorch中的无数据量化、GPTq和SmoothQuant。
- 第10周: 特邀讲座
评分
将有几个家庭作业(分布在多个周)涉及以下主题:
- 训练流程和代码性能分析
- 分布式和内存高效训练
- 部署和优化生产模型
最终成绩是每个作业成绩的加权总和。 详情请参考您所在机构的课程页面。