自定義嵌入模型對于有效的信息檢索至關重要,尤其是在處理法律文本、病歷或多輪客戶對話等特定領域的數據時。通用、開放領域模型通常難以捕捉此類專業內容的細微差別和結構。
對話式 AI 產品分析平臺 Coxwave Align 正在使用 NVIDIA NeMo Curator 構建特定領域的高質量數據集,以微調嵌入模型。這種定制改進了查詢和文檔之間的語義對齊,在檢索準確性方面優于開源和閉源替代方案。
這些經過微調的嵌入被集成到 Coxwave 的 Retrieval-Augmented Generation (RAG) 工作流中,作為檢索器組件的基礎。增強型檢索器會生成更相關的候選文檔,然后在到達生成步驟之前將這些文檔傳遞給重排序器進行更深入的評估。
與直觀的“更多數據等于更好的性能”方法相反,Coxwave 發現嚴格的數據 curation 遠比僅僅增加數據集大小更有效。與訓練時間縮短 6 倍相比,在預處理和刪除冗余模式方面投入的時間微乎其微,而生成的模型顯示出更好的泛化,并減少了對類似對話結構的過擬合。
雖然微調帶來了潛在的延遲和可擴展性權衡,但仔細的數據管護使 Coxwave 團隊能夠使用更小的優化模型。這縮短了推理時間,減少了需要重新排序的文檔,使系統在生產中既準確又高效。
在這篇博客文章中,我們介紹了 NeMo Curator 功能,Coxwave 團隊使用這些功能構建數據處理工作流并整理高質量數據。本文啟發了其他企業和開發者思考各種決策,對嵌入模型進行微調,以提高多輪檢索系統的整體準確性。
檢索多輪對話
Coxwave Align 是一款適用于對話式 AI 應用的高級分析引擎。它可以幫助團隊分析對話以確定用戶何時感到滿意或不滿意,識別對話中可能帶來新收入機會的模式,并了解一些用戶進行更長對話的原因,以便通過數據驅動的見解改進產品。
與用于在靜態文檔中搜索的傳統信息檢索 (IR) 系統不同,其模型針對動態對話歷史記錄中的搜索進行了專門優化。這一領域的轉變帶來了獨特的挑戰:對話式數據的結構、語義和流與傳統文檔的結構、語義和流不同,而用戶查詢的格式往往反映了這種差異。因此,傳統的 IR 技術在應用于對話數據時存在缺陷。
為了應對這些挑戰,Coxwave 對其檢索模型進行了微調,以便更好地理解對話語境、意圖和回合制對話的細微差別。為此,他們使用 NVIDIA NeMo Curator 為這些對話式用例定制了一個高質量、特定領域的數據集。

他們的方法超越了獲取最相關響應的簡單檢索方法。相反,他們的 embedding models 會從不同的對話周期和片段中檢索前 K 個最相關的數據點。該系統可以分析和合成多個交互點的信息,為復雜查詢創建更全面、更符合上下文的響應。
例如,假設用戶請求產品支持聊天機器人:
“為什么我的賬單沒有顯示上個月的折扣?”
然后,系統會識別并檢索多個相關對話回合中的信息,即最初討論折扣的回合、包含billing cycle policies的階段以及確認資格的回合。通過合成這些對話片段中的知識,系統可以構建對跨多個交互點的復雜上下文相關查詢的全面響應。
整理高質量數據以進行微調
如圖 2 所示,Coxwave 的團隊從大約 240 萬個對話數據樣本 (約 9.1 GB) 開始,其中包含開源對話數據和合成對話。該團隊使用 NeMo Curator 功能 (例如精確重復數據刪除、模糊重復數據刪除、質量過濾和語義重復數據刪除) ,通過分步過濾來系統地完善數據。最后,該團隊整理并刪除了約 76% 的數據,并整理了 605,000 個高質量對話樣本。

