iT邦幫忙

2025 iThome 鐵人賽

DAY 29
0
AI & Data

AI、機器學習以及深度學習的語言學應用系列 第 29

Day 29 - RAG(檢索增強生成)

  • 分享至 

  • xImage
  •  

延續這幾天在介紹的 LLM、In-Context Learning(ICL)、Chain of Thought(CoT),要來講講另一個熱門的技術:RAG(Retrieval-Augmented Generation)檢索增強生成

LLM 就像是一個離線的資料庫,它雖然很強大,但是不夠「即時」,這時候就需要 RAG 的技術來輔助,讓 LLM 可以「開外掛」,生成的結果會更好。

今天就來介紹 RAG ~~


RAG 是什麼?

RAG ,全名是 Retrieval-Augmented Generation,中文翻作「檢索增強生成」。
簡單來說,RAG是一種結合了「檢索能力(retrieval)」與「生成能力(generation)」的自然語言處理架構。

運作流程大致如下:

  1. 使用者輸入一個問題(query)
  2. 系統中的 檢索器(retriever) 會從外部資料來源(例如文件庫、網路、資料庫)搜尋相關內容
  3. 檢索到的結果會被送進 生成器(generator),也就是大型語言模型
  4. 模型再根據檢索到的資料產生最終的回答

可以把它想成「LLM + 外部資料庫」的混合體。
這樣模型就不會只依賴「內建知識」,而是能動態使用外部資訊來回答問題。

為什麼需要RAG?

大家可能會覺得 LLM 的功能已經很強大,為什麼還需要再加強?

➔ 事實上,大型語言模型的知識都受限於訓練資料的 時間點
(以ChatGPT為例,它的資料庫,以現在撰文當下,大概停留在 2024年6月

而RAG就是為了解決這個問題。
透過外部檢索,它能夠讓模型即時「補腦」,掌握最新的知識、甚至是企業內部的專屬資料

RAG 在 OpenAI 的架構中是怎麼定位的?

OpenAI 在官方網站中有提到,RAG屬於 「Context Optimization」 的一種方式,也就是在不改變模型本身的情況下,讓模型能更好地理解與利用外部context。

為什麼要優化context?原因有三個:

  1. 模型缺乏 情境資訊(contextual info) ,因為資料可能不在訓練集中
  2. 模型的知識 不是最新的
  3. 模型需要 專有或比較機密的資訊(proprietary information) 來回答企業內部問題

RAG vs. Fine-tuning(微調)

這兩者其實 不是競爭關係 ,而是 互補

  • Fine-tuning:更新模型「內部的知識」,讓它對特定任務或語料更熟悉
  • RAG:不改動模型本身,而是用「外部資料」去 擴充context

舉例來說:

  • 如果你只讀學校給你的課本,那你在做的是「fine-tuning」
  • 但如果你去 Google 找課本以外額外的資料,那你就是在做「RAG」

RAG 可以讓我們不用重新訓練模型,就可以讓知識「即時更新」。

RAG 的好處

1. 經濟實惠

  • 不需要重新訓練大型語言模型,只要透過嫁接外部訊息,就能夠提供更好的回覆給使用者

2. 最新資訊

  • 因為可以外掛網路搜尋,因此資訊可以是最新的,不會侷限於訓練集內的資料

3. 降低幻覺(hallucination)

  • 因為模型會根據真實文件生成,而不是「自由發揮」

4. 資料安全

  • 因為RAG這種方式,LLM內部的資料和外部資料是獨立的,很多公司會利用這種方式,獲取外部的資訊的同時,也保障資料的隱私、安全性

小結

RAG的概念其實很簡單,但威力強大,它可以讓大型語言模型的生成能力更上一層樓!


參考資料

Reference 1
Reference 2
Reference 3


上一篇
Day 28 - Chain-of-Thought(CoT)
系列文
AI、機器學習以及深度學習的語言學應用29
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言