Skip to content
所有標籤

#nlp

79 篇文章

ML 基礎與 Transformer 底層概念:從偏差變異、AdamW 到 attention、RoPE 與 MoE

面試追問通常落在機制:為什麼要除以 √d_k、AdamW 和 Adam+L2 差在哪、AUC 很高為什麼還不能上線。本文逐題講概念、機制與答法,最後附 3 題可執行的 numpy 手寫題。

清大 NLP 導讀 8:ELMo、BERT、T5、BART、GPT——預訓練的三條路|清大高宏宇 自然語言處理 主題單元

清大高宏宇 NLP(Fall 2025)BERT and its Family 單元導讀。起點是「I record the record」:Word2Vec 和 GloVe 給兩個 record 同一個向量。ELMo 用雙向 LSTM 語言模型解決這件事。換成 Transformer 之後,預訓練分成三條路:encoder(BERT:MLM+NSP,擅長理解、不擅長生成)、encoder-decoder(T5 的 span corruption、BART 的五種雜訊)、decoder(GPT:純粹預測下一個字)。最後一段是 GPT-3 的 in-context learning 和 scaling laws,也說明 decoder 為什麼成了現在最主流的骨幹。

清大 NLP 導讀 10:同一個模型為什麼會講得呆板或胡言亂語——解碼策略與 NLG 評估|清大高宏宇 自然語言處理 主題單元

清大高宏宇 NLP(Fall 2025)解碼與評估單元導讀。前半講模型每一步吐出機率分布之後怎麼選字:greedy 一步錯就回不去,beam search 同時保留幾條候選但偏好短句,top-k/top-p 用抽樣換多樣性(投影片沒寫,教授在課堂口頭補)。後半講怎麼替生成的文字打分:BLEU 的 modified precision 與 brevity penalty、ROUGE-N 與 ROUGE-L、perplexity,以及 GLUE、SQuAD 2.0、MTEB、MMLU 這些 benchmark 各自在量什麼。

清大 NLP 導讀 11:GPT-2 和 T5 拿來做中文摘要,實作上差在哪——left padding、−100 與 ROUGE|清大高宏宇 自然語言處理 主題單元

清大高宏宇 NLP(Fall 2025)GPT-2/T5 助教課導讀。同一個任務(LCSTS 中文摘要)用兩種架構各做一次:decoder-only 的 GPT-2 用原生 PyTorch,要自己把文章和摘要接成一條序列、改用 left padding、把 padding 的標籤設成 −100;encoder-decoder 的 mT5 用 Seq2SeqTrainer,不需要 left padding,DataCollatorForSeq2Seq 會自動處理 −100。兩邊都用 jieba 斷詞後算詞級 ROUGE。

清大高宏宇 NLP 導讀:GPT-3、InstructGPT 與 RLHF——會接話的模型怎麼變成聽話的助理|清大高宏宇 自然語言處理 主題單元

高宏宇 Fall 2025 的 W8 投影片從 GPT-1 一路講到 GPT-3,順帶解釋 GPT-3 用的 Sparse Transformer 怎麼省掉注意力的計算,再用 InstructGPT 說明「會接話」和「聽得懂指令」之間差了什麼:最大概似目標分不出編造事實和挑錯同義詞哪個嚴重,所以要多三步——SFT 學人類怎麼寫、reward model 學人類怎麼評分、PPO 依評分調整並用 KL penalty 綁住不要跑太遠。最後以 Llama-2 收尾:分開訓練 safety 和 helpfulness 兩個 reward model、context distillation,以及推論加速用的 GQA。

清大 NLP 導讀 9:一個 BERT 同時打分數又判蘊含——Hugging Face 助教課與 HW3 多輸出學習|清大高宏宇 自然語言處理 主題單元

清大高宏宇 NLP(Fall 2025)Hugging Face BERT 助教課與 HW3 導讀。助教課用 IMDb 影評二元分類走一遍 AutoTokenizer、input_ids/token_type_ids/attention_mask、AutoModelForSequenceClassification 與 Trainer。HW3 把工具拿去做 SemEval 2014 Task 1:同一個 bert-base-uncased 接兩個頭,一個回歸 1–5 分的 relatedness,一個做三類 entailment 分類,兩個 loss 加總後自己寫訓練迴圈,不准用 Trainer。

用 Google Analogy 考詞向量——預訓練 GloVe 對上自己用 20% Wikipedia 訓練的 Word2Vec|清大高宏宇 自然語言處理 作業 1

HW1 拿 Google Analogy 的 19,544 題(8,869 題語意、10,675 題語法)考詞向量:先用 Gensim 載入預訓練的 glove-wiki-gigaword-100 作答,再從助教清理好的 Wikipedia 抽 20% 文章自己訓練 Word2Vec,兩邊都畫 family 子類的 t-SNE。七個 TODO 共 55%,報告 45%;Fall 2026 的 TODO 和 2025 相同,只是改成繳交含執行結果的 .ipynb。

清大高宏宇 NLP 第一週:語言為什麼難,以及 LLM 以前怎麼把文字變成數字|清大高宏宇 自然語言處理 第 1 週

清大高宏宇 NLP 課第一週的 W1_NLP_brief 共 91 頁:先用「Watch for kids」、望遠鏡句的五種讀法、大舅到十一舅的繞口令說明語言為什麼難,再從資訊檢索的角度,把倒排索引、tokenization、stemming、TF-IDF、BM25 講成一條管線。後半段處理這條管線的死穴(同義詞、一詞多義、詞彙對不上),走到 LSA 的 SVD 降維,最後用 Skip-gram、GloVe、FastText 預告稠密詞向量。

