Skip to content
所有分類

ai

1264 篇文章

長上下文與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 搬近一點。

用 CUDA 寫 MiniTorch 的 map、zip、reduce 與 matmul|CMU 11-868 作業 1

11-868 第一份作業要你在 src/combine.cu 寫四個 CUDA kernel(map 15、zip 25、reduce 25、matmul 30 分),接回 MiniTorch 的 Python 後端,再用 5 分的整合測試收尾。reduce 與 matmul 的 shared-memory 優化標為 Optional。作業頁明寫需要 GPU,評分用的是不公開的私有測資。

在 MiniTorch 實作自動微分,訓練一個情感分類器|CMU 11-868 作業 2

11-868 第二份作業分三塊:自動微分的 topological_sort 與 backpropagate(40 分)、Linear 層與 MLP 網路(30 分)、binary cross entropy 與訓練迴圈(30 分),最後在 SST-2 上用 GloVe 詞向量訓練情感分類器,驗證準確率要到 75%。預設後端是你作業一寫的 CUDA kernel;repo 已在 2026-09-02 合併了 Fall 2026 的小修正。

用自己寫的 MiniTorch 做一個 GPT-2,拿去翻德文|CMU 11-868 作業 3

HW3 要你在 HW1、HW2 做出來的 MiniTorch 上補齊 softmax loss、Dropout、LayerNorm、Embedding,再組出 pre-LN 的 GPT-2 decoder,最後在 IWSLT14 德英翻譯上訓練。配分是 tensor functions 20、basic modules 20、decoder LM 40、翻譯管線 20;滿分條件是通過私有測試且 BLEU 約 20±2。作業頁警告光訓練就要至少 10 小時,PSC 的 V100 一個 epoch 約一小時,要跑 10 個 epoch。2026 春季版 2/4 發、2/18 截止。

把 Softmax 與 LayerNorm 寫成 CUDA 融合 kernel|CMU 11-868 作業 4

11-868 第四份作業要你照 LightSeq 的做法,親手寫 attention softmax 與 LayerNorm 的 CUDA kernel(前向、反向各一),接回自己的 MiniTorch,再換進 HW3 的 Transformer 訓練一個 epoch。配分是 Softmax 40、LayerNorm 40、整合 20。作業頁預期單一 kernel 快 3.7 到 15.8 倍,整個訓練卻只快約 1.1 倍,原因是 Amdahl 定律。需要一張 NVIDIA GPU;repo 在 2026 秋季已被改過。

在兩張 GPU 上自己寫資料平行與管線平行|CMU 11-868 作業 5

CMU 11-868 第五份作業改用 PyTorch 與 Hugging Face 的 GPT-2,要你只用 torch.distributed 和 torch.multiprocessing 寫出資料平行(切資料、建 process group、平均梯度,50 分),再寫出 GPipe 式的管線平行(切模型、產生時脈排程、用 worker thread 跑 micro-batch,50 分)。兩部分都要在至少兩張 GPU 上做 benchmark 並交圖:資料平行要在 2 張卡上達到至少 1.5 倍加速,管線平行要比單純模型平行快。2026 春季版 3/25 截止。