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