機器之心報道
編輯:Panda
斯坦福大學 2025 年春季的CS336課程「從頭開始創造語言模型(Language Models from Scratch)」相關課程和材料現已在網上全面發布!
- 課程視頻:https://www.youtube.com/watch?v=SQ3fZ1sAqXI&list=PLoROMvodv4rOY23Y0BoGoBGgQ1zmU_MT_
- 課程主頁:https://stanford-cs336.github.io/spring2025/
這是該課程的教職工陣容:
其中,講師 Tatsunori Hashimoto 現為斯坦福大學計算機科學系助理教授。此前,他是斯坦福大學 John C. Duchi 和 Percy Liang 的博士后,研究機器學習模型平均性能和最差性能之間的權衡。在博士后研究之前,他在麻省理工學院攻讀研究生,導師是 Tommi Jaakkola 和 David Gifford。他本科在哈佛大學學習統計學和數學,導師是 Edoardo Airoldi。他的研究成果已總計獲得了超 3 萬引用。
另一位講師 Percy Liang 是斯坦福大學計算機科學系副教授,同時也是基礎模型研究中心(CRFM)主任,同時也有參與以人類為中心的人工智能(HAI)、人工智能實驗室、自然語言處理研究組和機器學習研究組等的研究工作。他本科畢業于 MIT,之后在該校獲得工程學碩士學位,導師是 Michael Collins;之后,他在伯克利獲得博士學位,導師是 Michael Jordan 和 Dan Klein;后來他進入谷歌從事博士后研究。Percy Liang 是一位引用量超過 10 萬的研究大牛,我們此前也曾多次報道他的研究成果。
CS336 課程簡介
CS336 課程的目標是「引導學生完成開發自己的語言模型的整個過程,從而幫助他們全面理解語言模型。」該課程借鑒了操作系統課程中從零開始創建完整操作系統的教學方法,引導學生完成語言模型創建的各個環節,包括預訓練的數據收集和清理、Transformer 模型的構建、模型訓練以及部署前的評估。
該課程包含 5 個單元,分別是基礎、系統、擴展、數據、對齊和推理強化學習。
該課程也非常注重實踐操作,因此也需要相當多的學習和開發時間。Percy Liang 也在 上簡單分享了學生需要實踐的內容,包括:
- 作業 1(使基本流程正常運行):實現 BPE 分詞器、Transformer 架構、Adam 優化器,并在 TinyStories 和 OpenWebText 上訓練模型。只允許使用 PyTorch 原語(不能直接調用 torch. nn. Transformer 或 torch. nn. Linear)。
- 作業 2(讓 GPU 運行起來):在 Triton 中實現 Flash Attention 2、分布式數據并行 + 優化器分片。
- 作業 3(Scaling Law):使用 IsoFLOP 擬合 Scaling Law。為了模擬訓練運行的高風險,學生會獲得一個訓練 API [超參數→損失] 和一個固定的計算預算,并且必須選擇提交哪些運行來收集數據點。在后臺,訓練 API 是通過在一系列預先計算的運行之間進行插值來支持的。
- 作業 4(數據):將 Common Crawl HTML 轉換為文本,過濾(質量、有害內容、PII),刪除重復數據。這是一項苦差事,卻沒有得到足夠的重視。
- 作業 5(對齊):實現監督微調、專家迭代、GRPO 和變體,在 Qwen 2.5 Math 1.5B 上運行 RL 以提升在 MATH 上的指標。我們也曾考慮過讓學生自己實現推理(inference),但決定(可能是明智的)讓人們使用 vllm。
更具體來說,CS336 課程的 5 個單元包含 19 門課。這里簡單總結了該課程的目錄,你可以在課程主頁下載相應的材料:
- 課程概述和 token 化
- PyTorch 和資源(包括內存和計算資源)
- 架構與超參數
- 混合專家(MoE)
- GPU
- Kernel,Triton
- 并行化
- 并行化
- Scaling Law
- 推理
- Scaling Law
- 評估
- 數據
- 數據
- 對齊 ——SFT/RLHF
- 對齊 —— 強化學習
- 對齊 —— 強化學習
- 客座講座:阿里巴巴達摩院研究員、Qwen 團隊技術負責人 Junyang Lin(林俊旸)
- 客座講座:Facebook AI 研究科學家、Llama 3 預訓練負責人 Mike Lewis
另外,在考慮學習這門課程之前,你應該先具備以下能力:
- 熟練掌握 Python:大部分課程作業將使用 Python 完成。與大多數其他 AI 課程不同,本課程只會給學生提供極少的腳手架。你編寫的代碼量將至少比其他課程多一個數量級。因此,熟練掌握 Python 和軟件工程至關重要。
- 有深度學習和系統優化經驗:本課程的很大一部分內容是關于如何使神經語言模型在多臺機器的 GPU 上快速高效地運行。我們希望學生能夠熟練掌握 PyTorch,并了解內存層次結構等基本系統概念。
- 大學微積分、線性代數(例如 MATH 51、CME 100):你應該能夠輕松理解矩陣 / 向量符號和運算。
- 基礎概率與統計(例如 CS 109 或同等課程):你應該了解概率、高斯分布、均值、標準差等基礎知識。
- 機器學習(例如 CS221、CS229、CS230、CS124、CS224N):你應該熟悉機器學習和深度學習的基礎知識。
順帶一提,CS336 課程還為完成課程的學生贈送了紀念 T 恤,有如下 4 種圖案。你覺得如何呢?
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.