“借助 NeMo Curator,我們能夠高效處理數據,并針對嵌入模型定制量身打造高質量數據集,準確率提高了約 12%。訓練數據大小的減少將我們的訓練時間縮短了 6 倍 (從 32 小時縮短到僅 5 小時 6 分鐘到 6 小時) ,顯著提高了模型的收斂速度,并節省了 80% 的計算成本,”在 Coxwave 的 AI 研究團隊負責人 Sangyeop Kim 說道。
讓我們更詳細地了解每個步驟:
精確和模糊的重復數據刪除
NeMo Curator 重復數據刪除模塊在預處理 (清理) 大型對話式數據集方面發揮了至關重要的作用。其中,準確和模糊重復數據刪除在識別細微變化的對話方面表現出色,這通常是由提示工程或 rephrasings 引起的。準確重復數據刪除模塊通過對每個文檔進行哈希處理并在每個哈希中僅保留一個文件來高效識別和刪除相同文檔,而模糊重復數據刪除模塊通過計算 MinHash 簽名和采用 locality sensitive hashing (LSH) 來檢測具有高 Jaccard 相似性的文檔,來識別和刪除近乎重復的文檔。
通過使用精確和模糊的重復數據刪除,Coxwave 團隊過濾掉了約 5% 的數據 (從 2.47 到 2.35 million 次對話)。
語義重復
?NeMo Curator 語義重復數據刪除模塊通過使用嵌入和聚類技術,識別和刪除語義相似的文檔 (即使它們并非完全匹配) ,從而提高數據集質量。NeMo Curator 使用 RAPIDS 庫加速 GPU 上的精確、模糊和語義復制,顯著縮短數據處理時間。
通過使用語義重復,Coxwave 團隊刪除了大約 57% 的過濾數據。
質量過濾
為了整理高質量數據,Coxwave 團隊使用了 NeMo Curator Quality Classifier,這是一種文本分類模型,可將文檔分類為“高”、“中”或“低”質量。通過質量過濾,數據進一步從 1.08 萬次過濾到 610,000 次高質量對話
啟發式過濾
最后,Coxwave 團隊利用 heuristic filters 來消除包含過多標點符號、URL 和重復信息的對話,并刪除 5,000 次對話,過濾了 605,000 次高質量對話。
合成數據構建
使用 605,000 左右的對話,該團隊為每次對話生成了 5 個合成查詢 (2 個正查詢和 3 個硬負查詢),從而創建了 3,000,000 個查詢對話對。該團隊通過檢查每個查詢與其對應對話之間的關系,專注于驗證這些查詢對的質量。通過此驗證過程,他們將最初的 3,000,000 對篩選為 2,500,000 對高質量的查詢對話對,并通過了對最終數據集的全面質量測試。
所使用的工作流 Coxwave 只是其中一個示例。企業可以通過選擇最適合其目標和工作流程的 NeMo Curator 的各種功能來定制自己的功能。請注意,在許多企業中,可能沒有足夠的數據來評估和定制 RAG 系統。為了解決這一問題,NeMo Curator 團隊提供了用于評估和微調 RAG 流程的合成數據生成流程。查看博文。
結果
通過使用包含 1500 個查詢和 9100 個對話的測試集,Coxwave 團隊評估了他們的微調模型,使用 NDCG@10 來衡量排名質量,并使用 Recall@10 來衡量檢索到的相關結果的數量。然后,他們將結果與領先的開源和專有嵌入模型進行比較。結果令人印象深刻,微調后的模型的表現優于所有對比模型。
圖 3 顯示了一個條形圖,其中比較了微調嵌入模型與跨各種閾值的其他模型的準確性。對于這兩個指標,微調后的模型的性能比下一個最佳替代方案要高 15-16%。

由于精選數據較小,模型訓練時間縮短了約 6 倍,從處理未處理數據的 32 小時縮短到 5 小時。訓練損失也大大降低,振幅范圍和間隔相對較小,從而實現了穩定的訓練。

開始使用
總之,Coxwave 團隊使用 NeMo Curator 來整理高質量對話式數據,以便自定義嵌入模型,與下一個最佳替代方案相比,準確率提高了 15%。NeMo Curator 還幫助減小了數據大小,進而將訓練時間縮短了 6 倍。
如需詳細了解 NeMo Curator 的數據處理功能以及如何在數據工作流中使用這些功能,請查看以下鏈接。
- 使用合成數據評估和增強 RAG Pipeline 性能
- NeMo Curator 開發者頁面
- NeMo Curator GitHub – 別忘了添加資源庫中的明星,以便接收更新、訪問教程并貢獻代碼到 repo。
?