【模型微調】負樣本選擇

1.核心設計理念

非對稱檢索任務(例如,用一個簡短的問題去文檔庫里查找答案)的一個核心挑戰是查詢(query)和文檔(passage)在文本特征上的巨大差異。以往的研究發現,為查詢和文檔提供不同的處理機制可以提升模型性能 [39]。

Jina AI 在此基礎上更進一步,不僅使用不同的處理方式,更是設計了兩個獨立的、專門的LoRA適配器,并對它們進行聯合訓練,以最大化檢索效果 [131]。

  • retrieval.query:這個適配器專門負責將用戶的查詢文本編碼成向量 [104]。
  • retrieval.passage:這個適配器專門負責將待檢索的文檔段落編碼成向量 [104]。

在推理時,用戶可以根據輸入文本的角色(是查詢還是文檔)來選擇加載對應的適配器,從而為特定用例生成最優的嵌入向量 [103]。

2.訓練方法與優化策略

為了讓這兩個適配器能夠精準地工作,Jina AI 采用了兩種關鍵的訓練策略:

2.1. 使用硬負樣本 (Hard Negatives) 進行訓練

為了讓模型學會分辨那些“看起來很像但實際不相關”的細微差別,訓練過程大量使用了包含“硬負樣本”的數據集 [133]。

  • 什么是硬負樣本:對于一個查詢,硬負樣本指的是那些在文本上與查詢非常相似,但語義上并非正確答案的文檔。
  • 數據來源:模型使用了像 MS-MARCO 和 Natural Questions (NQ) 這樣本身就包含高質量硬負樣本的數據集進行訓練 [133]。對于沒有標注負樣本的數據集,Jina AI 會利用 BM25 或其他嵌入模型(如 BGE-large)來進行挖掘,主動找出這些難分辨的負樣本 [134]。
  • 訓練目標:在訓練中,通過 L_triplet 損失函數 [135],模型被要求將“查詢”向量與“正確文檔”(正例)的向量拉近,同時與“硬負樣本”的向量推開。

2.2. 針對性的失敗案例分析與數據增強

Jina AI 對之前的模型進行了深入的失敗案例分析,總結出四種典型的檢索失敗類型,并針對性地進行了優化 [136, 137]。

  • F1:被句法相似性誤導
    • 問題:模型傾向于選擇與查詢在字面上更相似的文檔,而不是語義上真正相關的“黃金”文檔 [138]。這個失敗案例指的是,模型傾向于選擇那些與查詢在字詞上重合度高的文檔,即使這些文檔在語義上并非正確答案 [343]。
* **例子:*** **用戶查詢:** "如何防止電腦自動更新?"* **模型錯誤偏好的文檔 (句法相似度高):**"這是一篇關于**如何**設置您的**電腦**,并開始**自動更新**以獲取最新安全補丁的指南。"* **分析:** 這個文檔包含了查詢中的所有關鍵詞:“如何”、“電腦”、“自動更新”。由于字面上的高度重疊,模型可能會錯誤地認為它非常相關。* **正確的相關文檔 (語義相關度高):**"您可以進入系統設置,在服務選項中‘禁用’Windows Update服務來**阻止**系統在后臺下載安裝包。"* **分析:** 這個文檔才是真正回答了用戶的問題,但它使用了“禁用”、“阻止”等同義詞,而不是完全重復查詢中的字詞。**失敗說明:** F1失敗案例發生時,模型會因為前一個文檔在字面上更“像”查詢,而將其排在真正能解決問題的第二個文檔之前。
  • F2:命名實體的錯誤解釋
    • 問題:模型常常無法將命名實體(如人名、書名)作為一個整體來識別,導致部分匹配錯誤(例如,查詢“Albert Stone”,模型可能會錯誤地匹配上“Sofia Albert”) [139]。
  • F3:無法理解是否(Polar)問題
    • 問題:對于復雜的“是/否”問題,模型無法有效處理,常常只能檢索到包含相關內容但并不能直接回答問題的文檔 [141]。
