cs-self-learning/docs/机器学习系统/CSE234.md
Junda Chen 9519b3a667
[COURSE] Add UCSD CSE234 Data Systems for Machine Learning (#713)
* Add CSE234 UCSD

* update contents to contain more details

* update extended materials

* Update mkdocs.yml

* change a bit

* make it better

* update

* update
2026-02-02 12:07:11 +08:00

4.2 KiB
Raw Blame History

CSE234: Data Systems for Machine Learning

课程简介

  • 所属大学UCSD
  • 先修要求:线性代数,深度学习,操作系统,计算机网络,分布式系统
  • 编程语言Python, Triton
  • 课程难度:🌟🌟🌟
  • 预计学时120小时

本课程专注于设计一个全面的大语言模型(LLM)系统课程作为设计高效LLM系统的入门介绍。

课程可以更准确地分为三个部分(外加若干 guest lecture

Part 1. 基础:现代深度学习与计算表示

  • Modern DL 与计算图computational graph / framework 基础)
  • Autodiff 与 ML system 架构概览
  • Tensor format、MatMul 深入与硬件加速器accelerators

Part 2. 系统与性能优化:从 GPU Kernel 到编译与内存

  • GPUs & CUDA含基本性能模型
  • GPU MatMul 与算子编译operator compilation
  • Triton 编程、图优化与编译graph optimization & compilation
  • Memory含训练/推理中的内存问题与技巧)
  • Quantization量化方法与系统落地

Part 3. LLM系统训练与推理

  • 并行策略模型并行、collective communication、intra-/inter-op、自动并行化
  • LLM 基础Transformer、Attention、MoE
  • LLM 训练优化FlashAttention 等
  • LLM 推理continuous batching、paged attention、disaggregated prefill/decoding
  • Scaling law

Guest lecturesML compiler、LLM pretraining/open science、fast inference、tool use & agents 等,作为补充与扩展。)

CSE234的最大特点在于非常专注于以LLM (LLM System)为核心应用场景,强调真实系统设计中的取舍与工程约束,而非停留在算法或 API 使用层面。课程作业通常需要直接面对性能瓶颈如内存带宽、通信开销、kernel fusion 等),并通过 Triton 或系统级优化手段加以解决,对理解“为什么某些 LLM 系统设计是现在这个样子”非常有帮助。学习体验整体偏硬核,前期对系统与并行计算背景要求较高,自学时建议提前补齐 CUDA/并行编程与基础系统知识,否则在后半部分(尤其是 LLM 优化与推理相关内容)会明显感到陡峭的学习曲线。但一旦跟上节奏,这门课对从事 LLM Infra / ML Systems / AI Compiler 方向的同学具有很强的长期价值。

学习路线推荐

课程本身其实比较循序渐进但是对于没有系统与并行计算背景的同学来说可能到第二部分会感觉稍微陡峭一点。课程最核心的部分其实是要花很多时间动手实现与优化系统因此建议在读paper的时候就可以在Github上找一些相关的开源项目动手实现相关的系统或者Kernel加深理解。

  • 基础部分:建议配合 micrograd 等开源项目一起学习
  • 系统与性能优化 & LLM系统建议配合 nanoGPT, nano-vllm 等开源项目一起食用

课程页面本身提供了一些知识与资源,可以参考:Book related documentation and courses

课程资源

资源汇总

所有课程内容都发布了对应的开源版本,但在线测评和作业参考答案部分尚未开源。

其他资源/课程延伸