自然語言處理:從文字表示到語言模型的學習路線|清大高宏宇 自然語言處理 課程總覽

清大高宏宇《自然語言處理》用一學期走完一條線:先把文字變成數字(TF-IDF、詞向量)、再處理序列(RNN、attention、Transformer、sub-word)、接著是預訓練模型(BERT、T5、GPT 與解碼評估)、讓模型聽指令與省參數微調(RLHF、PEFT),最後外接知識(RAG)與推理。Fall 2025 的投影片、32 支錄影、4 份作業與 starter notebook 都在 GitHub 公開,中文授課;作業沒有公開解答。

用 Gemini、OpenAI、Claude 跑 NLI 分類——prompts.yaml、JSON 輸出、few-shot 與 token 計數|清大高宏宇 自然語言處理 助教課

這堂 34 頁的助教課回答一個很實際的問題:拿 ChatGPT 網頁版一筆一筆貼資料太慢,還會碰到每小時次數上限,所以做研究和作業要改用 API。notebook 用同一個 SemEval 2014 蘊含判斷例子,依序示範 Gemini、Claude、OpenAI 三家:把 prompt 放進 prompts.yaml、要求 JSON 輸出、few-shot、計算 token。要注意教材是 2024 年版:投影片封面寫 2024/11/21,notebook 用的是 gemini-1.5-pro、gpt-4o、claude-3-5-sonnet-20241022,其中 Claude 那個型號在 2025-10-28 已經退役,Gemini 的舊 SDK 也在 2025-11-30 結束支援。

清大高宏宇 NLP 導讀:Parameter-Efficient Fine-Tuning——沒有 A100 叢集,怎麼微調大模型|清大高宏宇 自然語言處理 主題單元

高宏宇 Fall 2025 的 PEFT 投影片先算一筆帳:Llama 2-7B 用 16-bit 全參數微調約要 56GB 顯示卡記憶體,只訓練 0.2M 個參數就降到約 17GB,因為梯度和優化器狀態幾乎歸零。接著用 intrinsic dimensionality 解釋為什麼只調一小撮參數就夠:預訓練越久、模型越大,微調需要的有效維度越低。方法分成加參數(Adapters、Prompt Tuning)、挑參數(BitFit)、重參數化(LoRA)與混合(MAM Adapters、S4)四類;後半段從 GPT-2 的任務描述、verbalizer 一路講到 prefix tuning 和 soft prompt tuning 的取捨。

把算式當成一種語言——PyTorch 助教課、兩層 LSTM 與 teacher forcing|清大高宏宇 自然語言處理 作業 2

HW2 把「14*(43+20)=882」這種算式當成字元序列,要你用兩層 LSTM 看到「=」之後逐字生成答案。訓練集 2,369,250 筆、驗證集 263,250 筆,數字都在 0–49 之間;六個 TODO 從建字典、只在「=」之後算 loss 的 batching、生成函式,一路到 teacher forcing 訓練與 exact match 評估。W4 的 PyTorch 助教課就是這份作業的工具箱。

用 LangChain 和手刻兩種方式,做一個回答貓咪冷知識的 RAG|清大高宏宇 自然語言處理 作業 4/助教課

兩堂 RAG 助教課各做一個版本:第一堂在 Colab 裝 Ollama 跑 llama3.2:1b,用 LangChain 的 Chroma、MMR 和 retrieval chain 串出最小的 RAG;第二堂只在資料準備用 LangChain,其餘自己寫:切塊、存文字與向量資料庫、BM25 加 cosine 的混合檢索、用 RRF 合併排名,再拿 Llama-3.2-1B-Instruct 生成答案。HW4 把第一堂的骨架套到 150 則貓咪冷知識和 150 組 GPT-5 生成的問答上,生成器限定 Llama3.2-1b、embedding 限定 jina-embeddings-v2-base-en,要回報 recall@1、recall@5 與 exact match。程式占 45%,報告占 55%,報告要分析 prompt、資料格式、文件順序與反事實資訊的影響。

清大 NLP RAG(下):檢索器接上生成器之後——從 ORQA、REALM 到 Self-RAG|清大高宏宇 自然語言處理 主題單元

W11_RAG.pdf 的後半從「From Retrievers to QA」那一頁開始,把檢索器和讀者(reader)接成完整的問答系統。先看 2019–2020 年用 BERT 當讀者的 ORQA 與 REALM,再看第一篇叫 RAG 的論文和凍結 LLM 的 REPLUG;接著用一張表整理七個近年修法:改寫查詢(Query Rewriting、HyDE)、讓生成器不怕雜訊(RetRobust、RAFT、RAAT)、決定何時檢索(FLARE、Self-RAG)。最後談雜訊的類型、LLM 在 RAG 裡該有的四種能力,以及生成式檢索(GR)與可靠回應生成(RRG)。錄影方面,W11 週四那支講到 RAG 論文為止,後面的頁數本文找不到對應的錄影片段。

清大高宏宇 NLP 導讀:RAG(上)——幻覺與檢索器,從 BM25 到 DPR、GTR|清大高宏宇 自然語言處理 主題單元

LLM 會一本正經地回答「歐本海默生於 1967 年」(那其實是他過世的年份),RAG 的做法是先檢索、再生成。高宏宇 Fall 2025 的 RAG 投影片前 60 頁都在講「怎麼找對資料」:稀疏向量(詞袋、TF-IDF、BM25)便宜可靠,稠密向量抓得到同義改寫;BERT 的 [CLS] 不適合直接當句向量,所以有 Sentence-BERT 的 pooling 和 bi-encoder;cross-encoder 準但一萬句要跑近五千萬次,bi-encoder 只要兩萬次;SimCSE 拿 dropout 當資料增強,DPR 只用一千筆訓練資料就贏過 BM25,GTR 則證明把 dual encoder 放大能改善跨領域檢索。

