iT邦幫忙

2024 iThome 鐵人賽

DAY 19
0
生成式 AI

生成式 AI 時代下的 Azure Machine Learning系列 第 19

Day19-淺談 Retrieval-Augmented Generation (RAG) 的手法

  • 分享至 

  • xImage
  •  

Retrieval-Augmented Generation (RAG) 是一種結合了檢索技術和生成技術的強大方法,旨在提高大型語言模型(LLM)的回答準確性,減少幻覺,尤其是在需要查詢大量資料庫中的具體資訊時。RAG 的基本工作原理是:事先把把文本做 embedding,使用者問問題時,先進行檢索(Retrieval),接著進行生成(Generation)。

RAG 的運作原理

  1. 文本嵌入(Embedding)

    • 在 RAG 的第一步,我們首先對資料庫中的所有文本進行嵌入(embedding)處理。這是將文本轉換為數學向量的過程,以便於在向量空間中進行相似性計算。這些嵌入是通過特定的 Embedding 模型 生成的,目的是將語義相似的文本表示為空間中距離接近的向量。這些向量化的表示方式可以被用來快速地進行相似性檢索,通過計算兩個向量之間的距離(例如餘弦相似度),我們可以找到最相似的內容。
  2. 檢索階段(Retrieval)

    • 當用戶提出問題時,該問題也會被轉換為向量,然後在向量資料庫中進行檢索。這個步驟的目的是根據文本嵌入來快速找到與用戶問題最相似的文本片段。這些片段將成為生成回答的潛在上下文資料。
  3. 生成階段(Generation)

    • 一旦找到了最相似的文本,這些檢索到的文本片段會與用戶的問題一起送入到大型語言模型(例如 GPT-4o)中,作為額外的上下文,生成模型基於這些上下文資料來生成精確且有語義豐富的答案。生成模型會根據檢索來的真實資料來產生回答,而不僅僅依靠模型的預訓練知識庫,這樣可以顯著提高回答的準確性。

RAG 的優點

  1. 減少幻覺(Hallucination)

    • 大型語言模型在回答問題時,經常會「編造」一些不正確的信息,這種現象稱為「幻覺」(hallucination)。RAG 通過先檢索出與查詢相關的真實文本,為生成模型提供了可靠的上下文,從而大大降低了幻覺的發生率。這意味著,生成模型基於實際檢索到的資料來回答問題,而不是依靠模糊的記憶進行創造性編造,這對於需要精確資訊的應用(例如法律、醫療等領域)非常重要。
  2. 更好的語義理解與回答精確性

    • 通過檢索提供的上下文,生成模型可以更好地理解用戶問題的語義並生成更為相關的答案,尤其是在用戶問題本身可能模糊或需要更多細節支持的情況下。這種方式結合了檢索的快速性和生成模型的深度語義理解,使得回答不僅能滿足快速回應的需求,還能提供語義豐富、上下文相關的答案。
  3. 動態更新

    • 相較於傳統的 Fine-tuning 模型,RAG 不需要頻繁更新模型參數就能保持最新的資料。因為檢索階段直接從最新的資料庫中提取內容,即使文檔更新,檢索到的結果也會自動更新。這對於需要高頻率更新資訊的情況(例如公司內部政策、技術手冊等)尤為適合。

除了 Native 的 RAG,其實也發展出很多進階的 RAG 技巧。這些進階技巧在雜亂無章的資料裡的表現會更好,但是我還是強烈建議如果要做客服型或是企業級應用的話,還是要把文本資料給整理好!

明天我們就來先做 embedding 吧!


上一篇
Day18-使用 Fine Tune 的 Meta-Llama-3.1-8B-Instruct
下一篇
Day20-部署 embedding model Cohere-embed-v3-multilingual
系列文
生成式 AI 時代下的 Azure Machine Learning30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言