Skip to content
所有分類

ai

1239 篇文章

minGPT 實作驗收:用形狀、遮罩與位置找錯|CMU 10-423 作業 1

作業 1 把 RNN、Transformer 與現代 attention 的觀念拉到程式層。

DDPM 實作驗收:時間係數怎麼對上 batch|CMU 10-423 作業 2

會抄加噪公式,還不代表 diffusion 實作正確。

LoRA 微調驗收:梯度、資料與評估|CMU 10-423 作業 3

以自擬數值例子驗收梯度、資料與評估,並保留原作業規格。

Q-Former 文生圖驗收:凍結底座仍要傳梯度|CMU 10-423 作業 4

以自擬數值例子驗收梯度、資料與評估,並保留原作業規格。

SFT、RLHF與DPO:三種訓練訊號的分界|CMU 10-423 主題單元

一個prompt加一個示範答案,與一個prompt加兩個偏好回應,不是相同資料。SFT學示範token;典型RLHF管線先學reward再做受約束的policy更新;DPO由偏好對與reference-relative比率直接建立loss。這篇整理它們的分界,完整推導與驗收各有單獨教學篇。

長上下文與SSM:保留歷史的兩種取捨|CMU 10-423 主題單元

長上下文問模型能否處理、找到並使用很久以前的資訊;SSM問如何用狀態更新處理序列。SSM的效率不能直接證明長文件檢索可靠,attention的長窗口也不能直接證明重要資訊一定被使用。第19與21堂因此各自有獨立教學。

現代 Transformer:位置旋轉與 KV 共享改了甚麼|CMU 10-423 第 4 堂

第 2 堂的 attention 知道如何比對內容,但實際語言模型還需要順序資訊,也要承受生成時的記憶體成本。

PEFT與ICL:改參數,還是改輸入|CMU 10-423 主題單元

你可以讓模型適應新任務而不重訓所有參數,但這句話包含兩種不同做法。LoRA等PEFT方法仍有訓練,少量參數會改變;ICL把示例放進上下文,推論時不因這些示例做參數更新。來源也不只兩堂:第9堂末段已有zero/few-shot,第10堂講PEFT,第11堂接ICL與後續調適。

推理模型:多花算力如何選到可驗證的答案|CMU 10-423 第 20 堂

能比較候選選擇與GRPO優勢且區分機制因果證據

實務風險與對齊理論:失敗測試和命題前提|CMU 10-423 主題單元

模型胡說、洩漏資料或被prompt injection誘導,是可觀察的產品風險;對齊理論問特定形式化假設下,哪些保證可以成立。兩者需要不同證據。這篇保留關係與界線,第22堂與第26堂的對齊教材分開教,不把一個定理擴成所有產品都不可能安全。

RNN 語言模型:序列機率與梯度怎麼接起來|CMU 10-423 第 1 堂

一句「我喜歡貓」不是三個互不相干的字。

Scaling與MoE:算力預算與條件計算|CMU 10-423 主題單元

Scaling laws問固定預算下模型與資料怎麼配置;MoE問如何有更多expert容量、卻只啟用少數expert。前者是配置與經驗模型,後者是架構與路由,不能合稱「把模型變大」就跳過其中一方的機制。

文生圖與VLM:生成影像和讀懂影像的兩條路|CMU 10-423 主題單元

「文字加圖片」不能描述清楚模型的工作。文生圖要產生影像,文字是條件;VLM可能接受影像,產生文字回答。資料流方向、輸出目標與驗收不同。原第12–13堂的內容在這裡保留關係地圖,兩條路各有完整例子與檢查。

Transformer、訓練與解碼:三個不同問題|CMU 10-423 主題單元

同樣一份歷史文字,模型怎麼讀、怎麼學、怎麼抽下一個token,是三個問題。注意力決定資訊如何混合;訓練目標用正確答案改參數;解碼策略在固定模型下選輸出。原本把第2–3堂合在一起,容易讓讀者以為換解碼策略就是換模型。這篇保留主題關係,完整機制與練習分開讀。

擴散與VAE:機率目標相連,生成流程不同|CMU 10-423 主題單元

擴散與VAE都能用機率模型的觀點理解,但「都有潛在變量」不代表它們是同一套生成流程。擴散把噪聲步驟串成鏈;VAE用encoder近似latent的後驗,decoder從latent重建資料。這篇是關係導覽,原第8–9堂的教學已拆成各自可檢核的內容。

在 GPU 上加速 Transformer,LightSeq 把時間花在哪裡省下來|CMU 11-868 第 10 堂

11-868 第 10 講用 Lei Li 團隊自己的 LightSeq/LightSeq2 當教材,拆出四招:把矩陣乘法以外的小運算融合成一個 kernel、改寫 LayerNorm 與 Softmax 的公式來減少 thread 同步、參數與梯度用 FP16 存但 FP32 算、依反向傳播的相依關係重用記憶體。投影片報告的 WMT14 英德翻譯訓練加速是 1.4–3.5 倍。官方課表未列公開錄影連結,本文依投影片頁碼與兩篇論文整理。

分散式訓練與資料平行,梯度同步的代價從哪裡來|CMU 11-868 第 14–15 堂

11-868 第 14、15 講從 parameter server 講到 PyTorch DDP:先用 NCCL 的五個 collective(Broadcast、Reduce、AllReduce、ReduceScatter、AllGather)當積木,推出 ring 為什麼能讓廣播時間幾乎不隨 GPU 數增加,再把 AllReduce 拆成 ReduceScatter 加 AllGather。第二講拆 DDP 的兩個關鍵設計:把梯度分桶(預設 25 MB)、在反向傳播還沒結束時就開始同步。官方課表未列公開錄影連結,本文依投影片頁碼與 VLDB 2020 論文整理。

深度學習框架怎麼從計算圖自動算出梯度|CMU 11-868 第 5 堂

L05 用一個四層的情感分類網路當主線,先把計算表示成計算圖、用拓撲排序算出前向值,再用連鎖律與向量–Jacobian 乘積反向傳回梯度,最後拆解 TensorFlow v1 的 placeholder、variable、operation 與 session。投影片有一頁直接標著「important for HW2」。

FlashAttention:attention 慢在搬資料,不在算——Tri Dao 從 FA1 講到 FA4|CMU 11-868 第 21 堂

標準 attention 會把 N×N 的分數矩陣寫回 HBM 再讀出來,時間大多花在搬資料。FlashAttention 用 tiling 加 softmax rescaling,讓每一塊都在 SRAM 裡算完,backward 則重算而不存。Tri Dao 在 11-868 的客座講義裡給了一組數字:backward 的 FLOPs 多了 13%,HBM 讀寫少了 9 倍,時間快了 6 倍。之後 FA3、FA4 的主題也一樣:硬體變了,瓶頸跟著搬家,演算法就得跟著改。

GPU 程式模型與加速:thread、block、記憶體階層與 tiling|CMU 11-868 第 2–4 堂

CMU 11-868 的 GPU 三講回答一個問題:為什麼寫對的 CUDA matmul 在 A100 上只用到 2.48% 的 FP32 算力。L02 講 SM、warp 與 grid/block/thread,L03 講 cudaMalloc、cudaMemcpy 與 kernel 索引,L04 用 tiling、coalesced access 與避開 bank conflict,把資料從約 500 個 cycle 外的 global memory 搬近一點。