清大 NLP W3:翻譯的輸入輸出不一樣長怎麼辦——Seq2seq、LSTM 與 Attention|清大高宏宇 自然語言處理 主題單元

「Look over there」是 3 個 token,中文「請看那邊」是 4 個,日文是 12 個——輸出長度跟輸入對不上,分類器那套「最後接一層 FFN」就不能用。這份 33 頁的投影片從 encoder-decoder 講起,推到 RNN 的梯度消失、LSTM 的三個閘門,最後用 attention 同時解決長距離與平行化兩個問題,並解釋為什麼要除以 √d。

清大 NLP 導讀 7:Sub-word Tokenization——為什麼模型的詞彙表是「半個字」|清大高宏宇 自然語言處理 主題單元

清大高宏宇 NLP(Fall 2025)Sub-word Tokenization 單元導讀。用空白切詞只適用於西方語言,也處理不了沒看過的詞和德文那種複合字。BPE 從字元出發,反覆把最常一起出現的一對合併進詞彙表,合併幾次就多幾個詞;缺點是貪婪切法不一定最好。Unigram LM 改用機率挑切法,還能抽樣出不同切法。投影片給的詞彙量是 BERT 30522、GPT-2/GPT-3 50257、T5 32,128。

清大 NLP 課程總結與 LLM Reasoning 筆記:一張三欄地圖收掉整學期,再用 Denny Zhou 的演講問「預訓練模型會不會推理」|清大高宏宇 自然語言處理 主題單元

Fall 2025 第 14 週,高宏宇用兩份投影片收尾:Course_summary 把整學期分成 NLP Fundamentals、NLP Models、NLP Advances 三欄,外加助教課兩欄與五個延伸方向;另一份是他整理的 Denny Zhou(Google DeepMind)2025 年 4 月 Stanford 演講筆記,主張「預訓練模型本來就能推理,關鍵在解碼」,並用 CoT decoding、self-consistency、retrieval + reasoning 串成四條不等式。Fall 2026 的 W16「Reasoning / Agent」單元尚未公開。

清大 NLP 期末專題與 Fall 2026 改版:30% 分組專題換成 W14 實體期中考,外加 Reasoning/Agentic AI、AI-TA 與 TAICA 算力|清大高宏宇 自然語言處理 主題單元

Fall 2025 的評分是作業 70%+期末專題 30%,專題 3–4 人一組,分成 Proposal 6%、Progress 6%、Poster 6%、Report 12%,不提供 GPU;repo 沒有專題規格文件,只有 Syllabus 的結構、期末提醒與 W15–W16 的錄影。Fall 2026 改成作業 75%(4 份)+W14 實體期中考 25%,課表拿掉報告週,新增 Reasoning/Agent 單元,並加入 AI-TA 協助批改與 TAICA 算力補助。改版原因,官方材料沒有寫。

清大 NLP 導讀 6:拿掉 RNN 之後,Transformer 怎麼知道字跟字的關係和位置|清大高宏宇 自然語言處理 主題單元

清大高宏宇 NLP(Fall 2025)Transformer 單元導讀。投影片從 RNN 的兩個毛病出發:字跟字的互動要隔著 O(N) 步傳遞,時間步之間又不能平行。Self-attention 讓每個字直接看所有字,用矩陣乘法一次算完,兩個毛病同時解掉;代價是模型分不出詞序,所以要補正弦位置編碼。之後依序組出 multi-head attention、Add & Norm、feed forward、cross-attention、masked attention 與 teacher forcing,最後用 GPT-2、ViT 與四種變體說明這個架構後來走多遠。

清大高宏宇 NLP 第二週:詞向量與語言模型,從數 n-gram 到 RNN|清大高宏宇 自然語言處理 第 2 週

清大高宏宇 NLP 課第二週的投影片共 62 頁,主題是「預測下一個字」。前半用 bigram 計數表、add-one smoothing 和 perplexity 講統計語言模型,再用 PPMI 的 cherry/digital 例子講稀疏向量;中段回到 Word2Vec 的負採樣,並用「蘋果」一詞說明為什麼需要 contextualized embedding;後半從 FFN 的三個缺點引出 RNN,示範它怎麼做 NER、句子分類,以及 stacked 與雙向版本。

Attention 與 Transformer|台大陳縕儂 深度學習之應用 第 4 堂

RNN 做翻譯時,要把整句壓進一個向量,句子一長就記不住。Attention 讓解碼器每產生一個字,都回頭對輸入的每個位置打分數、取加權和;把打分數的一方叫 query、被比對的叫 key、被加權的叫 value,就是 dot-product attention。Transformer 再往前一步:讓輸入自己對自己做 attention,完全拿掉 recurrence,換來平行化與固定的路徑長度,代價是要另外補上位置資訊。

Tokenization 與 BERT:詞怎麼切、怎麼得到看上下文的表示|台大陳縕儂 深度學習之應用 第 5 堂

這一堂有兩半。前半講 tokenization:用整個詞當單位,沒看過的詞只能變成 UNK;用字元當單位,意思又組不回來。折衷是 subword,常用的切法是 BPE:從字元開始,反覆把最常相鄰的一對合併。後半講 BERT:靜態詞向量給 apple 只有一個向量,分不出水果和公司。ELMo 用語言模型產生看上下文的表示,BERT 把 LSTM 換成 Transformer,用遮住 15% token 再填回來的 masked LM 與 next sentence prediction 預訓練,再把整個模型微調到下游任務。

