RAFT:讓語言模型更聰明地用文檔答題

RAFT:讓語言模型更聰明地用文檔答題

作者注: 本文旨在面向零基礎讀者介紹 UC Berkeley 提出的 RAFT(Retrieval-Augmented Fine-Tuning)方法。它是一種訓練語言模型的新方式,讓模型更好地利用“外部知識”——比如文檔、網頁或數據庫回答問題。

  • 無需背景知識,本文將帶你從“開卷考試”的類比出發,逐步理解它的核心理念與實踐效果。

在這里插入圖片描述

文章目錄

  • RAFT:讓語言模型更聰明地用文檔答題
    • 一、背景:大模型真的理解文檔了嗎?
    • 二、RAFT 是什么?
    • 三、一場模擬“開卷考試”
    • 四、RAFT 的訓練方法詳解
      • 1. 訓練輸入
      • 2. 數據構造比例(P%)
    • 五、推理鏈與引用機制
    • 六、效果評估與實驗結果
    • 七、重要發現:干擾文檔不全是壞事


一、背景:大模型真的理解文檔了嗎?

如今的大語言模型(LLM),如 GPT、Claude、LLaMA 等,已具備強大的通用能力。然而,它們在處理 特定領域、基于文檔回答問題 的任務時,表現常常不盡如人意。

為什么?因為它們:

  • 要么完全靠記憶作答;
  • 要么雖然可以看文檔,但從未學會如何使用它們。

換句話說,它們面對“開卷考試”時,不知道怎么查資料


二、RAFT 是什么?

RAFT,全稱 Retrieval-Augmented Fine-Tuning(檢索增強微調),是一種專門針對特定領域問答任務的訓練方法。核心思想是:

在訓練階段,給模型配上一些 相關文檔 + 干擾文檔,讓它學會辨別、引用和推理,從而提升真實場景下的答題能力。

RAFT 屬于“后訓練”方法,適用于已有預訓練模型基礎上,通過額外訓練,適配特定文檔集合。


三、一場模擬“開卷考試”

在這里插入圖片描述

RAFT 使用了一個非常易懂的比喻——“開卷考試”,來說明不同方法之間的差別:

方法類型比喻特點
閉卷模型考試時不能看書模型只靠預訓練知識,答題效果有限
傳統 RAG 方法考試時翻書但沒準備模型能看文檔,但不懂如何使用,效果不穩定
RAFT 方法考前練習開卷考試模型在訓練階段就學會了用文檔答題,表現更好

RAFT 的“準備”包括:

  • 學會辨認哪些文檔是“有用的”
  • 學會引用文檔內容來回答問題
  • 學會寫出有邏輯的、帶有推理鏈(Chain-of-Thought) 的回答

四、RAFT 的訓練方法詳解

在這里插入圖片描述

RAFT 的訓練數據設計如下:

1. 訓練輸入

每條訓練樣本包括:

  • 一個問題(Question, Q)
  • 一組文檔(Documents, D?)
    • 1~N 篇“黃金文檔”(含有正確信息)
    • 若干“干擾文檔”(Distractors)
  • 一個推理鏈式答案(Answer, A*)

2. 數據構造比例(P%)

RAFT 有意識地控制黃金文檔的出現比例:

  • P% 的樣本包含黃金文檔
  • (1-P)% 的樣本僅包含干擾項

這樣做的目的:

  • 一方面訓練模型學會從文檔中“找答案”
  • 另一方面,保留對問題本身的理解能力(即使沒有黃金文檔,也能作答)

五、推理鏈與引用機制

RAFT 的答案不是簡簡單單的一句話,而是具備結構化的推理過程:

  • 引用內容用 ##begin_quote##...##end_quote## 包裹
  • 這樣訓練出來的模型能寫出更有邏輯、來源清晰的答案

在這里插入圖片描述


六、效果評估與實驗結果

RAFT 在多個基準任務上進行了測試,包括:

  • PubMed QA(醫學問答)
  • Hotpot QA(多跳問答)
  • Gorilla APIBench(API 使用理解)

結果如下:

模型版本Hotpot QA 分數HuggingFace 分數
LLaMA2 + RAG0.0326.43
Domain-Specific + RAG4.4142.59
RAFT(Ours)35.2874.00

我們可以看出 RAFT 相比現有方法,優勢非常明顯。