**例子:*** **用戶查詢:** "長城是唯一能在太空中用肉眼看到的人造建筑嗎?"* **模型錯誤檢索的文檔 (關鍵詞匹配,但未回答問題):**"**長城**是一項宏偉的**人造建筑**,橫跨中國北方。關于從**太空中**能否看到它的討論一直很激烈。"* **分析:** 這個文檔完美匹配了所有關鍵詞:“長城”、“人造建筑”、“太空”。模型因此認為它高度相關。然而,它只是描述了長城并提及了相關話題,完全沒有回答最核心的“是不是唯一”這個問題。* **正確的相關文檔 (真正回答了問題):**"不,這個說法是一個流傳已久的誤解。沒有任何人造建筑可以在近地軌道上被**肉眼**清晰地分辨出來,因此長城也并非**唯一**的那個。"* **分析:** 這個文檔直接對查詢的核心問題給出了否定回答,并進行了解釋。**失敗說明:** F3失敗案例發生時,模型表現得像一個關鍵詞匹配器,它找到了“相關主題”的文檔,卻忽略了用戶查詢的根本意圖——得到一個明確的是非判斷。
  • F4:偏好低質量文檔
    • 問題:模型只關注相關性,不考慮文檔質量,因此常常會檢索出那些雖然提及查詢詞但內容簡短、重復或信息量低的文檔 [143, 144]。

解決方案:

  • 對于F1-F3:通過精心設計的提示詞(prompt),生成了針對性的合成訓練數據 [145]。每個合成樣本包含一個查詢、一個首選的正確答案以及七個模擬上述失敗情況的負面答案 [146]。
  • 對于F4:利用了包含人類偏好判斷和質量評分的 oasst1 和 oasst2 數據集 [147, 148]。Jina AI 將這些數據轉換為硬負樣本格式:將質量分最高的答案作為正例,并將質量分低至少0.3分的其他答案作為負例進行訓練 [149, 150]。

2.3.有效性驗證

論文中的消融研究(Ablation Study)明確證實了這一雙適配器策略的有效性。研究結果表明,在非對稱檢索任務中,使用兩個適配器(2 Ad.)的性能始終優于使用單個適配器(1 Ad.) [227]。并且,由雙適配器帶來的模型能力提升,其影響比添加指令提示更為顯著 [228]。

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

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

相關文章

下載安裝redis

有任何問題,都可以私信博主,共同探討學習。 正文開始 一、下載安裝redis一、啟動redis總結 一、下載安裝redis redis官方下載地址是github,有條件的同學可以自行搜索下載。針對部分網速不太好的同學,可以通過網盤獲取&#xff0c…

flutter 項目配置Gradle下載代理

如圖, 在Android Studio中配置代理是不生效的。 需要在flutter sdk的Gradle中去配置代理

世冠科技亮相TMC,以國產MBD工具鏈賦能汽車電控系統開發新未來

2025年6月12日至13日,第十七屆國際汽車動力系統技術年會(TMC2025)在南通國際會展中心盛大召開。作為全球汽車動力系統領域規模最大、規格最高、內容最前沿的標桿性國際盛會,匯聚了來自全球整車企業、核心零部件供應商、頂尖科研機…

將本地項目與遠程 Git 倉庫關聯的完整步驟

將本地項目與遠程 Git 倉庫關聯的完整步驟 現在的情景是:本地文件項目已經寫好了,亦或者遠程倉庫已經建好了,需要與本地項目關聯起來 以下是詳細的操作流程,我會用清晰的步驟說明如何將你的本地項目與遠程 Git 倉庫關聯&#xf…

3DS 轉換為 STP 全攻略:迪威模型網在線轉換詳解

在三維模型創作與應用的多元場景中,不同格式的文件承擔著獨特的角色。3DS(3D Studio)格式是 Autodesk 3ds Max 早期廣泛使用的文件格式,常用于游戲開發、影視特效制作等領域,能夠存儲模型的幾何形狀、材質、動畫等信息…

Linux下iptables和firewalld詳解

Linux下iptables和firewalld詳解 Linux下iptables和firewalld簡述Iptables四表五鏈策略與規則鏈命令參數Firewalld終端管理工具圖形管理工具服務的訪問控制列表Linux下iptables和firewalld 簡述 ? 保障數據的安全性是繼保障數據的可用性之后最為重要的一項工作。防火墻作為公…

Kafka Connect高級開發:自定義擴展與復雜場景應對

引言 在掌握Kafka Connect基礎操作與內置連接器應用后,面對企業復雜的業務需求,如對接非標準數據源、實現特定數據處理邏輯,就需要深入到高級開發領域。本篇博客將圍繞自定義Connector開發、數據轉換編程、錯誤處理與容錯機制展開&#xff0…

吳恩達機器學習筆記:正則化2