對話系統與工具使用:從四個模組到會查資料、會反問的 LLM|台大陳縕儂 深度學習之應用 第 13 堂

要幫使用者完成一件事的對話系統,傳統上拆成四個模組:理解這句話、追蹤到目前為止的狀態、決定下一步動作、把動作寫成句子。語言模型可以一口氣把四步演完,但沒有接外部工具時,它說「我幫你查」其實什麼都沒查。所以這一堂的前半是幾個讓模型用工具的代表作:LaMDA 先寫草稿再查證修改,BlenderBot 加上搜尋與長期記憶,WebGPT 從人的操作紀錄學搜尋,Toolformer 讓模型自己產生並篩選訓練資料。後半從單次回覆走向多輪:模型可以開口問使用者、學專家的策略、猜對方在想什麼,最後談對話怎麼評。

深度學習之應用:概念、作業與實作的學習路線|台大陳縕儂 深度學習之應用 課程總覽

台大陳縕儂《深度學習之應用》(ADL)是以 NLP 為主軸的深度學習課,14 堂分四段:神經網路與反向傳播、序列與 Transformer(詞向量、RNN、attention、BERT)、讓預訓練模型做事(prompt、instruction tuning、RLHF、LoRA、RAG、解碼與評估),以及 LLM 的議題與前沿(偏見與安全、Language Agents、推理、工具使用、多模態)。Fall 2025 的講義與分段影片公開;作業只有 HW1 有完整規格,HW2、HW3 與期末專題只有說明影片。

什麼是機器學習與深度學習|台大陳縕儂 深度學習之應用 第 1 堂

ADL 的第一堂沒有數學推導,只建立兩個觀念。第一,機器學習是給機器很多組輸入與輸出,讓它自己找出把輸入變成輸出的函數;深度學習是把很多簡單函數串成一條生產線,只給兩端的資料,中間每一站做什麼都由機器學。第二,要用深度學習解問題,先寫下輸入 X 與輸出 Y:輸出的形式決定任務是分類還是序列預測,輸入的性質決定該選哪種網路。中間還回答兩個問題:為什麼 2010 年後才突破(資料與 GPU),以及為什麼要深不要胖。

NLG 的解碼、生成控制與評估|台大陳縕儂 深度學習之應用 第 9 堂

ADL Fall 2025 第 9 堂回答兩個問題:模型每一步給出一個機率分布,要怎麼從裡面挑字?挑出來的句子又要怎麼評?講義先用 teacher forcing 與 exposure bias 說明訓練和生成的落差,再依序比較 greedy、beam search、sampling、top-k 與 nucleus sampling,把 temperature 與各種 penalty 歸類為「控制」而不是解碼演算法;評估一半講 BLEU、ROUGE、perplexity 與 LLM-Eval,另一半講為什麼要用 RL 直接對整句的品質做最佳化。

後訓練與高效調整:模型怎麼學會照指令做事、怎麼便宜地改|台大陳縕儂 深度學習之應用 第 7 堂

預訓練完的模型很會接話,卻不一定會照指令做事。這一堂前半講 post-training 的兩步:instruction tuning 用大量不同任務教模型讀懂任務描述,RLHF 再讓模型朝人類偏好的整份回答靠攏,中間靠 reward model 與成對比較解決人力與評分不一致的問題,DPO 與 KTO 則把強化學習那一段拿掉。InstructGPT 與 ChatGPT 就是這兩步串起來。後半講 LLM adaptation:模型太大、整個微調太貴,所以只訓練少量參數,做法有 Adapter、LoRA 與 prompt tuning,沒有哪一種在所有任務都最好。

預訓練三大類與 Prompt Learning:從 BERT、GPT、T5 到 soft prompt|台大陳縕儂 深度學習之應用 第 6 堂

預訓練是在知道任務之前,先讓模型從大量無標註資料學通用能力。架構分三類:encoder 看兩邊、適合理解;decoder 只看左邊、能生成,是目前勝出的一類;encoder-decoder 用去噪預訓練。預訓練加微調有兩個難關:標註資料少、模型太大。GPT-3 的 in-context learning 不更新參數就能做任務,接著出現 hard prompt(template 加 verbalizer、LM-BFF)與直接訓練向量的 soft prompt(P-Tuning、Prefix-Tuning)。當時 soft prompt 效果較好,但最後留下來的是完全不訓練的 prompting。

RAG:模型記不住、會過時的知識,怎麼先查再答|台大陳縕儂 深度學習之應用 第 8 堂

語言模型把知識存在參數裡,冷門的記不熟、訓練後發生的不知道、公司內部文件沒看過,而且答案無從查證。RAG 的做法是讓它開書考:先依問題檢索相關段落,再連同問題一起交給模型回答。這一堂依序講檢索怎麼做(切段、sparse 與 dense retrieval、bi-encoder 與 cross-encoder、沒有標註資料時怎麼訓練 retriever)、檢索前後還能加什麼(改寫問題、重排序、多次檢索)、RAG 的幾條發展路線(檢索什麼、怎麼用、何時檢索),最後比較 prompting、RAG 與 fine-tuning 各適合什麼情境。

詞向量、語言模型與 RNN:怎麼表示一個詞、怎麼預測下一個詞|台大陳縕儂 深度學習之應用 第 3 堂

