首頁 >科技週邊 >人工智慧 >如何通過抹布和微調使LLM更準確

如何通過抹布和微調使LLM更準確

Mary-Kate Olsen
Mary-Kate Olsen原創
2025-03-13 11:47:09797瀏覽

想像一下在大學學習一個學期。最後,經過深入的學習階段,您參加了考試 - 您可以回憶起最重要的概念而無需查找它們。

現在想像第二種情況:詢問您一個有關新主題的問題。您不立即知道答案,因此您拿起書或瀏覽Wiki以找到正確的答案信息。

這兩個類比代表了改進LLM的基本模型或將其調整為特定任務和領域的兩種最重要的方法:檢索增強發電(RAG)和微調。

但是哪個示例屬於哪種方法?

這就是我將在本文中解釋的:之後,您將知道什麼是抹布和微調,最重要的區別以及哪種方法適合於哪種應用。

讓我們潛入!

目錄

  • 1。基礎:什麼是抹布?什麼是微調?
  • 2。抹布和微調之間的差異
  • 3。建立抹布模型的方法
  • 4。微調模型的選項
  • 5。何時推薦抹布?何時推薦微調?
  • 最後的想法
  • 您在哪裡可以繼續學習?

1。基礎:什麼是抹布?什麼是微調?

大型語言模型(LLM),例如來自Openai的Chatgpt,Google的Gemini,來自Anthropics或DeepSeek的Cla​​ude的Gemini非常強大,並且在非常短的時間內已經在日常工作中建立了自己的功能。

他們最大的局限性之一是他們的知識僅限於培訓。一個在2024年接受培訓的模型不知道2025年以來的事件。如果我們從Chatgpt詢問4O模型,現任美國總統是誰,並清楚地說明不應使用互聯網,我們看到它無法確定地回答這個問題:

如何通過抹布和微調使LLM更準確

此外,模型無法輕鬆訪問公司特定信息,例如內部準則或當前技術文檔。

這正是抹布和微調發揮作用的地方。

兩種方法都可以使LLM適應特定要求:

抹布 - 模型保持不變,輸入得到改進

具有檢索增強發電(RAG)的LLM保持不變。

但是,它可以獲得對外部知識源的訪問權限,因此可以檢索未存儲在其模型參數中的信息。 RAG通過使用外部數據源來提供最新或特定信息,從而在推理階段擴展了模型。推論階段是模型生成答案的時刻。

這使該模型可以保持最新狀態而無需重新培訓。

它如何工作?

  1. 問一個用戶問題。
  2. 查詢將轉換為向量表示。
  3. 獵犬在外部數據源中搜索相關的文本部分或數據記錄。文檔或常見問題解答通常存儲在矢量數據庫中。
  4. 發現的內容作為附加上下文傳輸到模型。
  5. LLM根據檢索到的當前信息生成答案。

關鍵是LLM本身保持不變,LLM的內部權重保持不變。

假設一家公司使用內部AI驅動支持聊天機器人。

聊天機器人可以幫助員工回答有關公司政策,處理或人力資源主題的問題。如果您要問一個有關您公司的問題(例如,我剩下多少個假期?),該模型在邏輯上不會給您一個有意義的答案。沒有抹布的經典LLM對公司一無所知 - 它從未接受過這些數據的培訓。

隨著抹布的變化:聊天機器人可以搜索當前公司策略的外部數據庫中最相關的文檔(例如PDF文件,Wiki頁面或內部常見問題解答),並提供具體的答案。

抹布的工作原理與人類在圖書館或Google搜索中查找特定信息時的工作類似 - 但實時。

當被問及Crud含義的學生很快查找了Wikipedia文章,答案創建,閱讀,更新和刪除 - 就像RAG模型檢索相關文檔一樣。這個過程允許人類和人工智能在不記住所有內容的情況下提供明智的答案。

這使RAG成為保​​持響應準確和最新的強大工具。

如何通過抹布和微調使LLM更準確

微調 - 該模型經過培訓,並永久存儲知識

LLM也可以通過微調直接通過新知識來直接更新外部信息。

