教学大纲
目录
课程分为三个部分,覆盖以下主题:
- 基础:深度学习、自动微分、CUDA 编程、ML 硬件
- ML 系统与优化:数据流图系统、ML 编译、内存与图优化、并行化
- LLM/扩散模型系统:LLM 训练、推理与服务、注意力优化、Scaling Law、前沿趋势
课程期间还会邀请多位关键技术的发明者来做 guest lecture,所有 guest lecture 都必须参加。
课程信息
- 上课时间:周二、周四 12:30 PM - 1:50 PM。
- 地点:Warren Lecture Hall #2005。
- 课程咨询邮箱:cse291a-sp26@googlegroups.com。
- 授课教师:Hao Zhang,办公室:HDSI 440。
- TA:见课程团队页面。
本年度重要变化
- 混合授课:由于授课教师日程安排困难,相当一部分 lecture 将通过 Zoom 进行,具体安排会在课程网站上更新。所有 lecture 都会在课后上传录播。
- Guest lectures:本学期将有 3-4 场 guest lecture(通过 Zoom),涵盖最近 1-2 年的最新进展。Guest lecture 必须参加。
- PA 中使用 agentic coders:是否在 PA 中使用最新的 agentic coders 由你自己决定。我们认为手动完成作业能显著提升你在该领域的理解和实践能力;agentic coders 可能满足部分要求,但也可能影响你的学习效果。
先修要求
本课程具有较强的交叉性,覆盖许多机器学习、数据和系统方向的前沿主题。 如果你没有修过下列课程或同等课程,可能需要投入更多时间进行预习。
- MATH 18(线性代数)或同等课程。
- CSE 151B(深度学习)或同等课程。
- CSE 132C 或 CSE 120(操作系统)或同等课程。
- DSC 102(可扩展分析系统)或同等课程;或者在可扩展数据系统和 ML 算法方面有较强的实践经验,并获得授课教师许可。
- 熟练掌握 Python 编程。
- 了解深度学习以及 TensorFlow、PyTorch、Hugging Face 等框架。
以下课程不是硬性先修,但强烈建议在修读本课程前完成:
- DSC 204A(Scalable Data Analytics)。
- DSC 240(Machine Learning)。
课程内容与形式
讲座
课程每周上课 2 次,每次 80 分钟。
3 次编程作业(PA)
- 最新 PA 安排与详情请见作业页面。
- 所有 PA 共计只有 5 天 late days,请提前规划。
考试
- 为了减轻大家压力:没有期中考试。替代形式是 reading summary。
- 会有一次 final exam,且必须线下参加。请提前安排。
- 考试时间:6/8/26,11:30 AM - 2:30 PM。
- 考试地点:待定。
- 试题全部且仅有多项选择题(MCQ),即每题可能有一个或多个正确选项。
- 时间安排原则是每 1 分钟对应最多 1 分,具体分值会按此校准。
- 如无提前说明并获得学校认可理由下的补考资格,缺考将记零分。
- final exam 为闭卷,但允许携带任意数量的 cheat sheets;禁止使用手机和电脑。
Scribe Notes
每位同学需要担任少量 lecture 的 scribe(大概率只有 1 次)。大多数 lecture 会安排至少 3 位同学共同完成。 你们需要在课上协作记录详细笔记,并在课后基于模板整理为 LaTeX 文档。 笔记长度应为 6-12 页,并以电子形式提交。 每个 scribe 小组只需提交一份。 教师团队会审核并将合格笔记发布到课程主页供大家参考。 只要笔记质量达标,就能获得 full credit;如果存在错误或质量不足,我们会通知你,并给你一次修改机会。 强烈建议使用 ChatGPT 来润色 scribe notes 的表达。 若未提交,将记零分。
- 报名表:Spreadsheet(请在第 2 周结束前完成)
- 模板:Overleaf LaTeX 模板
- 提交方式:向课程网站仓库提交 pull request
- 截止时间:lecture 后第 7 天的晚上 11:59 PT
Reading Summary
从第一周到第九周,教师和 TA 团队每周会提供两篇必读和若干选读材料。 你需要为每周的必读材料提交一份简要总结。 reading summary 是本课程要求的一部分,必须由你本人在 Gradescope 上提交才能拿到学分。 reading summary 不接受 late day。 总结应当以高层理解为主,聚焦阅读的核心观点,尽量避免复杂数学推导。 只要总结合理,就会给满分。 总共需要提交 9 份 reading summary(第 1 周到第 9 周),共 9 分。
鼓励使用 LLM 来改善写作,但应避免在未完成阅读的情况下直接用其生成总结。 TA 团队会快速抽查所有总结;如果发现内容似乎完全由 ChatGPT 生成,我们会联系你(这种写作风格通常很容易识别)。
- 模板:NeurIPS format
- 长度:>= 2 页(含封面页)
- 提交平台:Gradescope
- 截止时间:本周 summary 于下周周二晚 11:59 PM 提交
课堂参与
我们欢迎大家积极参与课程。参与分上限为 6%,获取方式如下:
- 课堂与 Piazza 参与:课堂和 Piazza 上最活跃的大约 20 位同学可以拿到 3%;其他同学按与第 20 名相对的参与度比例给分。(为防止刷分,并非所有发言都会计入;教师团队保留决定哪些贡献算正向或负向的权利。)
- Guest lecture Q&A:在 guest talks 中提出有深度的问题、与嘉宾充分互动可获得参与分。
- 完成课程评估:学期初、中、末我们及学校会发送调查问卷,用于了解课程进展并改进教学。如果超过 80% 的学生完成问卷,全班每人得 2%;若不足 80%,则所有人都拿不到这 2%。
- Karma point:任何被 TA 或授课教师注意到、并被认定对课程有帮助的行为:1%。
成绩构成
评分组成(待定)
- 编程作业:15% + 15% + 20%
- Final Exam:36%
- Reading Summary:9%
- Scribe Duties:5%
- Extra Credit:6%
分数线
本课程采用绝对评分与相对评分结合的 hybrid scheme。绝对分数线基于你的总分;相对分数线基于你在全班总分分布中的位置。两者中较优的成绩将作为最终成绩。
| 成绩 | 绝对分数线 (>=) | 相对分档(使用更严格者) |
| A+ | 95 | 前 5% |
| A | 90 | 接下来的 10%(5-15) |
| A- | 85 | 接下来的 15%(15-30) |
| B+ | 80 | 接下来的 15%(30-45) |
| B | 75 | 接下来的 15%(45-60) |
| B- | 70 | 接下来的 15%(60-75) |
| C+ | 65 | 接下来的 5%(75-80) |
| C | 60 | 接下来的 5%(80-85) |
| C- | 55 | 接下来的 5%(85-90) |
| D | 50 | 接下来的 5%(90-95) |
| F | < 50 | 最后 5% |
示例:假设总分是 82,班级百分位是 33。那么相对成绩是 B-,绝对成绩是 B+,最终成绩取更优者,即 B+。
非字母成绩选项:如果以 P/F 修读,则 P 需要达到字母成绩 C- 或以上;如果以 S/U 修读,则 S 需要达到字母成绩 B- 或以上。
课堂规则
- 3 次 PA 总共只有 5 天 late days,reading summary 没有 late day,final exam 也没有延长时间窗口。请提前规划。
- 鼓励同学在课堂和 Piazza 上积极提问与讨论。发言前请先举手,由授课教师点名后再发言。
- 请查看 UCSD 的 honor code 以及academic integrity 相关政策。若发现代码抄袭、考试或测验串通、代用 clicker 或任何其他学术不端行为,你将在该部分获得零分并被大幅降档。我也会向学校报告,并可能导致包括开除在内的纪律处分。
- 请阅读 UCSD 的 community principles 以及学校对包容性学习环境的承诺:相关页面。
- 对任何学生的骚扰、歧视或恐吓行为,无论发生在课堂还是 Piazza,都绝不容忍。请参考 UCSD 关于 harassment 和 discrimination 的政策:相关页面。