這一堂有一條主線:語言模型要估計一串詞出現的機率,做法是一次預測下一個詞。先講詞怎麼表示,從字典、one-hot、共現矩陣走到低維的 word embedding。再講語言模型的三代:n-gram 用數的,沒看過的組合機率是零;neural LM 用網路預測,相近的詞自動分到機率;RNN LM 把所有前文累積在 hidden state,每個時間點共用同一組權重。RNN 用 BPTT 訓練,同一個矩陣乘很多次會讓梯度消失或爆炸,爆炸用 clipping,消失靠 LSTM、GRU 的 gating。最後依輸入與輸出的形狀,把應用分成整句分類、tagging 與 encoder-decoder。

probing 看得見表徵,feature attribution 才給得出因果保證|Stanford CS224U 主題單元

CS224U 2023 春季版的 Analysis methods 單元先拿一張三欄計分表比較三類方法:probing 擅長描述表徵,卻給不出因果推論;integrated gradients 對表徵只給得出一個分數,但滿足 sensitivity 公理,所以有因果保證。本篇走完投影片前 40 頁、影片 33–35 與 feature_attribution.ipynb,也記下 notebook 在今天的環境裡會卡住的地方。

分析考量、對抗測試、ANLI 與 DynaSent|Stanford CS224U 主題單元

CS224U 第四單元先問一個問題:行為測試能證明什麼、不能證明什麼。答案是它永遠給不了保證,而且失敗時要先分清是模型的問題還是資料的問題——BERT 在否定句 NLI 上 2.2% 的準確率,用少量例子微調後就回到 90%。接著看 SQuAD 的干擾句、Breaking NLI、ANLI 的人機對抗收集,最後以 DynaSent 兩輪資料收尾。

用 interchange intervention 從「有資訊」走到「有用到」——causal abstraction、IIT 與 DAS|Stanford CS224U 主題單元

Causal abstraction 的核心操作只有一個:把 source 輸入在某個位置的內部狀態搬到 base 輸入的同一位置,看輸出是否跟你假設的高階程式一樣變化。CS224U 的 iit_equality.ipynb 裡,一個測試準確率 0.99 的網路在這項檢驗上只拿到 0.50 與 0.54;改用 IIT 訓練後,反事實準確率變成 1.00。DAS 則把「猜哪些神經元對應哪個變數」改成學一個旋轉矩陣。

COGS、ReCOGS 與作業三|Stanford CS224U 主題單元

COGS 有幾個泛化切分幾乎每個模型都是 0 分。CS224U 用自家的 ReCOGS 研究拆解原因:遞迴切分的 0 分主要是長度泛化問題,介系詞片語切分的 0 分來自訓練資料只讓它出現在特定變數與位置。作業三 hw_recogs.ipynb 用 13.5 萬筆 ReCOGS 訓練資料,先要你找出 Charlie 與 Lina 這兩個訓練與測試角色完全相反的名字,再看一個訓練好的模型怎麼栽在它們身上。

GPT、BERT、RoBERTa、ELECTRA、T5、BART 與蒸餾,各改了預訓練的哪一環|Stanford CS224U 主題單元

CS224U Spring 2023 把 Transformer 家族講成一條「BERT 的四個已知限制」主線:RoBERTa 回應第一條(最佳化探索不足),ELECTRA 回應第二、三條([MASK] 造成的落差、每批只有約 15% token 有訓練訊號),XLNet 回應第四條(被遮住的 token 彼此獨立的假設)。GPT 改的是目標函數與 mask,T5、BART 改的是架構與輸入破壞方式,蒸餾改的是模型大小。課程的 2023 年判斷是:自迴歸架構已經勝出,但做表徵時雙向模型可能仍占優勢。

「break」有八種意思,Transformer 怎麼讓每個詞看情境|Stanford CS224U 主題單元

CS224U Spring 2023 的 contextual representations 單元前三段:先用「break」「crane」這類例子說明靜態詞向量為什麼注定不夠,再用「The Rock rules」三個詞一步步拆出 Transformer block——各欄之間只有 attention 會互相連結,其他步驟都逐欄獨立。最後用兩個問題比較三種位置編碼:位置集合要不要事先決定?會不會妨礙泛化到新位置?絕對位置兩題都不過,正弦函數過第一題,Shaw 2018 的相對位置編碼兩題都過。

資料集、資料切分與模型比較|Stanford CS224U 主題單元

CS224U「NLP methods and metrics」單元的後半段不談指標公式,談實驗怎麼站得住:資料集要自然還是眾包、要對抗還是常見案例,課程答案都是「兩者都要」;切分要鎖住 test set;baseline 要在定假設時就決定;兩個模型的差異要用信賴區間、Wilcoxon 或 McNemar 檢驗,而且要跑多個隨機初始化。整單元的公開材料齊全(投影片、三支影片、兩份 notebook),但 Kawin Ethayarajh 那場「Real-world NLP assessments」客座沒有公開投影片或影片。

17:兩場延伸講座——用擴散模型生成文字,以及把大模型訓練的「民間知識」講清楚|Stanford CS224U 主題單元

2023 年春季 CS224U 在 Transformer 單元裡插了兩場由課程團隊成員主講的專題。Lisa Li 講 Diffusion-LM:不再一個字一個字往右生,而是把一串高斯雜訊逐步去噪成詞向量,代價是訓練與解碼效率都輸給自迴歸模型,換到的是可以在每一步用分類器梯度操控輸出。Sidd Karamcheti 講怎麼把 GPT-2 Small 的單卡訓練時間從 99.63 天壓到 3.37 天:資料平行、混合精度、ZeRO 一層層疊上去。前者只有投影片,後者有投影片與兩段錄影。

多領域情感分析與 bake-off|Stanford CS224U 作業 1