1.正則化線性回歸 對于線性回歸的求解,我們之前推導了兩種學習算法:一種基于梯度下降,一種基于正規方程。 正則化線性回歸的代價函數為: J ( θ ) 1 2 m [ ∑ i 1 m ( h θ ( x ( i ) ) ? y ( i ) ) 2 λ ∑ j 1 n θ j 2 …

Unity中的Resources加載

Unity的Resources加載是Unity引擎中一種在運行時動態加載資源(assets)的方式,允許開發者將資源放置在特定的Resources文件夾中,并通過代碼按名稱加載這些資源,而無需在場景中預先引用。這種方式在需要動態加載資源時非…

對Vue2響應式原理的理解-總結

根據這張圖進行總結 在組件實例初始化階段,通過 observe() 方法對 data 對象進行遞歸遍歷。在這個過程中,Vue 使用 Object.defineProperty() 為data 中的每個屬性定義 getter 和 setter 來攔截對象屬性的“讀取“操作和“寫入”操作。 Vue 的依賴追蹤是…

基于深度學習的智能音頻增強系統:技術與實踐

前言 在音頻處理領域,音頻增強技術一直是研究的熱點。音頻增強的目標是改善音頻信號的質量,去除噪聲、回聲等干擾,提高音頻的可聽性和可用性。傳統的音頻增強方法主要依賴于信號處理技術,如濾波器設計、頻譜減法等,但這…

從代碼學習深度強化學習 - DQN PyTorch版

文章目錄 前言DQN 算法核心思想Q-Learning 與函數近似經驗回放 (Experience Replay)目標網絡 (Target Network)PyTorch 代碼實現詳解1. 環境與輔助函數2. 經驗回放池 (ReplayBuffer)3. Q網絡 (Qnet)4. DQN 主類5. 訓練循環6. 設置超參數與開始訓練訓練結果與分析總結前言 歡迎…

AI與大數據如何驅動工業品電商平臺的智能決策?

在轟鳴的工廠里,一臺關鍵設備因某個密封圈失效而驟然停機。生產線停滯、訂單延誤、經濟損失每分鐘都在擴大。此刻,采購經理在工業品電商平臺上瘋狂搜索,卻迷失在海量零件參數與供應商信息中。工業品的沉默,往往意味著生產線的沉默…

連接器全解析:數據庫連接器和文件連接器的區別和聯系

目錄 一、數據庫連接器和文件連接器的基本概念 1. 數據庫連接器 2. 文件連接器 二、數據庫連接器和文件連接器的區別 1. 數據存儲方式 2. 數據處理能力 3. 數據安全性 4. 數據更新頻率 三、數據庫連接器和文件連接器的聯系 1. 數據交互 2. 數據處理流程 3. 應用場景…

Uniapp 中根據不同離開頁面方式處理 `onHide` 的方法

Uniapp 中根據不同離開頁面方式處理 onHide 的方法 在 Uniapp 開發中,onHide 生命周期會在頁面隱藏時觸發,但默認無法直接區分用戶是通過何種方式離開頁面的。不過我們可以通過組合其他鉤子函數和路由事件來實現對不同離開方式的識別和處理。 一、常見…

使用Visual Studio Code實現文件比較功能

Visual Studio Code 中如何使用文件比較功能? 在 Visual Studio Code (VS Code) 中使用“比較文件”功能來查看兩個文件之間的差異是非常直觀的。 以下是具體步驟: 使用“比較文件”功能 打開 VS Code: 啟動 VS Code 編輯器。 打開第一…

(40)華為云平臺cce中掛載nginx等配置文件方法

直接在負載中添加數據存儲: 將nginx.conf文件分別存放在集群中每個cce節點對應的路徑下即可(防止pod飄節點找不到nginx.conf) 2.直接添加配置項與密鑰: 添加對應的key與value即可(nginx.conf的具體配置寫在value中&am…

web布局09

Flexbox 是現代 Web 布局的主流技術之一,它提供了一種有效的方式來定位 、排序 和 分布元素,即使在視窗或元素大小不明確或動態變化時亦是如此。Flexbox 的優勢可以用一句話來表達:“在不需要復雜的計算之下,元素的大小和順序可以…

Redux and vue devtools插件下載

Redux and vue devtools插件下載 插件下載地址 收藏貓插件

深入理解SQLMesh中的SCD Type 2:緩慢變化維度的實現與管理

在數據倉庫和商業智能領域,處理隨時間變化的數據是一個常見且具有挑戰性的任務。緩慢變化維度(Slowly Changing Dimensions, SCD)是解決這一問題的經典模式。本文將深入探討SQLMesh中SCD Type 2的實現方式、配置選項以及實際應用場景。 什么是SCD Type 2&#xff1f…