所有標籤RNN 做翻譯時,要把整句壓進一個向量,句子一長就記不住。Attention 讓解碼器每產生一個字,都回頭對輸入的每個位置打分數、取加權和;把打分數的一方叫 query、被比對的叫 key、被加權的叫 value,就是 dot-product attention。Transformer 再往前一步:讓輸入自己對自己做 attention,完全拿掉 recurrence,換來平行化與固定的路徑長度,代價是要另外補上位置資訊。
靜態詞向量給 apple 只有一個向量,不管它是水果還是公司。ADL Fall 2025 的 BERT 講從這個多義詞問題出發:TagLM 先用語言模型補上下文,ELMo 用深層雙向 LSTM 產生 contextual embedding,BERT 把 LSTM 換成 Transformer,並用 Masked LM 與 Next Sentence Prediction 兩個目標預訓練,下游只要在最上層加分類器或標註器微調。彈性補充的 BERT Variants 講義再往外走一圈:Transformer-XL 拉長 context、XLNet 用 permutation LM 兼顧 AR 與 AE、RoBERTa 靠更多資料與更好的訓練設定、SpanBERT 改成遮整段 span、mBERT 與 XLM 處理多語。這篇是下一篇 HW1 用 bert-base-chinese 做抽取式 QA 的直接前置。
資料很多不代表標註很多。ADL 最後一講問:沒有標註時,怎麼學到好的表示?答案是找出背後控制資料的潛在因子。Auto-encoder 把輸入壓成一段短碼再還原;denoising 版本先加雜訊或遮掉 15% 的 token,BERT 的 masked LM 就是這個想法。VAE 規定短碼要服從一個分布,於是能從分布抽樣來生成。Dual learning 讓翻譯與反向翻譯、理解與生成這類對稱任務互相當對方的回饋。自監督學習分兩派:自我預測(遮一部分猜回來)與對比學習(相似的拉近、不相似的推遠)。CLIP 用 4 億組圖文對做對比學習,讓影像分類可以 zero-shot;DALL·E 2 再把 CLIP 的表示拿來生成圖。Fall 2025 只有影片,投影片用 Fall 2024 版補位。
對話系統分成閒聊與任務型兩支。任務型系統傳統上拆成四個模組:語言理解(LU)把句子變成 domain/intent/slot,對話狀態追蹤(DST)累積使用者目標,對話策略決定下一步系統動作,NLG 把動作寫回句子。LLM 能自己把四步演完,卻沒辦法真的去訂位,所以要接外部工具:LaMDA 學會呼叫搜尋、計算機與翻譯器,BlenderBot 2.0 加上網路搜尋與長期記憶,WebGPT 用人類示範、reward model 與 PPO 學會操作瀏覽器,Toolformer 則讓模型自己產生並篩選工具使用的訓練資料。最後是對話怎麼評:自動指標、四種人工評估,以及 LLM-Eval。ADL Fall 2025 只有影片,投影片用 Fall 2024 版補位。
台大資工陳縕儂的《深度學習之應用》(ADL)Fall 2025 是一門以 NLP 為主軸的深度學習課:從神經網路基礎一路講到 Transformer、BERT、預訓練與 prompt、後訓練、LoRA、RAG、生成評估、對齊議題與 Language Agents。L0–L11 有講義 PDF 與分段影片,播放清單另外多出 L12–L14 三講影片;作業端只有 HW1 規格公開,HW2、HW3 與期末專題只有說明影片,所以存取分級是 A2。
ADL Fall 2025 第 10 講把預訓練模型的問題分成四組,每組配一個目標:bias 對 fairness、toxicity 對 safety、hallucination 對 factuality,最後是 alignment。講義的主張是偏見可能從 ML 管線任何一個環節進來,安全防護要在資料、輸入、訓練、輸出四層都做,幻覺可以拆成原子事實逐條查,而 reward model 被過度優化時,會出現囉嗦、過度道歉、過度拒答這些熟悉的症狀。同一週公布的期末專題叫 Jailbreaking Olympics,但公開的只有兩支說明影片的標題與一行說明。
ADL Fall 2025 的 HW1 給一個問題和四段中文文字,要模型先挑出相關的那一段(paragraph selection,當成四選一的 multiple choice),再在那段裡標出答案的起點和終點(span selection),用 Exact Match 評分。規格投影片直接指定改 HuggingFace 的 run_swag_no_trainer.py 與 run_qa_no_trainer.py,simple baseline 用 bert-base-chinese、長度 512、有效 batch size 2、learning rate 3e-5,在 8GB 的 RTX 3070 上兩段加起來不到三小時。Kaggle 排行榜 9/29 截止、程式與報告 10/1 交到 NTU COOL。校外讀者拿不到 Kaggle 資料與評分,但任務設計、baseline 設定和報告五題都能照著練。
ADL Fall 2025 第 11 講以 EMNLP 2024 的 Language Agents tutorial 為底,把 agent 定義成「感知環境並採取行動的實體」,再指出 language agent 的新東西:推理本身也是一種內部行動。講義用推理、記憶、規劃三個概念組織整講,推理這段講 CoT 與 ReAct,記憶這段講 Generative Agents 的 recency/importance/relevance 檢索,規劃這段從貪婪的反應式規劃講到 tree search 與 world model,最後用初始化、協作、團隊優化三步驟講多代理系統。
ADL Fall 2025 的第一份自學講義把機器學習講成「從資料裡找一個函數」,把深度學習講成「一條由很多簡單函數串起來、每一站都由機器自己學的生產線」。它用語音與影像說明 deep 和 shallow 的差別,用大數據與 GPU 解釋 2010 年後的突破,再用 universality theorem 追問為什麼要深而不是胖。最後一段最實用:學習任務由輸出領域決定,網路架構要配合輸入領域的性質。
ADL Fall 2025 的 NN Basics 與 Backpropagation 兩份講義,把「訓練一個模型」拆成三個問題:模型是什麼(一層層的神經元,每層是 z = Wa + b 再過非線性)、什麼叫好的函數(loss 越小越好)、怎麼挑出最好的(gradient descent,實務上用 mini-batch SGD)。上百萬個參數的梯度靠 backpropagation 有效率地算:forward pass 存下每層輸出,backward pass 從輸出層往回傳誤差訊號 δ,兩者相乘就是每個權重的梯度。
ADL Fall 2025 第 9 講回答兩個問題:模型每一步給出一個機率分布,要怎麼從裡面挑字?挑出來的句子又要怎麼評?講義先用 teacher forcing 與 exposure bias 說明訓練和生成的落差,再依序比較 greedy、beam search、sampling、top-k 與 nucleus sampling,把 temperature 與各種 penalty 歸類為「控制」而不是解碼演算法;評估一半講 BLEU、ROUGE、perplexity 與 LLM-Eval,另一半講為什麼要用 RL 直接優化整句的品質。
LLM 大到整個微調不划算時,ADL Fall 2025 的 LLM Adaptation 講義給出三種只改一小部分的做法:在 Transformer 裡插入小型 Adapter、用低秩矩陣表示權重更新的 LoRA,以及只學前綴或軟提示的 prompt tuning。講義的結論是沒有一種方法適合所有任務。HW2 的公開資訊只有一句題目「LLM Tuning and Prompt Tuning for Classical Chinese Translation」,資料、baseline 與評分都沒有文字版。
預訓練讓模型會接話,不代表它會照指令做事。ADL Fall 2025 的 Post-Training 講義分兩步補上:先用 instruction tuning(FLAN、T0)教模型讀懂任務描述,再用 RLHF 讓它朝人類偏好靠攏。講義用 instruction tuning 的三個限制把兩步接起來,用 reward model 與成對比較解決 RL 的兩個實務問題,最後以 InstructGPT 的 SFT → reward model → PPO 三步驟當總結,並說明 ChatGPT 把同一套流程搬到多輪對話。
ADL Fall 2025 第 6 講把預訓練模型分成三類:encoder(BERT 家族,雙向上下文)、decoder(GPT 系列,擅長生成)、encoder-decoder(BART、T5,用去噪目標預訓練)。接著點出預訓練模型時代的兩個實際難關:下游標註資料少,以及模型越來越大、每個任務各存一份放不下。講義的解法是 prompt learning:先用 GPT-3 的 in-context learning 說明「不更新參數也能做任務」,再從人寫的 hard prompt(prompt template+verbalizer、LM-BFF)走到直接優化向量的 soft prompt(P-Tuning、Prefix-Tuning、Prompt Tuning),最後用 Liu 等人的 prompting 分類法收尾。
LLM 記不住長尾知識、知識會過時,也碰不到私有文件。ADL Fall 2025 的 RAG 講義先用「問 LLM 陳縕儂是誰」的幻覺例子開場,再把 RAG 拆成索引、檢索、生成三段:sparse(TF-IDF、BM25)與 dense(DPR、Contriever)檢索、dense retriever 怎麼訓練、pre-/post-retrieval 的進階技巧與 pointwise/pairwise 重排序,最後用「檢索什麼、怎麼用、何時檢索」三個問題整理 RAG、RETRO、FLARE、Search-R1 等演進。HW3 的公開資訊只有題目「Retriever & Reranker Training for RAG」。
ADL Fall 2025 的 Reasoning 一講沒有公開投影片,只有播放清單上的五支影片:12.1 什麼是推理、12.2 Short CoT、12.3 Test-Time Scaling、12.4 Learning to Reason(模仿別人推理)、12.5 RL for Reasoning(探索自行演化出推理行為)。這篇只依影片標題排出這條路線,再搭配前一講 Language Agents 講義裡 CoT、ReAct 與「reasoning 擴大 action space」那幾頁;技術細節交給站內 CS224N、CME295 的 reasoning 篇。
ADL Fall 2025 第一堂正課的主線只有一條:語言模型就是預測下一個詞。從 one-hot 與共現矩陣出發,走過 n-gram 的零機率問題、neural LM 自動做到的平滑,再到把所有前文壓進 hidden state 的 RNN LM。BPTT 與梯度消失/爆炸是訓練上的代價,LSTM、GRU 用 gating 補救;最後用「輸入是序列」與「輸出是序列」兩類應用,把 tagging 與 encoder-decoder 分開。
ADL Fall 2025 課程頁排了 7 堂助教課:Dev Infra(PyTorch、Debugging)→ NLP 專案的一生 → NLP 專案的底層邏輯 → LLM LoRA Training → LLM Basics/Architecture/MoE → LLM Inference & Evaluation → LLM Deployment。10 支影片全部是林彥廷在 2023 與 2024 年錄的舊片,Fall 2025 沿用;課程頁上的 5 份講義連結都 404,同名檔在 Fall 2024 路徑可以打開,Deployment 只有影片。前三堂把 Hugging Face 的「資料→模型→Demo」流程走一遍,正好是 HW1 需要的工具;後四堂補 LLM 的訓練、推論與上線。
用整個詞當單位,沒看過的詞只能變成 UNK;用單一字元當單位,意思又很難組回來。ADL 這一講用 22 頁投影片說明主流的折衷:subword,以及最常用的切法 BPE。重點是一個 4 個詞、16 次出現的小語料,從字元開始,每次把最常相鄰的一對合併,9 次合併後得到 newest</w>、low</w> 這些單位,再拿來切沒看過的 lowest 與 powest。最後用 GPT-3 tokenizer 示範:同一句話的中文版比英文版多一倍 token。
技法第 7、8 講是 aggregation 模型的入口。T7 先把「組合多個假說」排成 uniform、linear、any(stacking)三種 blending,用一行代數證明 uniform blending 降低的是 variance,再用 bootstrap 在手上唯一一份資料裡造出多樣的 g_t,就是 bagging。T8 把 bootstrap 重新解讀成「替樣本加權」,改成專挑上一輪答錯的樣本加重,讓下一個假說被迫不同,再用 α_t = ln √((1−ε_t)/ε_t) 當投票權,這就是 AdaBoost。練習用 Fall 2024 HW6 Q4、Q9 與 HW7 的 bootstrap、AdaBoost 證明題和 madelon 上 500 輪的 AdaBoost-Stump 實驗;沒有官方解答。
林軒田的機器學習基石(16 講)與技法(16 講)是兩門中文 MOOC,130 支 YouTube 影片與 32 份投影片全部免費。只看 MOOC 是 A2:Coursera 自 2025 年 8 月起只讓免費帳號看第一單元,練習題被擋在付費牆後。補上 Fall 2024 課程頁公開的 HW0–HW7 與期末專題說明,就能到 A3,只差評分鏈:沒有官方解答,Gradescope 與 NTU COOL 限修課生,Kaggle 競賽頁回傳 404。Fall 2026 正在進行,是翻轉教室,第 4 週以前的投影片與 hw0、hw1 已公開。
技法第 9–11 講用「樹+aggregation」一條線串起三種模型。T9 把決策樹看成 conditional aggregation,講 C&RT 的二元分支、Gini 與迴歸誤差、剪枝、類別特徵與 surrogate branch。T10 把 bagging 套在完全長大的樹上,加上隨機子空間與隨機投影就是隨機森林,順帶得到免費的 OOB 驗證與 permutation 特徵重要度。T11 先把 AdaBoost 重新推導成對指數誤差做函數空間的最速下降,再把誤差換成平方誤差,得到「對殘差做迴歸」的 GBDT。練習用 Fall 2024 HW7 的 impurity、gradient boosting 證明題;沒有官方解答。
基石 Lecture 4 先證明學習「不可能」:只看資料 D,D 以外的答案怎麼猜都可能被說錯,這是 No Free Lunch。接著用抽彈珠換個問法:如果資料是從同一個分布獨立抽出來的,Hoeffding 不等式保證樣本錯誤率 E_in 很可能接近真實錯誤率 E_out。只驗證一個固定的 h 不算學習;演算法要從 M 個假說裡挑,就得用 union bound 付出 2M exp(−2ε²N) 的代價。結論:假說集合有限、E_in 又小,學習就可行。M 無限大怎麼辦,留給下一講。
技法 T16 把整門課重新分類成三類技巧:怎麼利用特徵(kernel、aggregation、extraction、低維壓縮)、怎麼最佳化(梯度、等價問題、拆成多步)、怎麼防過擬合(正則化、驗證),最後用四屆 KDD Cup 冠軍模型說明這些技巧在實務上怎麼組合。MOOC 錄於 2016 年,深度學習只講到 pre-training;Fall 2024 校內課用 302u(ReLU 家族、Xavier/He 初始化)、303u(momentum、RMSProp、Adam)、一場 2020 年的演講投影片 mlmai.ics 與 11 個模型的 1126 總整理補上。Fall 2026 同一批投影片排在 W16,目前還是 404。
Fall 2024 的基石作業共六份:HW0 是 20 題數學先修選擇題;HW1–HW5 每份 12 題加 1 題 bonus,Q1–4 自動批改、Q5–12 助教批改,程式題用 LIBSVM 網站上的 rcv1、cpusmall、mnist 資料,HW5 要用 LIBLINEAR。HW1、HW2 各有一題要你拿 ChatGPT 類工具的回答來反駁。Fall 2026 已公開 hw0 與 hw1:hw1 改成 16 題全選擇題、抽 4 題由助教細改,資料換成課程自己給的 hw1_train.dat;新 policy 允許用 AI 與 vibe coding,但 AI 產生的程式要逐段用自己的話寫註解。兩個學期都沒有公開官方解答。
技法第 5 講把 soft-margin SVM 改寫成無限制形式:½wᵀw 加上 C 乘以 hinge 誤差的總和,也就是一個 L2 正則化模型,C 越大正則化越弱。hinge 誤差和邏輯迴歸的 cross-entropy 都是 0/1 誤差的凸上界,所以 SVM 近似於 L2 正則化邏輯迴歸。要機率輸出,可以用 Platt 的兩層學習在 SVM 分數上再跑一次邏輯迴歸,或靠 representer theorem 直接做 kernel 邏輯迴歸。第 6 講用同一個定理得到 kernel ridge regression 的解析解 β = (λI + K)⁻¹y,但 β 是稠密的;改用 ε-insensitive 的管狀誤差,就得到係數稀疏的 SVR。Fall 2026 沒有排這兩講。
技法第 3 講把「特徵轉換+內積」合成一個 kernel 函數 K(x, x′),對偶 SVM 的訓練與預測都只要算 K,於是 d̃ 可以是無限大:Gaussian kernel 就對應一個無限維的轉換。第 4 講承認 SVM 仍會過擬合,引入違反量 ξₙ 與參數 C,得到 soft-margin SVM;它的對偶和 hard-margin 只差一件事:αₙ 多了上界 C。αₙ 的值把資料分成非支援向量、free SV 與 bounded SV 三類,而支援向量的比例 #SV/N 是 leave-one-out 誤差的上界,可以拿來快速排除危險的 (C, γ)。
基石前三講先把「機器學習」定義成一張流程圖:未知的目標函數 f 產生資料 D,演算法 A 從假說集合 H 挑出 g,希望 g ≈ f。接著用最簡單的 H(感知器)與 A(PLA)示範這張圖怎麼跑:資料線性可分時,PLA 的更新次數有 R²/ρ² 的上限;不可分時改用 pocket。第三講把學習問題依輸出、標籤、protocol、輸入四個軸分類,基石的主場是批次、監督式、具體特徵的二元分類或迴歸。練習用 Fall 2024 HW1 與 Fall 2026 hw1。
基石 L11 把 PLA、線性迴歸、邏輯迴歸放在同一個分數 s = wᵀx 上比較:三者只差在誤差函數,而 scaled cross-entropy 是 0/1 誤差的上界,所以兩種迴歸都能拿來做分類。接著用「隨機挑一筆算梯度」把邏輯迴歸變成 SGD,並用 OVA、OVO 把二元分類器組成多類別分類器。L12 用特徵轉換 Φ 把圓形邊界變成 Z 空間裡的直線,代價是計算量與 d_vc 都跟著維度變大,所以結論是「先試線性模型」。練習題在 Fall 2024 HW4。
技法第 1 講把「哪條分隔線最好」寫成最佳化問題:在 min yₙ(wᵀxₙ+b)=1 的縮放下,最大 margin 等於最小化 ½wᵀw,這是一個標準 QP。第 2 講用拉格朗日對偶把 d̃+1 個變數的 QP 換成 N 個變數、N+1 個限制的 QP,再用 KKT 條件從 α 解回 (b, w):只有 αₙ>0 的點,也就是支援向量,會影響答案。對偶問題還留著 zₙᵀzₘ 這個內積,所以要等下一講的 kernel 才算真正擺脫維度。
線性迴歸把平方誤差寫成 (1/N)‖Xw − y‖²,梯度設為零就得到 w_LIN = X†y,一步算完。hat matrix H = XX† 把 y 投影到 X 的欄空間,由此推出平均而言 E_out − E_in ≈ 2(d+1)/N。邏輯迴歸用 θ(wᵀx) 估計 P(+1|x),由最大概似推出 cross-entropy 誤差 ln(1 + exp(−y wᵀx));它沒有閉式解,只能沿著 −∇E_in 一步步往下走,這就是梯度下降。
技法第 12、13 講開啟第三段「萃取隱藏特徵」。T12 從「perceptron 的線性組合」出發:兩層就能做 AND、OR,但做不出 XOR,多疊一層才行,這就是多層感知器;接著用 tanh 取代 sign、推導 backprop,再講非凸最佳化、d_vc = O(VD)、weight elimination 與 early stopping。T13 談 deep NN 的挑戰,把 autoencoder 當成「保留資訊的編碼」做逐層預訓練,把 denoising 當成正則化,最後證明線性 autoencoder 的最佳解就是 XᵀX 的前幾個特徵向量,也就是 PCA。這兩講錄於 2016 年,現代 DL 的補充在 Fall 2024 的 302u/303u。練習:Fall 2024 HW7 Q4、Q9 與 bonus Q13。
基石 L13 把過擬合定義成「E_in 更低、E_out 卻更高」,並用實驗找出四個成因:資料太少、隨機雜訊、目標函數太複雜(deterministic noise),以及模型太強。L14 的對策是正則化:把「退回 H₂」改寫成 ‖w‖² ≤ C 的限制,再用拉格朗日乘數變成最小化 E_in + (λ/N)wᵀw,這就是 weight decay。接回 VC 理論時,正則化讓有效 VC 維度 d_EFF 變小;L1 則換來稀疏解。練習題在 Fall 2024 HW4 Q8–9 與 HW5 Q1、Q5–6、Q10。
技法 T14 把 Gaussian SVM 重新看成「以距離為相似度的線性投票」,由此得到 RBF 網路;中心點太多會過擬合,於是用 k-means 找少量代表點,k-means 本身是交替最佳化。T15 從 Netflix 評分資料出發,把使用者 ID 做 one-hot 編碼、丟進去掉 tanh 的線性網路,得到矩陣分解 R ≈ VᵀW,用交替最小平方或 SGD 來學,最後把 boosting、NN、RBF 網路、矩陣分解、k-NN 收成一張萃取模型地圖。這兩講只有 MOOC 教材:Fall 2024 與 Fall 2026 的課程計畫都沒排,也沒有公開作業題。
Fall 2024 技法段有兩份作業和一個期末專題,題目 PDF 都公開。HW6 練 kernel、soft-margin SVM 與 aggregation,程式題用 LIBSVM 在 mnist.scale 的 3 對 7 子問題上數支援向量、算 margin、跑 128 次 validation。HW7 練 bootstrap、impurity、AdaBoost、gradient boosting 與神經網路,程式題是在 madelon 上實作 500 輪 AdaBoost-Stump。期末專題是虛構的 HTMLB 棒球勝負預測,分兩個 Kaggle stage,交一份最多 7 頁的英文報告,至少比較四種方法。沒有官方解答;Kaggle 競賽頁在 2026-09-30 未登入時回 404,校外讀者大概拿不到 HTMLB 資料,只能照同樣的切分方式換一份公開資料自評。
L4 的 Hoeffding 保證裡有一個 M(假說個數),感知器有無限多條線,M 直接爆掉。L5 的解法是不數假說、改數它們在 N 筆資料上能切出幾種 ○× 組合(dichotomy),取最大值就是成長函數 m_H(N)。二維感知器在 4 個點上最多只切得出 14 種,不到 2⁴=16,4 就是它的 break point。L6(官方標 optional)證明:只要有 break point,m_H(N) 就被一個多項式壓住,VC bound 因此成立。
基石 L15 處理模型選擇:用 E_in 選會過擬合,用 E_test 選是作弊,折衷是從訓練資料切出驗證集,用 E_val 選完再拿全部資料重訓。驗證集大小 K 兩難,經驗值是 K = N/5;LOOCV 幾乎無偏但太貴又不穩,實務上用 5-fold 或 10-fold。L16 用 Occam's razor、sampling bias、data snooping 三個原則收尾,並用「Power of Three」把整門課收成三個領域、三個 bound、三個線性模型、三個工具。練習題在 Fall 2024 HW5。
L7 把「最大的非 break point」命名為 VC 維度 d_VC,證明 d 維感知器的 d_VC = d + 1,再把 VC bound 改寫成「E_out ≤ E_in + 模型複雜度懲罰」:d_VC 太大或太小都不好。理論上要 N ≈ 10,000·d_VC 筆資料,實務上 10·d_VC 常常就夠。L8 把固定的目標函數換成機率分布 P(y|x),說明 VC 理論在有雜訊時仍成立;誤差衡量要依應用而定,例如 CIA 指紋辨識把誤放入侵者罰 1000 倍,可以用「複製樣本」的方式化約成一般分類。
agent_era.pdf 的後半問了三個問題:多個 agent 怎麼協作比較有效(MacNet:不規則的拓撲勝過規則的)、agent 能不能爾虞我詐(狼人殺、劇本殺,以及從社交互動學推理的 MARO)、agent 能不能社交(Moltbook 與「甲殼教」,但三篇研究都發現熱鬧背後多半是人在推、對話很淺)。最後以學術研究為例,AI 已經能從頭複製並延伸一篇論文、進入 AAAI 2026 的審查流程,Agents4Science 2025 收到 247 篇 AI 主筆論文。李宏毅的結論是:在 agent 萌芽的時代,「想做」什麼比「會做」什麼更重要。
語言模型的輸入長度有限,agent 卻會一直累積工具輸出。李宏毅在 ML 2026 第二週把 Context Engineering 拆成三件事:壓縮(摘要、硬清除、卸載到檔案,以及 ACON、SUPO、AgentFold 這類讓壓縮變聰明的方法)、過濾(只讀需要的行、MCP-Zero 式的按需載入工具),最後是 Agentic Context Engineering:讓 LLM 自己決定下一輪的 context,從 Dynamic Cheatsheet、ACE 一路到 Recursive Language Models。投影片把 subagent 看成一種自主壓縮,這是整講最值得帶走的一個視角。
李宏毅 2026 春季的《機器學習》從 OpenClaw 講起,前半學期拆 AI Agent、Context Engineering、推論加速與位置編碼,後半學期講 Harness Engineering、Self-Correction 與 AI 自我成長。8 講投影片、錄影、10 份作業 PDF 與 Colab 全部公開,存取分級是 A3;缺的是評分鏈:JudgeBoi 在 2026-09-30 回傳 502,NTU COOL 限校內,三場演講沒有任何材料。
李宏毅在 ML 2026 第三週講推論加速,前半堂只講一招:Flash Attention。GPU 的運算單元很快,但工作台(on-chip SRAM)很小,資料得從倉庫(HBM)搬上搬下,搬運才是瓶頸。一般的 softmax 要來回倉庫好幾次;Flash Attention 用「先假設目前最大值就是 Amax,之後再乘一個修正項」的技巧,把找最大值、算分母、做 weighted sum 合進同一次掃描,連 attention weight 都不必真的算出來。結果和原本的 attention 一模一樣,不需要重訓,代價只是一點額外運算和一點燒腦。
HW10 是 12 題選擇題,只在 NTU COOL 作答。Section 1 比較語音語言模型的三種架構:Cascade(ASR → LLM → TTS,中間是文字)、End-to-End(直接在離散語音 token 上做 LM)、Thinker-Talker(LLM 負責想,另一個 decoder 負責說),Colab 讓兩個模型聽三段錄音判斷說話者性別,要你看出哪個是 cascade。Section 2 拆 Mimi:把情緒語料切成 32 層 RVQ token,取第 0、6、16、31 層畫 UMAP;再把語音、笑聲、音樂 encode 再 decode 聽看看壞在哪。剩下的題目讀 TWIST、AudioLM、LLaMA-Omni 2、Moshi、GLM-4-Voice,考 initialization、pretrain、interleaving 與 realtime/full-duplex。Colab 要先申請 Llama-3.2-3B-Instruct 授權並填 HF token。題目與 Colab 全公開,校外拿不到的是 COOL 評分與解答。
HW2 不讓你直接寫分類器,而是寫 prompt 與流程,讓一個跑在 Colab T4 上的開源 LLM(預設 gemma-3-12b-it 的 4-bit GGUF)自己規劃、寫 code、執行、除錯,做出 10 類 MyGO & Ave Mujica 角色臉部辨識。起始碼改自 AIDE:Interpreter 執行程式、Node 記錄每一版、Journal 組成解答樹、Agent 決定下一步要 draft、debug 還是 improve。最值得先發現的一件事:起始碼的評估函式是空的,每一版都被標成 metric 1.0、不是 bug,所以樹搜尋在你補上評估之前其實是瞎選。規定寫得很重:「LLM agent 是你的代理人」,不准手改程式與預測檔。
HW3 是 20 題選擇題(每題 0.5 分),不交程式,只在 NTU COOL 上作答。前 10 題讀論文:四篇 speculative decoding(Leviathan、DeepMind 的 Speculative Sampling、Inference with Reference、SpecInfer)加上 FlashAttention 1–3;後 10 題照 Colab 填 TODO 後分析結果:手寫 speculative decoding 的接受率、兩種 prompt regime 下 assistant 模型與 n-gram 的加速曲線、用 T4 規格估 FlashAttention 的 HBM 讀取量與理論加速、vLLM 的 prefix caching 多輪測試與失效實驗,以及 CPU offload 對 throughput 的影響。題目中英雙語全部印在作業 PDF 裡,校外可以完整自學,只是拿不到官方解答。
HW7 給你兩個從 Mistral-7B-v0.1 微調出來的模型:擅長日文的 shisa-gamma-7b-v1 與擅長數學的 WizardMath-7B-V1.1,要你只做參數層級的合併(不准再訓練、不准 MoE 或 ensemble),讓合併後的模型答對助教自出的 20 題日文數學題。Part 1(60%)用 mergekit 調方法、weights 與 density,simple/strong baseline 是正確率 50% 與 75%;Part 2(40%)是 8 題論文選擇題。題目、Colab 與 Kaggle 都公開,但 JudgeBoi 在 2026-09-30 回傳 502、論文題在 NTU COOL 上,校外只能在 notebook 裡自己看正確率。
HW8 不用寫程式也不用交程式:助教給一份已經寫好的 Colab,用 Llama-3.2-1B-Instruct 在 GSM8K 前 100 題上比較直接推論、Self-Consistency、Self-Certainty 與 DeepConf(Confidence),每種方法各 sample 16 條推理。你讀三篇論文、跑完 notebook,到 NTU COOL 答 20 題:18 題論文題、2 題看 Colab 結果。先備是李宏毅 2025 年第七講 Reasoning。題目中英兩版都印在 hw8.pdf,Colab 可公開下載;只有 COOL 測驗與成績需要台大帳號。
HW9 共 19 題、10 分,只在 NTU COOL 作答、不交程式。前 16 題讀四篇論文:DDPM、Flow Matching、Rectified Flow、MeanFlow,最後幾題要你橫向比較訓練訊號與少步生成;後 3 題要跑 Colab:在 2D Swiss roll 上訓練兩個小 MLP,一個是學瞬時速度的 Flow Matching(固定用 Euler 50 步評估,Histogram JS ≤ 0.10 才算收斂),一個是學平均速度的 MeanFlow(固定 1 步生成,≤ 0.40),再比較 1 步對 1 步、Euler 不同步數、Euler 與 RK4 在相同步數與相近算力下的差別。作業 PDF 附了一份省略大部分數學的生成模型教學,題目中英雙語全部公開;校外拿不到的只有 COOL 上的評分與解答。
KV Cache 把已經算過的 key 和 value 存起來,decode 時就不必重算,但它每個 token 都要佔一份記憶體:以 Gemma 2 27B 為例,一個 token 約 0.72MB,A100 80GB 只夠放約 11.4 萬個 token。李宏毅接著整理了一串瘦身法:讓多個 query 共用 key/value(MQA、GQA)、把 key/value 壓成一個向量又不必解壓(MLA)、只看一段範圍(Sliding Window、StreamingLLM)、把沒人理的 key/value 丟掉(Scissorhands、H2O),最後講跨對話的 prompt caching:只有前綴完全相同才會命中,所以 system prompt 要把穩定的內容放前面。
李宏毅 5/8 這堂先說清楚:「AI 自我成長」沒有明確定義,它是人類漸漸放手的過程。他把機器學習拆成三步,逐一檢查「我」能不能換成 AI:答案可以由 AI 自我修正後當標準答案,reward shaping 可以交給 LLM 寫,loss 可以讓模型自己訂(打分、多數決、entropy),連題目都能讓 proposer 自己出。但實驗一再顯示,完全不靠人會卡在天花板甚至把自己訓練壞;強 AI 訓練比自己弱的 AI 已經做得到,只是還沒超過人類。結論:2026 年 5 月,AI「還在盧比孔河邊」。
上集講的是 AI 自己訂 loss、自己更新參數;下集把另一半補上:AI Agent = Harness + LLM,harness 也能自己長。harness 沒辦法算 gradient,所以常見做法是拿一個語言模型當改寫器,再用類似基因演算法的 pool 保留多個候選(OPRO、GEPA、Darwin Gödel Machine,現成工具是 DSPy)。接著談三個延伸:harness 與參數一起更新效果更好;目標會變時要在「全部丟掉」和「全部背著」之間取捨,而且改 harness 也會遺忘;更新規則本身也能被更新(HyperAgent、Gödel Agent、SEAL),這就是 meta learning。最後李宏毅換了一個類比:參數是基因、context 才是神經元,然後指出現在的 agent 缺的是內在動機,而最可能讓成長失控的,是人給的目標和 AI 自己解讀出來的目標不一致。
台大的 AI/ML 課散在電機系與資工系,官方用「機器學習與人工智慧」領域專長把它們排成四層。校外最完整的是李宏毅:ML 2026 Spring 與生成式 AI 與機器學習導論 2025 Fall 都公開投影片、錄影、作業 PDF 與 Colab,只差評分平台。林軒田的錄影齊全,Fall 2024 的 HW0–HW7 題目也留在課程頁;陳縕儂的課錄影齊全,作業大多只公開說明影片;Coursera 自 2025 年 8 月起改為只能免費看第一單元。