CS224U 第一份作業 hw_sentiment.ipynb 是三分類情感分析:用 DynaSent 兩輪加 SST-3 開發,bake-off 測試集混入來源不明的 mystery 句子。9 分作業裡,原創系統一題占 3 分,規則只有一條:開發過程不准碰三份公開測試集。今天照原樣跑,第一個資料載入 cell 就會卡在 Hugging Face datasets 4.0 拿掉 trust_remote_code 這件事上。

用 DSPy 做少樣本 OpenQA|Stanford CS224U 作業 2

CS224U 作業二 hw_openqa.ipynb 要你只用凍結的語言模型與凍結的 ColBERT 檢索器回答沒有附原文段落的問題。2023 春季版寫的是 DSP,repo 現行版在 2024 年 1 月改成 DSPy 並釘在 dspy-ai==2.4.13。開工前得先準備 OpenAI API key、約 406 MB 的 ColBERTv2 權重與 600 MB 的預建索引;而 notebook 第一行 dspy.OpenAI 在 DSPy 3.4 已經不存在。

起源、核心概念與建議做法|Stanford CS224U 主題單元

CS224U 2023 春季版把 in-context learning 定義成「凍結的語言模型只靠 prompt 完成任務」,並提醒 few-shot 的第二個條件(訓練時沒看過同類例子)幾乎無法驗證。Potts 的 38 頁投影片從 GPT-2 的 TL;DR 講到 demonstration 怎麼挑、chain of thought、self-consistency、DSP,最後給四條建議:先建 dev/test、了解目標模型的指令格式、把寫 prompt 當成 AI 系統設計。Mina Lee 的客座則反過來問:該學會讀懂 prompt 的,是人還是模型?

從 classical IR、IR 指標到 neural IR|Stanford CS224U 主題單元

CS224U 2023 春季版花一整個單元講檢索,理由是 OpenQA 只給問題、證據要自己找,而大型語言模型會捏造來源。Potts 與 Omar Khattab 的投影片從 TF-IDF、BM25 講到 Success@K、MRR、average precision,再講 cross-encoder、DPR、ColBERT、SPLADE 四種 neural IR 在表達力與規模之間怎麼取捨,最後要你把延遲與成本也當成指標。

同一個問題問了四十年,2023 年的 NLU 課怎麼定義「理解」|Stanford CS224U 主題單元

CS224U Spring 2023 的第一堂拿「哪些美國州不和任何美國州接壤?」從 1980 年的 Chat-80 一路問到 text-davinci-001,先證明進展是真的,再用 Levesque 的「cheap tricks」、會編造連結的模型和飽和的 benchmark 質疑這些進展算不算理解。課程地圖因此分成兩半:前半教怎麼用 Transformer 與檢索增強的 in-context learning 做系統,後半教怎麼用更難的 benchmark、行為評估與因果解釋方法檢驗系統。

文獻回顧與實驗計畫|Stanford CS224U 主題單元

CS224U 期末專案的前兩段交件,一份是文獻回顧(依組員人數讀 5/7/9 篇、五個建議段落),一份是實驗計畫(七個必填段落,核心是寫得出假設)。課程給了找論文的六步迴圈、AI 助手輸出必須加引號的規定,以及一位學生把期末專案做成 Findings of EMNLP 論文的完整示範。Gradescope 格式與評分細則頁、往年範例論文都在登入牆後面。

accuracy 0.81 的分類器、macro F1 只有 0.43——分類指標與生成指標各自編碼了什麼價值|Stanford CS224U 主題單元

CS224U 投影片用同一張三類別混淆矩陣算出 accuracy 0.81、macro F1 0.43:一個指標說系統很好,另一個說它在兩個小類別上幾乎全錯。這個單元的主張是「不同指標編碼不同價值」,並逐一列出 accuracy、F 分數三種平均、perplexity、word error rate、BLEU 各自的範圍、價值與弱點。期末專案的評分看的也是指標選得對不對,不是分數高不高。

CS224U 寫 NLP 論文、投稿與上台報告|Stanford CS224U 主題單元

CS224U 的「Presenting your research」一講分四段:期末論文的課程特有要求、NLP 論文怎麼寫、會議投稿流程、怎麼上台。最實用的三件事:期末論文強制附 Known project limitations 與 Authorship statement;寫作要用 Shieber 的「理性重建」而不是按時間講你踩過的坑;投稿時標題幾乎決定了審稿人的 bidding。投影片、四支影片、projects.md 都公開;往年範例論文需要 Stanford 登入。

Language——N-gram、Parser、Attention 與 Transformer|Harvard CS50 AI 第 6 週

第 6 週講電腦怎麼處理自然語言:先用 context-free grammar 手寫規則剖析句子,再改用統計,從 n-gram、Markov chain 生成文字到用 Naive Bayes 判斷評論的正負;接著用 word2vec 把詞變成向量,用 RNN 的 encoder–decoder 處理整個序列,最後是 attention 與 Transformer。附逐段時間連結,以及 Parser、Attention 兩個專案的解題思路、容易出錯的地方與檢查方式。

Embedding:模型怎麼把文字變成可以計算的向量

模型不懂文字,只懂數字。Embedding 把每個 token 對應到一組幾百維的向量,意思相近的詞在向量空間裡距離相近。這是搜尋、RAG、分類背後共用的基礎機制。

模型怎麼知道自己錯了:Loss Function 與 Cross-Entropy

模型每次預測下一個 token 時,會給每個候選詞一個機率。Loss function 衡量這個機率分佈跟正確答案差多遠——差越多,loss 越高,模型就知道自己錯得越離譜。Cross-entropy 是最常用的算法,perplexity 是它的直覺版。

