Skip to content
所有標籤

#cs336

18 篇文章

Transformer 架構很多,真正穩定的預設值其實很少|Stanford CS336 第 3 堂

第三講比較大量現代 LLM 後得到的不是一張最佳架構配方,而是一組保守共識:pre-norm、RMSNorm、無 bias、SwiGLU、RoPE,以及少數值得偏離預設的推論與穩定性設計。

Attention 不只一種,MoE 也不是免費擴大模型|Stanford CS336 第 4 堂

第四講沿著兩種稀疏化拆解現代 LLM:linear/recurrent attention 減少序列維度成本,MoE 讓每個 token 只啟用部分參數;兩者都把理論省下的 FLOPs 換成 routing、平衡與通訊問題。

Filtering、Dedup 與資料混合才把 raw web 變成訓練語料|Stanford CS336 第 14 堂

第十四講把 raw documents 經語言辨識、品質與安全 filtering、exact/near dedup、source mixing 送進訓練;每一步都會改變模型分布,而 synthetic instruction 與 agent trajectories 又把資料管線延伸到可執行環境。

語料不會從天上掉下來,每個來源都有存取與授權成本|Stanford CS336 第 13 堂

第十三講沿著 Common Crawl、Wikipedia、GitHub、arXiv、書籍與歷代開放資料集追溯語料來源;抓得到不等於可合法使用,raw data 也不等於 training data,來源 provenance 必須先於清理與混合。

沒有一個真正的 LLM 評分,只有規則不同的遊戲|Stanford CS336 第 12 堂

第十二講從 perplexity 走到考試、聊天偏好、agent、推理與安全評測;每次換 benchmark 都同時換了能力定義、scaffold、judge 與污染風險,因此評分前必須先說清楚到底在比較 method、model 還是完整 system。

GPU 快不是因為每個 thread 快,而是資料少搬幾次|Stanford CS336 第 5 堂

第五講從 SM、warp 與記憶體階層解釋 GPU,再用低精度、fusion、recomputation、coalescing 與 tiling 統一常見優化;FlashAttention 正是這些原則在 attention 上的組合。

LLM 推論的核心不是少算,而是少讀權重與 KV cache|Stanford CS336 第 10 堂

第十講把 prefill 與 decode 分開:前者能平行、常受算力限制,後者逐 token 且常受記憶體頻寬限制;GQA/MLA、量化、speculative decoding、continuous batching 與 PagedAttention 都在改寫這條成本。

寫 Triton kernel 前,先學會 benchmark 與 profile|Stanford CS336 第 6 堂

第六講把 GPU 原理落到 kernel:benchmark 看不同尺寸如何縮放,profiler 看實際呼叫與時間,再以 Triton 實作 GeLU、softmax、reduction 與 tiled matmul;快的前提是先量對。

多模態模型先把影像變成 token,再處理語意與細節的衝突|Stanford CS336 第 17 堂

第十七講把 CLIP/SigLIP、LLaVA、Qwen-VL 與 Chameleon 排成三條路:對比式 encoder 學語意、vision encoder+projector+LM 做理解、離散 image tokens 做生成;解析度、token budget 與 modality balance 是共同瓶頸。

從位元組到 tokenizer,先決定什麼值得隨規模成長|Stanford CS336 第 1 堂

CS336 第一講不把「從零打造語言模型」理解成重做所有舊技術,而是先區分 mechanics、mindset 與 intuitions,再用 BPE 示範如何把原始位元組轉成可訓練的 token。

從 collective operations 組出資料、張量與管線平行|Stanford CS336 第 7 堂

第七講不從 FSDP API 開始,而是用 broadcast、all-reduce、all-gather、reduce-scatter 與 all-to-all 建立通訊語言,再親手組出 data、tensor 與 pipeline parallelism。

ZeRO、FSDP 與 3D Parallelism 怎麼對齊硬體拓撲|Stanford CS336 第 8 堂

第八講把平行化從原語提升到系統設計:ZeRO 逐階切 optimizer、gradient 與 parameter,TP/PP/SP/EP 再分別切 width、depth、sequence 與 experts;組合順序必須服從網路拓撲與動態 activation memory。

先算 FLOPs 與記憶體,再談模型跑不跑得動|Stanford CS336 第 2 堂

第二講把模型訓練還原成 tensor、FLOPs、bytes 與時間:用 einops 管維度,以 arithmetic intensity 和 roofline 判斷瓶頸,再用 gradient accumulation 與 activation checkpointing 交換運算和記憶體。

RLVR 用可驗證獎勵擴大推理,但 GRPO 不是免費的 PPO|Stanford CS336 第 16 堂

第十六講從 PPO 走到 GRPO 與 RLVR:數學、程式碼和環境結果提供可規模化 reward,避開一般偏好模型的部分 overoptimization;但 group-normalized advantage 會引入難度與長度偏差,rollout infrastructure 也成為主要成本。

Scaling law 不是水晶球,是小實驗的外推工具|Stanford CS336 第 9 堂

第九講從資料量與 error 的 log-log 線性關係出發,說明 scaling law 如何比較架構、optimizer、batch 與模型資料配置;Chinchilla 爭議也示範擬合方法、資料範圍與部署目標會改變答案。

Scaling law 落地時,learning rate 與 batch 也要一起縮放|Stanford CS336 第 11 堂

第十一講從 MiniCPM、DeepSeek、Qwen 與 Llama 3 的公開 recipe 拆解 scaling 實務:先固定大多數架構比例,再用小規模 sweep 找 learning rate、batch 與 IsoFLOPs 配置;μP 有用,但會被 normalization、optimizer 與 weight decay 破壞。

SFT 教模型模仿,RLHF 才開始直接最佳化偏好|Stanford CS336 第 15 堂

第十五講把 post-training 拆成 imitation 與 optimization:SFT 從 instruction-response data 抽出預訓練已有能力,RLHF 用 pairwise feedback 跨過人類示範與偏好之間的落差;PPO 與 DPO 都逃不掉資料偏差、reward overoptimization 和 mode collapse。

從零打造語言模型:五份作業與要自己算的 GPU 預算|Stanford CS336 課程總覽

CS336 是 Stanford 從零打造語言模型的課:五份作業依序做 tokenizer 與 Transformer、訓練系統最佳化、scaling law、資料處理、對齊與推理 RL,沒有程式骨架,只有測試。講義、錄影、五份作業的 repo 與排行榜都公開;從第二份作業起算力要自己準備,課程贊助的算力與評分拿不到。