首页
/ UCSD CSE234: Data Systems for Machine Learning — 深入拆解这门以 LLM 系统为核心的机器学习系统自学课

UCSD CSE234: Data Systems for Machine Learning — 深入拆解这门以 LLM 系统为核心的机器学习系统自学课

2026-09-06 18:32:47作者:邵娇湘

导读:本文基于《CS 自学指南》仓库中记录的 UCSD CSE234 课程文档,系统梳理这门以"大规模语言模型(LLM)系统端到端设计"为核心的教学课程:从基础的计算图与自动微分,到 GPU Kernel、Triton 与量化等系统性能优化,再到模型并行、LLM 训练优化与推理系统等前沿议题。读完本文,你将对 CSE234 的三段式课程骨架、先修要求与难度曲线、配套开源项目、自学路线及仓库内可延伸的相关课程资源获得完整认识,可直接据此制定自己的 LLM 基础设施 / ML Systems / AI Compiler 方向的学习计划。

课程速览:一门数据系统视角的 LLM 系统课

CSE234(Data Systems for Machine Learning)由 UC San Diego(UCSD)开设,是一门以"构建端到端大语言模型系统"为主线、面向真实工程场景的系统类课程,可看作"高效 LLM 系统设计的入门介绍"。在本仓库中,它被收录在 机器学习系统 目录下,与 CMU 15-442/642、CMU 10-414/714、Machine Learning Compilation、MIT 6.5940 等课程并列,导航入口见 mkdocs.yml

课程基本信息如下:

维度 说明
所属大学 University of California, San Diego(UCSD)
先修要求 线性代数、深度学习、操作系统、计算机网络、分布式系统
主要编程语言 Python、Triton
课程难度 ★★★(中等偏上,硬核但可上手)
预计学时 约 120 小时

需要特别说明的是,本仓库为英文课程页面维护了与中文版一一对应的笔记:CSE234 英文笔记CSE234 中文笔记。英文版更侧重于对课程定位与自学体验的凝练描述,两份文档配合阅读可以兼顾信息密度与可读性。

课程内容骨架:从计算表示到 LLM 训练与推理的三段式设计

课程内容可以更精确地划分为三个递进的部分,外加若干 guest lecture(嘉宾讲座)。这三部分恰好对应了从"深度学习框架底层"到"单卡极致性能"再到"多卡分布式与 LLM 系统"的完整知识爬坡,与仓库中 CMU 10-414/714 所强调的"全栈知识体系"视角一致,但 CSE234 的主题始终锚定在 LLM 场景。

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

本部分回答"深度学习系统由什么构成"这一基础问题,为后续优化打下抽象层面的根基:

  • Modern DL 与计算图(computational graph / framework 基础):理解深度学习框架如何把神经网络表示成有向无环图(DAG),以及框架与系统层之间的边界在哪里。
  • 自动微分与 ML 系统架构概览(Autodiff & ML system architectures):梳理反向传播在框架中的实现机制(如 tape、静态图/动态图),并纵览一个机器学习系统从数据加载、算子执行到调度与内存管理的整体架构。
  • Tensor 格式、深入矩阵乘法与硬件加速器:从张量的内存布局(layout/strides)切入,深挖矩阵乘法(MatMul)这一深度学习的核心算子在各类硬件加速器上的执行方式,理解访存模式对性能的决定性影响。

这一部分与仓库中的 CMU 10-414/714: Deep Learning Systems 内容高度互补——后者通过从零实现深度学习库 Needle 来强化对计算图与自动微分的理解,可作为 CSE234 基础段的平行练习。

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

第二部分是全课技术含量最密集的段落,关注"如何把算子真正跑快":

  • GPU 与 CUDA(含基本性能模型):理解 GPU 的线程层次、内存层次结构,掌握 Roofline 等基本性能模型,学会先估算"瓶颈在算力还是带宽"再动手优化。
  • GPU 矩阵乘法与算子级编译:在 CUDA 层面剖析高性能 MatMul 的实现要点(分块、Shared Memory 复用、向量化等),并了解算子级编译(operator compilation)如何把高层算子描述翻译为贴近硬件的代码。
  • Triton 编程、图优化与编译:掌握 OpenAI Triton 这一以 Python 编写 GPU Kernel 的 DSL,并了解计算图层面的优化(算子融合、常量折叠等)与编译管线。
  • 内存管理:聚焦训练与推理中真实的内存问题与工程技巧(显存复用、碎片化、KV Cache 管理等),理解"内存墙"为何成为 LLM 系统的首要约束。
  • 量化方法与系统落地:从低比特表示的数学原理到实际部署中的精度-性能权衡,了解量化如何与系统层协同(而非仅仅是一个模型层技巧)。