Tokenization:BPE 演算法,以及為什麼中文比英文貴

模型不是按字數收費,是按 token 收費。BPE 演算法從字元開始,反覆合併最常出現的相鄰配對來建詞表。英文 'understanding' 可能是 1-2 個 token,但中文「理解」可能要 2-3 個——同樣的意思,中文就是比較貴。

Transformer 與 Attention:模型怎麼決定該看哪些字

Transformer 的核心是 self-attention:對每個 token,模型算出它跟其他所有 token 的相關程度,然後按權重加總。這讓模型能跨越距離抓到「it 指的是 cat 不是 mat」這種關係,也是它處理長文的基礎。

2021 AI 頂會導讀:自然語言處理篇

2021 年是 NLP 從「fine-tune 整個模型」轉向「只調一小部分參數」的分水嶺——Prefix-Tuning(ACL)、LoRA(arXiv,後成為業界標準)、Prompt Tuning(EMNLP)三篇同年出現,ACL Rolling Review 同年啟動,Findings track 正式站穩成為第二發表管道。

2022 AI 頂會導讀:自然語言處理篇

2022 年是 NLP 從「模型能力展示」走向「模型對齊與控制」的轉折年——InstructGPT 把 RLHF 推上主流、Chain-of-Thought 證明推理能力可以靠提示詞解鎖、Flan 2022 讓 instruction tuning 的方法論成熟化。ACL 與 NAACL 同年全面啟用 ARR 滾動審稿,暴露了大量基礎設施與審稿人負載問題。年底 ChatGPT 上線,NLP 研究的遊戲規則從此改寫。

2023 AI 頂會導讀:自然語言處理篇

2023 年是 ChatGPT 之後的第一個完整學術年——NLP 頂會的議程被 LLM 全面重寫:ACL 的 Best Paper 研究幽默理解和政治偏見追蹤,EMNLP 的 Best Paper 用資訊流視角解釋 in-context learning,而 HackAPrompt 這篇 prompt injection 競賽論文直接拿下 EMNLP Best Paper,標誌著安全研究正式進入主流。整年最大的主題轉變是:研究者不再問「怎麼讓模型更準」,開始問「怎麼知道模型在不在騙你」。

2024 AI 頂會導讀:自然語言處理篇

2024 年的 NLP 頂會在 LLM 全面統治下重新定義自己:ACL 把開放科學列為年度主題、七篇 Best Paper 有四篇在問語言模型的根本能力邊界;EMNLP 則把焦點轉向多語言與跨文化,Best Paper 從語音表徵做到梯度可解釋性。投稿量持續爆炸(ACL+EMNLP 合計破萬),但社群真正焦慮的不是數量,而是當 LLM 能做幾乎所有 NLP 任務時,NLP 研究本身還剩什麼。

2025 AI 頂會導讀:自然語言處理篇

2025 年 NLP 頂會的投稿量全面翻倍(ACL 8,360 篇、EMNLP 8,174 篇),中國第一作者在 ACL 佔比突破 51%,DeepSeek 的 Native Sparse Attention 拿下 ACL Best Paper——但最值得注意的是會議本身的身份危機:ACL 主席說『ACL 不是 AI 會議』,一篇量化分析問『Has ACL Lost Its Crown?』,EMNLP 被質疑跟 ACL/NAACL 還有什麼差別。

Introduction and Setup:先把語言問題拆成可計算的元件|Stanford CS124 第 1 週

第 1 週沒有演算法。現場的導論課說明這門課教什麼:LLM 的每個元件各在哪一週學、哪些不是 LLM 的語言演算法也要學、語言為什麼難。PA0 把之後幾份作業要用的 Python 與 Jupyter 環境裝好。

Words, Tokens, Edit Distance, and N-grams:LLM 之前先決定模型看見什麼|Stanford CS124 第 2 週

第 2 週教三件事:用 BPE 把文字切成 token、用動態規劃算兩個字串的編輯距離、用 n-gram 估下一個詞的機率並用 perplexity 評估。每一項都可以用紙筆算,本文各走一個例子。

Logistic Regression and Text Classification:從特徵到機率與 loss|Stanford CS124 第 3 週

第 3 週教邏輯迴歸:把文件變成特徵向量,加權總和後通過 sigmoid 得到機率,用 cross-entropy 量錯多少,再用梯度下降修權重。本文照投影片的影評例子把預測、loss 與一次權重更新各算一遍,並說明為什麼評估要看 precision 與 recall。

Information Retrieval:從倒排索引、tf-idf 到 RAG 的檢索底座|Stanford CS124 第 4 週

第 4 週教搜尋:把查詢和文件都變成向量,用 tf-idf 加權、cosine 相似度排名,用倒排索引加速,用 precision、recall 與 MAP 評估,最後接到向量檢索與 RAG。本文把投影片的四篇迷你文件例子完整算一遍。

Embeddings and Social NLP:用周圍的詞表示一個詞的意思|Stanford CS124 第 5 週

第 5 週教詞嵌入:一個詞的意思可以用它周圍常出現的詞來表示。先用共現次數做向量、用 cosine 比相似度,再用 word2vec 把向量訓練成幾百維的稠密表示,最後區分靜態向量與隨上下文改變的向量。同週的計算社會科學現場課沒有公開材料。

Neural Networks and LLMs:從神經元、反向傳播到 decoder-only 模型|Stanford CS124 第 6 週

