新鮮出爐!斯坦福2025CS336課程全公開:從零開始搓大模型

MLNLP社群是國內外知名的機器學習與自然語言處理社群,受眾覆蓋國內外NLP碩博生、高校老師以及企業研究人員。
社群的願景是促進國內外自然語言處理,機器學習學術界、產業界和廣大愛好者之間的交流和進步,特別是初學者同學們的進步。
來源 | 機器之心
編輯 | 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 種圖案。你覺得如何呢?

技術交流群邀請函

△長按新增小助手
掃描二維碼新增小助手微信
請備註:姓名-學校/公司-研究方向
(如:小張-哈工大-對話系統)
即可申請加入自然語言處理/Pytorch等技術交流群

關於我們

MLNLP 社群是由國內外機器學習與自然語言處理學者聯合構建的民間學術社群,目前已經發展為國內外知名的機器學習與自然語言處理社群,旨在促進機器學習,自然語言處理學術界、產業界和廣大愛好者之間的進步。
社群可以為相關從業者的深造、就業及研究等方面提供開放交流平臺。歡迎大家關注和加入我們。


相關文章