七、重要發現:干擾文檔不全是壞事

訓練中適度加入干擾文檔,反而能提升模型的魯棒性——幫助它識別無關內容而不過度“記憶”答案。
黃金文檔比例 P% 對模型性能的影響 (原文圖 5):
在這里插入圖片描述


如果你正面臨“模型不會讀文檔”的問題,RAFT 是一個值得嘗試的方案 – 但是訓練代價比較大 (個人級不推薦!)

資源鏈接

  • 論文原文:RAFT: Adapting Language Model to Domain Specific RAG
  • 代碼倉庫(包含數據和模型訓練腳本)

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/92119.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/92119.shtml
英文地址,請注明出處:http://en.pswp.cn/web/92119.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【緊急預警】NVIDIA Triton推理服務器漏洞鏈可導致RCE!

2025 年 8 月 4 日消息,NVIDIA 旗下的 Triton 推理服務器(一款支持 Windows 和 Linux 系統、用于大規模運行 AI 模型的開源平臺)被曝出一系列安全漏洞。這些漏洞一旦被利用,攻擊者有可能完全接管存在漏洞的服務器。 Wiz 安全公司…

基于深度學習的醫學圖像分析:使用PixelCNN實現醫學圖像生成

前言 醫學圖像分析是計算機視覺領域中的一個重要應用,特別是在醫學圖像生成任務中,深度學習技術已經取得了顯著的進展。醫學圖像生成是指通過深度學習模型生成醫學圖像,這對于醫學研究、疾病模擬和圖像增強等任務具有重要意義。近年來&#x…

React ahooks——副作用類hooks之useDebounceFn