第 6 週分兩半。預錄內容教神經網路:一個神經元怎麼算、為什麼需要隱藏層、softmax、用詞向量做分類與語言模型、反向傳播。現場課介紹大型語言模型:它是什麼、三種架構、為什麼各種任務都能改寫成接話、怎麼取樣、怎麼預訓練、怎麼變成助理。

Speech and PA7/Git Lab:聲音怎麼變成 Whisper 讀得懂的輸入|Stanford CS124 第 8 週

第 8 週接著講語音:聲音怎麼產生、怎麼從波形變成模型吃的 log mel 頻譜、Whisper 怎麼用 encoder-decoder 和 cross-attention 把聲音轉成文字。PA6b 把文字轉成語音再轉回來,分析哪些資訊不見了。實作課四介紹 PA7 的 agent 流程並教小組用 GitHub 協作。

矩陣微積分與反向傳播|Stanford CS224N 第 3 堂

第 3 講把神經網路訓練拆成計算圖、局部導數與鏈鎖律:forward pass 算結果,backprop 由輸出往回累積梯度,讓每個參數知道自己該往哪裡移。

Benchmark 與 LLM 評估為什麼會過期|Stanford CS224N 第 11 堂

第 11 講把評估拆成測什麼、怎麼量與何時不再可信:benchmark 會飽和、遭污染或被提示格式左右,LLM judge 也只是帶著自身偏差的模型。

把期末專案收斂成可驗證的研究問題|Stanford CS224N 第 6 堂

第 6 講先補完 Transformer encoder、decoder 與 cross-attention,再把期末專案拆成題型、評分、研究題目與資料來源;好題目必須能用一個明確 baseline 和指標驗證。

NLP 的四次典範轉移|Stanford CS224N 第 1 堂

Winter 2026 第 1 講用四個時代整理 NLP:早期探索、符號系統、統計機器學習、深度與自監督學習;重點不是背年表,而是看每個時代如何重新定義語言問題。

語言模型、RNN 與消失梯度|Stanford CS224N 第 4 堂

第 4 講把語言模型定義成下一詞機率分布,再用 RNN 壓縮任意長前文;它同時揭露 recurrence 的核心代價:資訊與梯度都必須沿時間步逐步傳遞。

從 recurrence 到 Transformer|Stanford CS224N 第 5 堂

第 5 講從 RNN 的長距離與循序瓶頸走到 self-attention,再組成 Transformer;它縮短位置間的資訊路徑並容許平行計算,但付出二次方 attention 成本與位置資訊必須另行注入的代價。

word2vec 如何把語意變成向量|Stanford CS224N 第 2 堂

第 2 講從 word2vec 的預測任務、目標函數與梯度一路走到 count-based vectors 和評估,核心是:詞義不是查表得到的標籤,而是從上下文分布學出的高維座標。

從 n-gram、詞表示到文字分類|Berkeley CS288 主題單元

前四組教材先建立可計數、可表示、可分類的文字模型;A1 再要求從 n-gram、perceptron 做到 NBOW MLP。

語言模型與 NLP:從基礎表示到檢索與 Agent|Berkeley CS288 課程總覽

CS288 用 18 組公開投影片與三份作業,從 n-gram 走到 RAG、reasoning 與 agents;錄影需 Berkeley 登入,所以這是一條教材型 A3 路線。

Sequence Models、Seq2Seq 與 Transformer|Berkeley CS288 主題單元

05–07 組教材把固定向量的分類器推進序列狀態、encoder-decoder,再用 attention 與 Transformer 改寫資訊路徑。

從語言到資訊:一門同時教 tf-idf 和 LLM 的 NLP 入門課|Stanford CS124 課程總覽

CS124 是 Stanford NLP 分支的第一門課:十週從斷詞、n-gram、文本分類、資訊檢索與詞嵌入,講到 LLM 與 Transformer。教科書是免費的《Speech and Language Processing》,九個作業 repo 與實作課的題目和解答都公開;預錄影片、每週複習測驗與自動評分要 Stanford 帳號。

用深度學習做自然語言處理:從 word2vec 到自己刻 Transformer|Stanford CS224N 課程總覽

CS224N 是 Stanford 用深度學習做自然語言處理的課:從詞向量、反向傳播講到 Transformer,之後每一堂都建立在 Transformer 之上,四份作業包含自己刻一個 decoder-only Transformer。現行投影片與作業公開,第三份作業附可以在筆電上跑的單元測試;公開的完整錄影是較早的版本,跟現行課表有落差。

自然語言理解:接在 CS224N 之後補了什麼|Stanford CS224U 課程總覽

CS224U 是 Stanford 的自然語言理解課,接在 CS224N 之後:教情感分析的領域適應、檢索增強的 in-context learning、進階行為評估與模型分析方法,三份作業各附一場 bake-off。教材是一個公開的 GitHub repo,投影片與線上版的全套錄影也公開;第一份作業的資料載入在新環境要自己修正才跑得起來。

NLP & LLM 面試攻略:從 tokenization 到 RLHF

LLM 面試的分水嶺是你有沒有實際用過這些東西。高頻考點:BPE tokenization 的邏輯與多語言問題、預訓練目標(CLM vs MLM)、fine-tuning 的三種層次(full/LoRA/prompt tuning)、RLHF 的流程與 failure mode、prompting 的工程實踐、LLM 評估的困難與現有方法。

「推薦下一條」和「推薦類似的」不是同一件事 — RAG 推薦系統的意圖消歧

攀岩 RAG 系統中「推薦下一條路線」(progression)和「推薦類似路線」(similarity)被同一個 hasSimilarRouteIntent() 函式混為一談,導致推薦品質崩壞。解法是 Regex Fast Path + LLM Fallback 的兩階段意圖分類。