在訓練階段使用微調來為模型提供其他特定領域的知識。現有的基本模型進一步培訓了特定的新數據。結果,它“學習”了特定的內容並內化了技術術語,樣式或某些內容,但保留了對語言的一般理解。

這使您可以微調將LLM自定義為特定需求,數據或任務的有效工具。

這是如何運作的?

  1. LLM通過專門的數據集進行了培訓。該數據集包含有關域或任務的特定知識。
  2. 調整了模型權重,以便模型將新知識直接存儲在其參數中。
  3. 訓練後,該模型可以生成答案,而無需外部資源。

現在,我們假設我們想使用一個LLM,為我們提供有關法律問題的專家答案。

為此,此LLM經過法律文本的培訓,以便在微調後可以提供精確的答案。例如,它學習複雜的術語,例如“故意侵權”,並可以在相關國家的背景下命名適當的法律依據。它不僅可以給出一般的定義,還可以引用相關法律和先例。

這意味著您不再只擁有像GPT-4O這樣的一般LLM,而是可以使用法律決策的有用工具。

如果我們再次查看與人類的類比,那麼微型學習階段後具有內在知識相當。

在學習階段之後,計算機科學專業的學生知道,CRUD一詞代表創建,閱讀,更新,刪除。他或她可以解釋這個概念,而無需查找。一般詞彙已擴大。

這種內在化可以產生更快,更自信的響應,就像一個微調的LLM一樣。

2。抹布和微調之間的差異

兩種方法都提高了LLM的特定任務的性能。

兩種方法都需要精心準備的數據才能有效工作。

兩種方法都有助於減少幻覺 - 虛假或捏造信息的產生。

但是,如果我們查看下表,我們可以看到這兩種方法之間的差異:

抹布特別靈活,因為該模型始終可以訪問最新數據,而無需重新培訓。它需要提前減少計算工作,但是在回答問題(推理)的同時需要更多的資源。延遲也可能更高。

另一方面,微調提供了更快的推理時間,因為知識直接存儲在模型權重中,並且不需要外部搜索。主要缺點是培訓是耗時且昂貴的,需要大量的高質量培訓數據。

RAG為模型提供了工具,可以在需要時在不更改模型本身的情況下查找知識,而微型調整將使用調整後的參數和權重的模型中存儲其他知識。

如何通過抹布和微調使LLM更準確

3。建立抹布模型的方法

Langchain是建立檢索增強一代(RAG)管道的流行框架。該框架有助於LLM調用與檢索系統的鏈接,並可以以目標方式從外部來源檢索信息。

抹佈在技術上如何工作?

1。查詢嵌入

在第一步中,使用嵌入模型將用戶請求轉換為向量。例如,這樣做是通過OpenAI或All-Minilm-L6-V2的Text-ebbedding-ada-002完成的。

這是必要的,因為矢量數據庫不會搜索常規文本,而是計算數值表示(嵌入)之間的語義相似性。通過將用戶查詢轉換為向量,系統不僅可以搜索完全匹配的術語,還可以識別內容相似的概念。

2。在矢量數據庫中搜索

然後將結果查詢向量與向量數據庫進行比較。目的是找到最相關的信息來回答這個問題。

使用大約最近的鄰居(ANN)算法進行此相似性搜索。眾所周知的此任務的開源工具是,例如,在大型數據集中進行高性能相似性搜索或中等大小的檢索任務中的高性能相似性搜索。

3。插入LLM上下文

在第三步中,將檢索的文檔或文本部分集成到了提示中,以便LLM根據此信息生成其響應。

4。回應產生

LLM現在將收到的信息與其通用語言詞彙結合在一起,並產生特定於上下文的響應。

Langchain的替代方案是擁抱面孔變壓器庫,該圖書館提供了特殊開發的抹布類:

  • “ ragtokenizer”將輸入和檢索結果表示化。該類處理用戶輸入的文本和檢索到的文檔。
  • “ ragretriever”類從預定義的知識庫中執行語義搜索並檢索相關文檔。
  • “ ragsequenceforgeneration”類將提供的文檔集成到上下文中,並將其轉移到答案生成的實際語言模型中。

4。微調模型的選項

