延續這幾天在介紹的 LLM、In-Context Learning(ICL)、Chain of Thought(CoT),要來講講另一個熱門的技術:RAG(Retrieval-Augmented Generation)檢索增強生成。
LLM 就像是一個離線的資料庫,它雖然很強大,但是不夠「即時」,這時候就需要 RAG 的技術來輔助,讓 LLM 可以「開外掛」,生成的結果會更好。
今天就來介紹 RAG ~~
RAG ,全名是 Retrieval-Augmented Generation,中文翻作「檢索增強生成」。
簡單來說,RAG是一種結合了「檢索能力(retrieval)」與「生成能力(generation)」的自然語言處理架構。
運作流程大致如下:
可以把它想成「LLM + 外部資料庫」的混合體。
這樣模型就不會只依賴「內建知識」,而是能動態使用外部資訊來回答問題。
大家可能會覺得 LLM 的功能已經很強大,為什麼還需要再加強?
➔ 事實上,大型語言模型的知識都受限於訓練資料的 時間點
(以ChatGPT為例,它的資料庫,以現在撰文當下,大概停留在 2024年6月 )
而RAG就是為了解決這個問題。
透過外部檢索,它能夠讓模型即時「補腦」,掌握最新的知識、甚至是企業內部的專屬資料。
OpenAI 在官方網站中有提到,RAG屬於 「Context Optimization」 的一種方式,也就是在不改變模型本身的情況下,讓模型能更好地理解與利用外部context。
為什麼要優化context?原因有三個:
這兩者其實 不是競爭關係 ,而是 互補
舉例來說:
RAG 可以讓我們不用重新訓練模型,就可以讓知識「即時更新」。
RAG的概念其實很簡單,但威力強大,它可以讓大型語言模型的生成能力更上一層樓!
Reference 1
Reference 2
Reference 3