CS336: 从零开始的语言建模
本课程是关于什么的?语言模型是现代自然语言处理(NLP)应用的基石,开启了一个新的范式,让一个通用系统解决一系列下游任务。随着人工智能(AI)、机器学习(ML)和NLP领域的不断发展,对语言模型的深刻理解对科学家和工程师来说变得至关重要。本课程旨在通过引导学生开发自己的语言模型的整个过程,为他们提供对语言模型的全面理解。我们将借鉴从头构建整个操作系统的操作系统课程,引导学生全面了解语言模型的创建,包括预训练的数据收集和清理、变换器模型构建、模型训练和部署前评估。先修课程 Python 熟练程度 大多数课堂作业将使用Python。与大多数其他AI课程不同,学生将获得最小的帮助。您将编写的代码量将至少比其他课程多一个数量级。因此,熟练掌握Python和软件工程至关重要。 深度学习和系统优化经验 本课程的很大一部分将涉及如何在多个机器上的GPU上快速、高效地运行神经语言模型。我们希望学生对PyTorch有较强的熟悉度,并了解内存层次等基本系统概念。 大学微积分、线性代数(例如MATH 51,CME 100) 您应该能够理解矩阵/向量符号和操作。 基本概率和统计(例如CS 109或同等课程) 您应该熟悉概率、高斯分布、均值、标准差等基本概念。 机器学习(例如CS221、CS229、CS230、CS124、CS224N) 您应该熟悉机器学习和深度学习的基本概念。 请注意,这是一门5学分的课程。这是一门非常重于实现的课程,请确保留出足够的时间。课程作业 作业 1:基础 实现训练标准变换器语言模型所需的所有组件(分词器、模型架构、优化器)。训练一个最小的语言模型。 作业 2:系统 使用高级工具对作业1中的模型和层进行性能分析和基准测试,使用您自己的Triton实现的FlashAttention2优化注意力机制。构建具有高效内存使用的分布式版本的作业1模型训练代码。 作业 3:扩展 理解变换器每个组件的功能。查询训练API以拟合规模法则,预测模型扩展。 作业 4:数据 将原始的Common Crawl转储转换为可用的预训练数据。进行过滤和去重以提高模型性能。 作业 5:对齐与推理 强化学习应用监督微调和强化学习以训练语言模型在解决数学问题时进行推理。 可选部分2:实现和应用安全对齐方法,如DPO。 所有(当前暂定)截止日期已列入时间表。 GPU计算自学 如果您在家自学,可以通过云服务提供商访问GPU计算以完成作业。以下是一些选项(2026年3月28日单个B200 GPU的公众定价): Modal(赞助商):$6.25/小时。 提供$30的免费每月计算。您仅需为实际计算付费(不包括闲置资源),且其用户体验使得在本地开发与大规模GPU实验之间切换变得简单。(Modal定价) Lambda Labs:$6.69/小时(Lambda定价) RunPod:$4.99/小时(RunPod定价) Nebius:$5.50/小时($3.05/小时可抢占)(Nebius定价) Together:$7.49/小时,最低8个GPU,长期承诺更便宜(Together定价) 为了方便起见和节省资金,我们建议您先在CPU上调试实现的正确性,然后使用推荐数量的GPU完成训练(A1、A4、A5)或基准测试GPU操作(A2)。 荣誉规范 与斯坦福大学的所有其他课程一样,我们非常重视学生的荣誉规范。请遵循以下政策: 合作:允许学习小组,但学生必须理解并独立完成作业,每位学生提交一份作业。如果您在小组中工作,请将学习小组成员的姓名列在作业的顶部。如果您对合作政策有任何疑问,请随时询问。 AI工具:允许对LLM(如ChatGPT)进行提示,以解答低级编程问题或有关语言模型的高级概念问题,但直接用其解决问题是被禁止的。我们强烈建议您在完成作业时,在IDE中禁用AI自动补全(例如,Cursor Tab,GitHub CoPilot),尽管非AI自动补全(例如,自动补全函数)是可以的。
本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。
☕请我喝杯咖啡