這是台大陳縕儂 深度學習之應用 2025 Fall 導讀的第 11 篇。課程是 ADL Fall 2025(114-1,2025/09/01–12/15)。9/29 教師節、10/06 中秋節兩週停課,RAG 排在停課後的 10/13;當週助教課是 LLM Basics & MoE,作業欄是 HW 3。
本文依據:RAG 講義(60 頁),以及六支影片:8.1 大家都在用的 RAG 是甚麼呢?(27:32)、8.2 RAG Framework 基本設計流程(39:52)、8.3 Advanced RAG 如何改進 RAG 效果呢?(10:26)、8.4 RAG Roadmap RAG 發展與各種不同的嘗試(28:17)、8.5 RAG Pros & Cons 多種RAG類型與優劣比較(17:23)、8.6 RAG Q&A(24:19,課堂問答,沒有對應講義)。HW3 說明影片是 ADL 2025 Fall Homework 3(20:34,2025-10-12 上傳)。全部在 2026-09-30 打開核對,本文頁碼都指講義 PDF。
系列位置:上一篇 PEFT:Adapter、LoRA、Prompt Tuning 與 HW2|下一篇 NLG:解碼、控制與評估|系列總覽
為什麼要先查再答
四個例子
講義開場的三個例子都用中文問 LLM(第 2–5 頁):
- 問「你知道蔡英文嗎?」,模型答得很完整。有名的人,訓練資料裡資訊夠多。
- 問「你知道台大的陳縕儂嗎?」,模型說她是電機系教授、專長是半導體,幾乎全錯。第 3 頁的結論:LLM 記不住長尾資訊的細節。
- 加上搜尋結果再問一次,回答就變成資工系、語言理解與對話系統等正確資訊。第 4 頁的結論:knowledge grounding 有助於減少幻覺。
- 問「台灣現任總統是誰?」,模型還是答蔡英文。第 5 頁:LLM 的知識容易過時,也很難更新;另一種解法是 knowledge editing。
第 9 頁再補一層:生成會跟著預訓練資料的分布走。例子是「我好朋友是護士」之後,模型會接「她對待病人很有耐心」。
Parametric memory 的四個限制
第 10 頁把問題整理成清單。LLM 把大量資訊存在參數裡,但:
- 模型記不住所有東西。
- 世界會變。
- 私有文件無法透過網路取得。
- 黑盒模型的答案很難驗證對不對。
第 11 頁把 RAG 要處理的知識歸成三類:長尾知識、動態變化的知識、不在預訓練資料裡的知識。
前身:WebGPT
第 6–8 頁先介紹 WebGPT(Nakano 等,2021):用人類示範資料微調 GPT-3,讓它產生帶參考來源的回答。模型把搜尋當成 token 接龍,先生成 [SEARCH] ... [END] 當查詢,再生成 [CLICK] 1 [END] 點開文件,學的是人類的操作行為。
RAG 框架:索引、檢索、生成
第 12 頁的框架圖有四個元件:文件經過 indexing 存起來,查詢進來時先 retrieval,把找到的內容和查詢一起放進 prompt,再交給 LLM 輸出。圖上把 LLM 標成開源或閉源都可以。
索引與檢索
第 13 頁:文件先切成 chunk/passage,再編碼,查詢進來時算相關性。檢索分兩類:
| 類型 | 做法 | 講義列的方法 |
|---|---|---|
| Sparse retrieval(第 14 頁) | 詞彙比對 | n-gram(TF-IDF)、BM25 |
| Dense retrieval(第 15 頁) | 神經編碼器轉成向量,算 cosine 相似度 | 現成 embedding(預訓練 BERT、GPT);對比學習學出的 embedding:DPR、Contriever |
Dense retriever 怎麼訓練
第 16 頁用「美國哪一州面積最大?」當例子:查詢編碼器和文件編碼器各自產生向量,以內積 s(q, d) 當分數,訓練目標是讓正確文章 d⁺ 在所有候選裡的 softmax 機率最大。
第 16 頁的對比損失
L = − log( exp(s(q, d⁺)) / Σᵢ exp(s(q, dᵢ)) )
dᵢ 包含一篇正確文章 d⁺ 與多篇負例 d⁻。講義在這頁下方註明:成對的訓練資料很難蒐集。
成對資料難取得,於是第 17–19 頁換個方向:用語言模型估計 P(q | d),也就是「看了這篇文件後生成這個查詢的機率」,拿來當相關性(query likelihood,講義引 Sachan 等 2023)。第 18–19 頁是課程團隊自己的延伸(Huang & Chen, 2024):用 query likelihood 訓練無監督的多語 dense retriever,在 XOR-TyDi QA 上的結論是用 query likelihood 訓練勝過用成對資料訓練。
生成
第 21 頁是 RAG 的 prompt 範例(圖片)。第 23 頁列出 RAG 的問題:
- 檢索端:切出來的 chunk 不對齊或不相關;多個來源的資訊重複。
- 生成端:產生檢索內容不支持的幻覺;輸出不相關、有毒或帶偏見;太依賴檢索內容、只是照抄。
Advanced RAG:檢索前後各加一段
第 24–25 頁在框架上加了 pre-retrieval 與 post-retrieval 兩段:
- Pre-retrieval:決定要不要檢索、改寫查詢、擴充 chunk 讓 LLM 看更多上下文、sparse 與 dense 並行的混合檢索。
- Post-retrieval:重排序(把最相關的內容往前移)、壓縮上下文(挑出必要資訊、縮短長度)。
重排序
第 26 頁比較兩種用 LLM 重排序的 prompt:
- Pointwise:請模型給查詢和單一段落 1–5 分的相關性分數。
- Pairwise:給兩個段落,問哪一個比較相關(A 或 B)。講義的結論是 pairwise 比較準。
第 27–29 頁又是課程團隊的研究(Huang & Chen, 2024):InstUPR 先做 pointwise、再做 pairwise 的 zero-shot 指令式重排序,第 28 頁的結論是它和監督式 reranker 表現相當。PairDistill 則用前一輪的重排序結果當損失,反覆訓練 retriever。第 30 頁的 ITER-RETGEN(Shao 等,2023)把前一輪的輸出接在查詢後面,當作下一輪檢索的輸入。
RAG Roadmap:檢索什麼、怎麼用、何時檢索
第 31–48 頁是整講最有結構的一段。講義用三個問題當三欄,逐步把方法填進表格(表格引自 ACL 2023 Retrieval-based LM tutorial 的投影片,再加上 2025 年的方法)。下表只填講義把方法放進去的那一格,沒標的寫「—」:
| 方法 | 檢索什麼 | 怎麼用 | 何時檢索 | 講義的註解 |
|---|---|---|---|---|
| RAG(Lewis 等,2020) | 文字 chunk | 放在輸入層 | 生成開始時一次 | 端到端訓練 retriever 與 generator(第 33 頁) |
| RETRO(Borgeaud 等,2022) | 文字 chunk | 注入中間層 | — | 比放在輸入層有效率,但需要訓練(第 35 頁) |
| Retrieval-in-context(Ram 等、Shi 等,2023) | — | — | 每 n 個 token | 檢索越頻繁越有幫助,但推論越慢(第 38 頁) |
| FLARE(Jiang 等,2023) | — | — | 自適應 | 先生成,模型信心低時才檢索(第 40 頁) |
| Search-R1(Jin 等,2025) | — | — | 自適應 | 用 RL 學何時搜尋,reward 是答案正確(第 42 頁) |
| AdaSearch(Lin 等,2025) | — | — | 自適應 | 用 RL 學「知道自己知道什麼」,reward 是答案正確加上決策正確(第 43 頁) |
| kNN-LM(Khandelwal 等,2020) | token | 輸出層 | 每個 token | 檢索相似例子、用它們的下一個 token;更細緻、省計算,但佔空間(第 45 頁) |
| Efficient NN-LM(He 等,2021) | token | 輸出層 | 自適應 | 改善 kNN-LM 每個 token 都要檢索的低效率(第 47 頁) |
讀這張表的方法:每往右或往下一格,都是在「效果」與「成本」之間換一個平衡點。RETRO 換來效率但要重訓;每 n 個 token 檢索一次換來效果但變慢;Search-R1 與 AdaSearch 則把「要不要查」交給模型自己學。
檢索來源與選型
第 49–50 頁談檢索來源:非結構化文字、半結構化的文字加表格(例如 PDF,問題在資料毀損與表格擷取,轉成純文字再做 RAG 效果不理想)、結構化的知識圖譜。第 50 頁引 GraphRAG 綜述(Peng 等,2024),結論是知識圖譜對推理密集的任務更有幫助。
第 51–54 頁引 Gao 等 2023 的 RAG 綜述,用一個資工系學生被問「NVIDIA 總部和新壽的合約牽涉哪些法律規範?」來比喻三種路線:
| 路線 | 比喻 | 優點 | 缺點 |
|---|---|---|---|
| Prompting | 直接用自己腦中的知識回答 | 簡單、有效率 | 完全依賴內部知識 |
| RAG | 翻法律教科書再回答 | 適合動態環境、可解釋性高 | 延遲高、受檢索品質影響 |
| Fine-tuning | 先修一門相關課再回答 | 能深度客製模型的行為與風格 | 重新訓練成本高 |
第 54 頁的結論:選 RAG 還是 fine-tuning,取決於資料變動程度、客製需求與可用的計算資源。
第 55–58 頁補上 retrieval-augmented LLM 的四種訓練方式(不訓練、獨立訓練、依序訓練、聯合訓練,引 RA-LLM 綜述)與應用範圍。最後列出 RAG 的六個優點:準確、即時、可解釋、可客製、安全與隱私、成本(不必更新模型)。
HW3:只拿得到題目
課程頁 10/13 那一列的 HW 3 按鈕直接連到 YouTube 上的 ADL 2025 Fall Homework 3。能確認的只有:
- 題目:影片說明欄寫「Retriever & Reranker Training for RAG」,也就是訓練 RAG 的 retriever 與 reranker。
- 影片長度 20:34,2025-10-12 上傳。
- 對照 Course Logistics 第 11 頁,第三份作業的主題是 RAG。
拿不到的:影片沒有字幕,也沒有公開的規格投影片或文字版說明。資料集、語料、基礎模型、baseline、評估指標、繳交格式與截止日期,本文都無法確認,所以一律不寫。作業繳交走 NTU COOL,需要台大帳號。
校外怎麼做:題目正好對上講義第 15–29 頁。可以自己挑一個公開的問答資料集,先用 BM25 當 baseline,再用第 16 頁的對比損失微調一個 dense retriever,最後加一層 pointwise 或 pairwise 的 reranker,比較三個階段的檢索指標。評分方式要自己定,也無法和官方評分對照。
讀完這一講,你應該能
- 說出 parametric memory 的四個限制,以及 RAG 針對的三類知識。
- 畫出 RAG 的四個元件,並說出 sparse 與 dense retrieval 的差別。
- 解釋 pointwise 與 pairwise 重排序的差別,以及講義為什麼認為 pairwise 比較準。
- 用「檢索什麼、怎麼用、何時檢索」三欄,把 RAG、RETRO、FLARE、Search-R1 放到對的位置。
今晚可以做的一件事:拿你熟悉的一個冷門人物或內部文件,問任何一個 LLM 兩次,一次直接問,一次把相關段落貼進 prompt 再問。第 3、4 頁的差別你會親眼看到,接著試試把貼進去的段落換成不相關的,就能看到第 23 頁說的「太依賴檢索內容、只是照抄」。
延伸閱讀
- CS224N 第 10 講:RAG 與 Language Agents 的六個元件
- RAG 系統模式完整指南:從 Naive 到 Multi-Agent 的十代演化與實戰導航
- RAG vs Fine-tuning:不是非此即彼
下一篇:NLG:解碼、控制與評估
參考資料
- ADL Fall 2025(114-1)課程頁 — 10/13 講次、停課週、助教課與 HW 3 連結
- RAG 講義(251013_RAG.pdf) — 本文頁碼來源
- ADL 8.1: Retrieval-Augmented Generation (RAG)(YouTube)
- ADL 8.2: RAG Framework 基本設計流程(YouTube)
- ADL 8.3: Advanced RAG 如何改進 RAG 效果呢?(YouTube)
- ADL 8.4: RAG Roadmap RAG 發展與各種不同的嘗試(YouTube)
- ADL 8.5: RAG Pros & Cons 多種RAG類型與優劣比較(YouTube)
- ADL 8.6: RAG Q&A(YouTube)
- ADL 2025 Fall Homework 3(YouTube) — 說明欄只有題目一句
- Course Logistics 投影片(250901_Course.pdf) — 第 11 頁三份作業主題
- 2025 Fall 台大資訊 深度學習之應用 NTU CSIE ADL 播放清單
- ACL 2023 Tutorial: Retrieval-based Language Models and Applications — roadmap 表格的來源
- Nakano et al., WebGPT
- Lewis et al., Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks
- Karpukhin et al., Dense Passage Retrieval for Open-Domain Question Answering
- Izacard et al., Unsupervised Dense Information Retrieval with Contrastive Learning(Contriever)
- Borgeaud et al., Improving language models by retrieving from trillions of tokens(RETRO)
- Jiang et al., Active Retrieval Augmented Generation(FLARE)
- Jin et al., Search-R1
- Khandelwal et al., Generalization through Memorization: Nearest Neighbor Language Models
- Shao et al., Enhancing Retrieval-Augmented LLMs with Iterative Retrieval-Generation Synergy(ITER-RETGEN)
- Gao et al., Retrieval-Augmented Generation for Large Language Models: A Survey
- Peng et al., Graph Retrieval-Augmented Generation: A Survey
- Fan et al., A Survey on RAG Meeting LLMs
Loading...