可以推断,课程的作业正是围绕上述环节设计:学生需要直接面对内存带宽受限、通信开销、kernel fusion 缺失等真实性能瓶颈,并通过 Triton 或系统级优化手段逐一击破。这也解释了为什么课程官方把 Triton 列为与 Python 并列的编程语言。

Part 3 LLM 系统:训练与推理

第三部分把前两部分的系统能力汇聚到当下最热门的 LLM 工程命题上:

  • 并行策略:模型并行、集合通信(collective communication)、算子内/算子间并行(intra-/inter-op parallelism),以及自动并行化——回答"一个大模型如何切到多张卡上"。
  • LLM 基础:Transformer、Attention 与 MoE(混合专家)的结构性理解——不是算法层面,而是从系统视角审视它们的计算与访存特征。
  • LLM 训练优化:以 FlashAttention 为代表的 IO 感知优化,理解"重计算访存、减少 HBM 读写"这类思想的工程价值。
  • LLM 推理:continuous batching(连续批处理)、paged attention(分页注意力)、disaggregated prefill/decoding(预填充与解码分离)等现代推理系统的支柱技术——这些正是 vLLM、SGLang 等开源推理框架背后的底层原理。
  • Scaling law(扩展定律):从系统资源供给的角度理解模型规模、数据规模与算力需求之间的数量级关系,建立"为什么需要这些系统技术"的宏观判断。

Guest Lectures:面向工业前沿的补充扩展

在三大主干之外,课程还安排了若干 guest lecture,主题包括 ML 编译器、LLM 预训练与开放科学、快速推理(fast inference)、工具使用与智能体(tool use & agents) 等,作为面向工业界前沿的补充。对于自学者,这些讲座提供了把课上系统知识映射到真实产品与研究方向的机会。

课程最大特点:以 LLM 系统为核心、以真实工程约束为准绳

CSE234 与同类课程最显著的区别在于:它极其专注地以 LLM 系统为核心应用场景,强调真实系统设计中的取舍(trade-offs)与工程约束,而不是停留在算法或 API 使用层面。

这种定位带来的直接结果是:学完这门课,你会真正理解"为什么某些 LLM 系统设计是现在这个样子"。例如为什么推理框架要引入 PagedAttention 管理 KV Cache,为什么 prefill 与 decoding 阶段要分离部署,为什么训练需要复杂的并行策略与通信原语——这些"为什么"背后都是内存带宽、通信开销、kernel 融合度等系统级约束在起作用。

作业设计同样体现了这一取向:学生不是去调 API,而是直接用 Triton 或系统级手段优化算子,正面处理上述性能瓶颈。这种"直面瓶颈-动手优化"的训练,与仓库中 CMU 15-442/642: Machine Learning Systems 所描述的"手写算子从 0.02 TFLOP/s 优化至媲美 cuBLAS"的硬核作业理念一脉相承,只是 CSE234 把应用重心更聚焦于 LLM。

难度评估与自学预警

课程的整体学习体验偏硬核,前期对系统与并行计算背景要求较高。官方给出的先修清单包括线性代数、深度学习、操作系统、计算机网络与分布式系统——这是一个相当完整的系统栈要求。

结合仓库中同类课程的自学经验可以给出如下预警:

  • 提前补齐 CUDA / 并行编程与基础系统知识:自学时强烈建议在进入课程前先掌握 GPU 编程范式与基本并行计算概念,否则第二部分(GPU Kernel、Triton、编译与内存)会明显吃力。
  • 后半部分学习曲线更陡:尤其是 LLM 优化与推理相关内容,建立在前面大量系统知识之上,跳步学习几乎不可行。
  • 预留足量的动手时间:120 小时的预计学时中,很大一部分要花在实现与优化系统上,纸上谈兵无法获得真正的能力提升。

反过来说,只要跟上节奏,这门课对有志于 LLM Infra(基础设施)/ ML Systems / AI Compiler 方向的同学具有很高的长期价值——它搭建的是"系统视角看待大模型"的底层思维框架。

推荐学习路线:论文 + 开源项目 + 动手实现

课程本身结构相对循序渐进,但对于缺乏系统与并行计算背景的学习者,过渡到第二部分时仍会感到些许陡峭。鉴于该课程最核心的学习环节是花大量时间动手实现与优化系统,官方学习建议(也被本仓库笔记采纳)是在读论文的同时,去 GitHub 寻找相关开源项目对照学习,亲手实现相关系统或 Kernel,以加深理解。推荐搭配如下:

学习阶段 推荐配合的开源项目 用途
基础部分 micrograd 以极简代码理解自动微分与计算图的核心机制
系统与性能优化 & LLM 系统 nanoGPT、nano-vllm 对照学习 GPT 训练管线与轻量级 LLM 推理服务实现

其中 micrograd 是理解自动微分的经典最小实现,适合在 Part 1 阶段逐行阅读;nanoGPT 提供了"从零训练 GPT"的干净代码基线;nano-vllm 则以精炼的工程实现展现 LLM 推理服务(连续批处理、KV Cache 管理等)的系统骨架。三者恰好分别命中课程三大段落的核心练习对象。

说明:本文为遵循仓库内链规范,不在此处粘贴外部项目主页;上述项目的公开仓库地址、课程网站的补充书目与参考资料清单,均已记录在原课程笔记 docs/机器学习系统/CSE234.mddocs/机器学习系统/CSE234.en.md 中,可前往对应页面获取一手链接。课程页面自身也提供了一份精选的书目相关文档与课程列表(resources 板块)。

课程资源一览

课程资源的官方入口均围绕 2025 冬季学期(w25)站点展开,本仓库笔记中记录的核心资源入口包括:

  • 课程网站:hao-ai-lab.github.io 下的 CSE234-w25 站点,聚合了全部课程信息
  • 课程视频:同一站点内提供 lecture 视频
  • 阅读材料:站点 resources 板块,含精选论文、书目相关文档与课程清单
  • 课程作业:站点 assignments 板块,公布作业说明与要求

值得留意的是资源汇总中的关键信息:所有课程内容均以开源形式发布,但在线评测基础设施(online grading infrastructure)与作业参考答案(reference solutions)尚未公开。这意味着自学者可以获取完整的讲义、视频与作业题干,但无法获得自动判分与标准答案,作业的"对错反馈"需要自行通过本地测试或与开源社区实现对照来完成——这也是自学该课程时最需要提前规划的一环。

仓库内的延伸学习路径

如果你正在按《CS 自学指南》的系统路径学习,CSE234 在仓库中处于"机器学习系统"知识簇内,建议按如下顺序组织前后置关系:

  1. 前置系统基础:先修课程可参考 CMU 10-414/714: Deep Learning Systems(从零实现深度学习库,打通框架内部机制)与并行计算课程如 CS149(理解并行硬件与 CUDA 编程范式)。
  2. 同层级系统课CMU 15-442/642: Machine Learning Systems 与 CSE234 主题接近(均覆盖 GPU 算子、分布式训练与 LLM 推理),可任选其一为主线、另一门为对照。
  3. 模型压缩与高效计算侧翼MIT 6.5940: TinyML and Efficient Deep Learning Computing 覆盖剪枝、量化、蒸馏等轻量化技术,与 CSE234 Part 2 的量化章节互为补充。
  4. LLM 系统纵深:完成 CSE234 后,可进一步学习 CMU 11-868: Large Language Model Systems,该课以论文 + miniTorch 扩展 + CUDA 手写算子为作业形式,适合在 CSE234 基础上向 LLM 系统前沿再进一步。

此外,仓库内这类课程页面的撰写遵循统一的 template.en.md 模板(含课程简介、学习路线推荐、课程资源、资源汇总等标准栏目),如果你日后想向本指南贡献新的系统类课程笔记,可参照该模板与 CS学习规划 中机器学习系统模块的导语格式操作。

延伸阅读与课外补充

针对课程中出现的重点技术,课程笔记推荐了 GPUMode 作为课外补充渠道——该频道对 GPU Kernel 与系统层面有大量深度讲解,课程中提到的 DistServe、FlashAttention、Triton 等主题均配有质量很高的延伸讲座视频,非常适合在课程推进到对应章节时配合观看,将论文中的思想与工程实现细节打通。

总结

UCSD CSE234 的价值在于它提供了一个难得的、以 LLM 系统为统一主线的学习框架:从深度学习框架的计算图抽象出发,经过 GPU 编程、Triton、编译与内存优化等系统硬技能训练,最终抵达模型并行、FlashAttention、连续批处理与 PagedAttention 等现代 LLM 训练与推理的工程前沿。它的门槛在于对系统与并行计算基础的真实要求,以及围绕作业的大量动手时间;而它的回报,则是让学习者建立起"系统视角理解大模型"的完整心智模型——这正是从事 LLM Infra、ML Systems 与 AI Compiler 方向工作最需要的底层能力。若你已具备相应先修基础并愿意投入约 120 小时的实践,这门课值得纳入你的自学路线图。

登录后查看全文
热门项目推荐
相关项目推荐