useDebounceFn 是 ahooks 提供的用于函數防抖的 Hook,它可以確保一個函數在連續觸發時只執行最后一次。一、基本用法import { useDebounceFn } from ahooks; import { Button } from antd;const Demo () > {const { run } useDebounceFn(() > {console.log(…

【機器學習深度學習】 知識蒸餾

目錄 前言 一、什么是知識蒸餾? 二、知識蒸餾的核心意義 2.1 降低算力與成本 2.2 加速推理與邊緣部署 2.3 推動行業應用落地 2.4 技術自主可控 三、知識蒸餾的本質:大模型的知識傳承 四、知識蒸餾的“四重紅利” 五、DeepSeek的知識蒸餾實踐 …

Python高級編程與實踐:Python高級數據結構與編程技巧

高級數據結構:掌握Python中的高效編程技巧 學習目標 通過本課程,學員將深入了解Python中的高級數據結構,包括列表推導式、字典推導式、集合推導式和生成器表達式。學員將學習如何利用這些結構來編寫更簡潔、更高效的代碼,并了解它…

【C++】Stack and Queue and Functor

本文是小編鞏固自身而作,如有錯誤,歡迎指出!本次我們介紹STL中的stack和queue和其相關的一些容器和仿函數一.stack and queue1.適配器stack和queue其實不是真正意義上的容器,而是容器適配器,而容器適配器又是什么呢&am…

Python爬蟲實戰:研究OpenCV技術構建圖像數據處理系統

1. 引言 1.1 研究背景 在當今數字化時代,圖像作為一種重要的信息載體,廣泛存在于各類網站、社交媒體和在線平臺中。這些圖像數據涵蓋了從自然風光、人物肖像到商品展示、新聞事件等豐富內容,為數據分析和模式識別提供了寶貴的資源。隨著計算機視覺技術的快速發展,對大規模…

電感矩陣-信號完整性分析

電感矩陣:正如電容矩陣用于存儲許多信號路徑和返回路徑的所有電容量,我們也需要一個矩陣存儲許多導線的回路自感和回路互感值。需要牢記的是,這里的電感元件是回路電感。當信號沿傳輸線傳播時,電流回路沿信號路徑傳輸,然后立即從返…

JUC相關知識點總結

Java JUC(java.util.concurrent)是Java并發編程的核心工具包,提供了豐富的并發工具類和框架。以下是JUC的主要知識點,按難易程度分類,供你參考: 1. 基礎概念與工具類 1.1 并發與并行(易&#x…

激光頻率梳 3D 測量方案革新:攻克光學掃描遮擋,130mm 深孔測量精度達 2um

一、深孔測量的光學遮擋難題在精密制造領域,130mm 級深孔(如航空發動機燃油孔、模具冷卻孔)的 3D 測量長期受困于光學遮擋。傳統激光掃描技術依賴直射光束,當深徑比超過 10:1 時,孔壁中下部形成大量掃描盲區&#xff0…

clickhouse 中文數據的正則匹配

中文數據的正則匹配 在ClickHouse中,正則匹配通常用于數據的篩選、格式化等操作。以下是一些常用的正則匹配技巧: 1. 匹配中文字符 要匹配中文字符,可以使用以下正則表達式: SELECT * FROM my_table WHERE my_column REGEXP [\\x{4e00}-\\x{9fa5}];這里的 \\x{4e00}-\\…

[驅動開發篇] Can通信進階 --- CanFD 的三次采樣

驅動開發篇] Can通信進階 --- Can報文的三次采樣一、CAN FD的采樣次數1.1. 標準規定1.2. 傳統標準CAN采樣1.3. CAN FD的采樣策略1.3.1. 基礎采樣策略1.4. 配置位置1.5. 常見步驟二、CAN FD與標準CAN在采樣機制上的主要區別三、使用建議四. 芯片廠商實現4.1. 實際市面情況4.2. 例…

分布式文件系統06-分布式中間件彈性擴容與rebalance沖平衡

分布式中間件彈性擴容與rebalance沖平衡176_如果宕機的數據節點事后再次重啟會發生什么事情?某個之前某個宕機的數據節點DataNode-A又重啟后,肯定會再次注冊,并進行全量上報的流程,此時,就會導致DataNode-A上的文件副本…

芯祥科技:工業/車規級BMS芯片廠商 規格選型對比

芯祥科技公司專注于工業和車規級BMS芯片,電源芯片及可編程模擬芯片的研發與銷售,客戶遍及新能源儲能,汽車,電腦,服務器及電動工具等領域。并具有創業公司成功經驗,平均具有逾17年以上的芯片研發和市場銷售經…

莫隊基礎(Mo‘s algorithm)

莫隊算法簡介 莫隊算法是一種用于高效處理離線區間查詢問題的算法,由莫濤(Mo Tao)在2009年提出。其核心思想是通過對查詢區間進行分塊和排序,利用前一次查詢的結果來減少計算量,從而將時間復雜度優化至接近線性。 莫…

板卡兩個ADC,一個JESD204b sync正常,另一個JESD204B同步不上的問題

目錄 1.問題來源: 2.問題分析 進一步測試表現: 抓取204B高速鏈路數據如上所示。 說明不是配置流程的問題 1.問題來源: 在工控機上和部分電腦上面出現時鐘鎖不住的現象,無法正常使用板卡。 經過分析,發現板卡上有兩片ADC,其中一片的ADC的sync信號經過測量,是正常的,…

Android10 系統休眠調試相關

Android10 系統休眠調試相關實時打印休眠日志(實測好像沒作用):echo 1 > /sys/module/printk/parameters/console_suspend查看喚醒鎖:cat sys/power/wake_lock msm8953_64:/ # cat sys/power/wake_lock PowerManager.SuspendLockout PowerManagerServ…

一文掌握Bard機器翻譯,以及用python調用的4種方式(現已升級為 Gemini)

文章目錄一、Bard機器翻譯概述1.1. Bard機器翻譯介紹1.2 Bard機器翻譯的核心特點1.3 技術背景1.4 與同類模型對比二、Bard機器翻譯案例2.1 官方 REST API(推薦生產)2.2 通過Google Cloud API調用2.3 私有化部署方案2.4 開源鏡像 PyBard(無需 …

Kafka-Eagle 安裝

Kafka-Eagle官網 1)上傳壓縮包 kafka-eagle-bin-2.0.8.tar.gz 到集群第一臺的/opt/modules 目錄 2)解壓到本地 tar -zxvf kafka-eagle-bin-2.0.8.tar.gz 3)將 efak-web-2.0.8-bin.tar.gz 解壓至/opt/installs cd kafka-eagle-bin-2.0.8 …

接口請求的后臺發起確認

場景講解做業務開發時經常遇到這些場景,在后端代碼執行命中了些業務規則,需要前端用戶確認一下再往下執行。示例1:后端判斷申請1筆超過5萬的資金時會發起監管流程,告訴前端操作用戶風險并詢問是否確認執行。示例2:數據…