雖然帶有抹布的LLM使用外部信息進行查詢,但通過微調,我們更改了模型權重,以使模型永久存儲新知識。

微調在技術上如何工作?

1。準備培訓數據

微調需要高質量的數據收集。該集合包括輸入和所需的模型響應。例如,對於聊天機器人,這些可以是提問的對。對於醫學模型,這可能是臨床報告或診斷數據。對於法律AI,這些可能是法律文本和判斷。

讓我們看一個示例:如果我們查看OpenAI的文檔,我們會發現這些模型在微調過程中使用帶有角色(系統,用戶,助手)的標準化聊天格式。這些問題解答對的數據格式是JSONL,例如,看起來像這樣:

 {“消息”:[{“角色”:“系統”,“ content”:“ du bist ein medizinischer助手。 Gelenkschmerzen。“}]}}

其他模型使用其他數據格式,例如CSV,JSON或PYTORCH數據集。

2。基本模型的選擇

我們可以使用預訓練的LLM作為起點。這些可以通過OpenAI API或開源模型,例如DeepSeek,Llame,Mistral,Mistral或Falcon或T5或Flan-T5,用於NLP任務。

3。模型的培訓

微調需要大量的計算能力,因為該模型經過了新數據的培訓以更新其權重。特別是大型型號,例如GPT-4或Llama 65B,需要強大的GPU或TPU。

為了減少計算工作,有一些優化的方法,例如LORA(低級適應性),其中僅訓練了少數其他參數,或使用Qlora(量化的LORA),其中使用了量化的模型權重(例如4位)。

4。模型部署和使用

訓練模型後,我們可以在本地或云平台上部署它,例如擁抱面部模型中心,AWS或Azure。

5。何時推薦抹布?何時推薦微調?

抹布和微調具有不同的優勢和缺點,因此適合不同的用例:

當內容動態或頻繁更新時,抹布特別適合。

例如,在FAQ聊天機器人中需要從不斷擴展的知識數據庫中檢索信息。定期更新的技術文檔也可以使用抹布有效地集成 - 無需不斷重新訓練模型。

另一點是資源:如果有限的計算能力或較小的預算可用,則不需要復雜的培訓過程,抹布就更有意義。

另一方面,當需要針對特定​​公司或行業量身定制模型時,微調是合適的。

可以通過有針對性的培訓來改善響應質量和样式。例如,LLM可以使用精確的術語生成醫療報告。

基本規則是:當知識過於廣泛或太動態而無法完全集成到模型中時,使用抹布,而在需要一致的,特定於任務的行為時進行微調是更好的選擇。

然後是筏子 - 組合的魔力

如果我們結合了兩者怎麼辦?

這就是檢索增強微調(RAFT)的情況。

該模型首先通過微調來豐富域特異性知識,以便理解正確的術語和結構。然後將模型與抹布一起擴展,以便它可以從外部數據源集成特定和最新信息。這種組合確保了深厚的專業知識和實時適應性。

公司使用兩種方法的優點。

最後的想法

這兩種方法(rag和微調)都以不同的方式擴展了基本LLM的功能。

微調專門針對特定領域的模型,而RAG則將其與外部知識相當。這兩種方法不是相互排斥的,並且可以在混合方法中合併。查看計算成本,微調是資源密集的前期,但在操作過程中有效,而抹布需要更少的初始資源,但在使用過程中會消耗更多的資源。

當知識太大或動態而無法直接集成到模型中時,抹布是理想的選擇。當需要對特定任務的穩定性和一致的優化時,微調是更好的選擇。兩種方法都具有明顯但互補的目的,使其成為AI應用程序中的寶貴工具。

在我的替代品上,我定期寫有關技術,Python,數據科學,機器學習和AI領域發表文章的摘要。如果您有興趣,請查看或訂閱。

您在哪裡可以繼續學習?

  • Openai文檔 - 微調
  • 擁抱臉博客Qlora
  • Microsoft學習 - 帶有抹布或微調的增強LLM
  • IBM技術YouTube - 抹布與微調
  • Datacamp博客 - 什麼是筏?
  • Datacamp博客 - 抹布與微調

以上是如何通過抹布和微調使LLM更準確的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn