亞馬遜 RAG 新突破:REAPER 技術開啟大型智能對話助手新境界
Rufus:亞馬遜新一代智能購物助手
今年 2 月份,亞馬遜在新一代大語言模型和 RAG 技術的賦能下,推出了新的智能購物助手:Rufus。
Rufus 能夠解答顧客關于購物需求、產品對比等問題,并基于這些信息提供建議,幫助顧客發現產品。Rufus 采用了 RAG(檢索增強生成)框架,通過大型語言模型(LLM)結合一個或多個檢索來源的證據來生成對顧客查詢的回應。
作為一個復雜的對話系統,Rufus 覆蓋了非常多的用戶關心的領域,因此必須從龐大的數據存儲和索引中提取證據。這些龐大的數據并不是存儲在一個龐大的數據庫,而是分散在多個數據源。為了實現高效的檢索,對話系統需要決定查詢哪些索引,甚至在何時讓 LLM 依靠自身的知識來回答問題,而不是依賴于檢索到的證據。
? 在某些情況下,當 Rufus LLM **利用其預訓練的知識回答問題***時,甚至不需要檢索證據。
? 每個檢索來源或檢索器都與延遲和硬件成本相關,因此 Rufus 不能對每個查詢都調用所有檢索器,而是需要決定對特定查詢調用哪些檢索器。當檢索過程本身可能涉及多步驟時,情況會更加復雜。
圖片
如上圖所示,將查詢從“Galaxy 手機有多少內存”更改為“我的 Galaxy 手機有多少內存”會顯著改變檢索策略。
在第一種情況下,檢索到的證據基于關于 Galaxy 手機的一般信息,大多數大型通用 LLM 都能從其預訓練知識中回答這個問題。對于第二個問題,我們首先需要識別顧客購買的具體手機型號,并提供與該手機相關的詳細信息。
雖然 Agent 系統通過執行多次檢索和推理操作,可以解決檢索的復雜性問題,但是每一步推理都會直接導致系統響應時間的延長(這種延遲往往是秒級)。
多 Agent 系統利用分類器,將用戶查詢導向合適的智能體、讓多個智能體共同生成候選答案,再由一個最終智能體挑選出最佳選項,這無疑增加了硬件成本和系統延遲。
因此,作者推出了 REAPER——一種基于推理的規劃器,專為處理復雜查詢的高效檢索而設計。
2. 什么是 REAPER?
REAPER 僅用一個更小巧的 LLM,便能制定出一份詳盡的計劃,明確了所需調用的工具、調用順序及其參數。REAPER 在挑選合適工具序列的**準確度高達 95%,并且在生成正確工具參數方面準確度達到 92%**。
REAPER 融合了自適應 RAG、問題配對和 ReWOO 的理念,利用一個較小的大語言模型通過 CoT 來推理制定檢索計劃。相比過去的 Rufus,使用的是一個大型 LLM,大大降低了因為大型模型產生的高延遲、和高硬件成本。
圖片
如上圖所示,一個需要多步檢索的查詢示例。對于 Rufus 而言,客戶對亞馬遜產品的相關查詢是常見場景,通常在可能的情況下,將產品信息作為 REAPER 的上下文。
圖片
上圖展示了用戶在有或沒有產品上下文的情況下提出問題的提示詞。會話系統的上下文可以根據需要擴展,包括對話歷史、提問的時間/日期、用戶信息、問題所在頁面的 URL 或標識符等。為了生成檢索計劃,REAPER 需要:
? 1.完全理解所有用于生成證據的工具。
? 2.制定一個檢索計劃,能夠應對無證據檢索、單步檢索和多步檢索。由于 REAPER 很可能是進入對話系統的首站,所有這些計劃都應使用相同的提示生成。
? 3.鑒于 REAPER 的失誤可能會直接影響到客戶響應,REAPER 在選擇工具、安排順序以及工具的格式和參數方面必須達到高準確度。
? 4.為了減少延遲和硬件成本,REAPER LLM 的規模應顯著小于對話系統的答案生成 LLM。
? 5.REAPER 應能夠輕松擴展到新的檢索器或工具,而無需大量新的數據和訓練。
? 6.REAPER 不應為它以前未見過的用例虛構新工具,并應能夠適應工具集合的變化。因此,它需要保持良好的指令遵循能力,盡管不需要在一般用途的指令遵循上表現卓越,因為其主要任務是檢索計劃。
3. 如何打造一個 REAPER?
為了滿足 REAPER 的需求,作者嘗試尋找一個小巧卻能精準遵循指令的 LLM。考慮到 Mistral-7B-Instruct-v0.2 在開放 IFT 基準測試中的卓越表現,作者選擇了該模型。
但是即使是經過精心設計的提示詞調整和多次上下文示例,Mistral 模型仍然會產生幻覺,比如上圖給出的示例。
圖片
因此,作者對模型進行了定制化微調。接下來將介紹設計 REAPER 提示和篩選微調數據的方法論,以實現維持指令遵循的同時根除幻覺,同時學習檢索工具規劃的專門技能的目的。
REAPER 旨在調和兩個看似矛盾的目標:
? 首先,模型必須以精確的格式為特定領域的任務生成計劃,并確保工具準確性;
? 其次,模型應能洞察輸入的變動,包括指令和工具的細微變化,并據此調整計劃。
通過大量精確的 REAPER 計劃來訓練模型,以滿足第一個需求。但這種做法可能會使模型在規劃任務上過擬合,從而削弱其遵循指令和邏輯推理的能力。
反之,如果訓練數據中的計劃不夠充分,模型則可能產生不切實際的回應。
在對 LLM 進行指令遵循的微調時,一個關鍵的設計考量是提供多樣化的提示和輸出對,以避免模型過度適應某一特定任務模板,從而喪失嚴格遵循指令的能力。鑒于我們的主要任務是檢索規劃,引入指令集多樣性的空間相對有限,這使得挑戰更為嚴峻。
為此,作者開發了以下模塊,以增強輸入和輸出數據的多樣性。
3.1 工具演化模塊(TEvo)
一個創新的模塊——工具演化(TEvo,Evolution of Base Tool Prompt),工具提示作為輸入,生成語義相近但輸出結果保持不變的新提示。與在圖像中加入對抗性噪聲以訓練魯棒的圖像分類器類似。
為了讓模型更加關注工具及其描述,會選取針對特定查詢所需的工具,以及剩余工具中的隨機子集,納入提示的指令部分。還為每種工具構建了名稱變體和描述釋義的庫,并從中進行抽樣。例如,在回答產品相關問題時,我們的工具名稱可以是 prod_qna、product_information、product_facts 等,不一而足。最終,還通過從少量人工制定的計劃庫中抽樣,來豐富上下文示例的多樣性。
3.2 工具任務生成器(TTG)
之前的研究證明:通過提升簡單任務的難度并將其融入到 IFT 訓練數據之中,以此增強 LLM 遵循指令的能力。受此啟發,作者提出了一種創新的方法來 TTG(Tool-Task Generator)創構與檢索規劃相關的多樣化任務,以此推動 LLM 深入理解工具和檢索計劃。
設定一個基礎任務,即生成一個檢索計劃 Tprim =(x,y),這里 x 代表輸入,涵蓋了查詢 q 和上下文 c,我們將這一任務衍生出多個相關子任務。
Ti=fi (Tprimary)
其中 fi 是針對各個子任務特有的轉換函數。這些衍生任務旨在培養模型的特定能力,包括:
? (1) 根據計劃生成查詢
? (2) 補全部分計劃
? (3) 識別恰當的工具
? (4) 完成遮蔽步驟
? (5) 正確排序步驟
? (6) 識別遮蔽參數
? (7) 限定計劃中僅使用提示中給出的工具
TTG 模塊通過將這些次級任務轉換應用于基礎任務創造出多樣化的任務-目標配對集合。從這個多樣化的任務集合中抽樣,對 REAPER 模型進行微調,培育模型對任務結構的全面而深入的理解,并提升其針對復雜客戶查詢生成檢索計劃的能力。
3.3 多樣化查詢采樣器(DQS)
為了豐富提示詞的多樣性,不僅采用了工具演化(TEvo)和任務生成器(TTG),還對客戶查詢的輸入進行了多樣化處理。
相似的查詢可能會使模型陷入對特定查詢模式的依賴,這在遇到非典型案例時會導致性能下降。因此,設計了 DQS(Diverse Query Sampler),它能夠自動生成語義上差異顯著的客戶查詢樣本,并根據對話的上下文為這些樣本標注相關的工具和參數。
從一個精心策劃的高質量初始客戶查詢池出發,結合一個更大的生成或采樣的客戶查詢池。
3.4 通用 IFT 數據集
為確保模型維持其遵循指令的能力,在 REAPER 工具規劃數據的基礎上,融入了通用的指令微調數據集。選用了 ShareClaude 以及 ToolAlpaca 提供的開源工具使用數據,構成了通用 IFT 數據集,簡稱為“通用 IFT”。
為了加強模型對輸入指令中細微變化的適應性,采納了一個從 EvolInstruct 中汲取靈感的框架,該框架通過在基礎指令上增加限制條件并進行采樣,自動化地產生更為復雜的 IFT 數據,同時保持了與任務所用提示長度相當的查詢復雜性比例,稱此數據集為“通用 IFT-Evolve”。
最終,微調數據集 REAPER-IFT,是將通用 IFT、通用 IFTEvolve 與經過 TEvo、TTG 和 DQS 多樣化處理的工具注釋查詢相結合的產物。
4. 效果對比
4.1 開放模型的對比分析
一般而言,大家傾向于利用語言模型通過 iCL 來解決問題。
作者對比了 Mistral-7B-Instruct-v0.2 和 Claude3-Sonnet 通過 iCL 解決問題的效果。兩者均沒有達到預期水平,并且都出現了幻覺的現象。重要的是,Claude3-Sonnet 的響應延遲大約是每步 2 秒,而相比之下,REAPER 和 Mistral 模型完成整個計劃的延遲僅為 207 毫秒——這不僅增加了一個數量級的延遲成本,同時也意味著需要更高性能的硬件來支持 Claude3-Sonnet 的運行。
4.2 與基于分類器的規劃器對比分析
從兩個維度對模型進行評估:
? (1) 工具選擇:針對單個查詢,手動評估模型是否選擇了正確的工具并按照適當的順序執行,以檢索證據。由于多步檢索在生產系統中僅作為一個類別,這一指標能夠與生產系統的分類指標直接對比。使用準確率、精確率、召回率和 F1 分數來衡量這一評估。
? (2) 參數提取:REAPER 的另一重要方面是對工具輸入參數的準確度。當前設置下,僅有兩個工具——prod_search 和 shipment_status——需要與客戶查詢不同的參數。因此,僅針對涉及這些工具的計劃進行評估。測試基準采用 Mistral-7B-Instruct-v0.2 模型,通過為每個類別定制的提示來生成參數。而 REAPER 則能在單一提示中完成所有工具的選擇及其參數的生成。
圖片
上表展示了 REAPER、基線集成模型以及僅通過上下文調整的 Mistral-7B-Instruct-v0.2 在訓練數據規模和精確率、召回率及 F1 分數上的表現。鑒于 Mistral 工具的準確度過低,我們并未計算其參數的準確度。
由于 Rufus 是一個新系統,其流量分布目前還傾向于現有的流量模式,而非 Rufus 旨在解決的新用例。因此,并未采用流量抽樣來創建評估集,而是采用了一個包含 600 個查詢的平衡評估集,以確保相應的計劃在工具(類別)上的比例大致相等。
4.3 消融分析
圖片
上表中,展示了 TEvo、DQS 和 IFT-Evolve 各自對模型性能的貢獻。
除了評估工具選擇的準確度,還通過引入一種對抗性提示來檢驗這些組件如何輔助模型遵循指令。在這種對抗性提示中,特意移除了 prod_qna 工具,并觀察 REAPER 在測試數據集上的預測表現。根據模型的指令,它應當避免使用 prod_qna 來制定計劃。
集成了所有三個組件的 REAPER 不僅在工具選擇準確度上表現最佳,而且在指令遵循上也表現最優,其在對抗性環境中的所有計劃均未使用被排除的 prod_qna 工具。
當從訓練數據中剔除通用 IFT-Evolve,轉而使用通用 IFT 時,工具選擇的準確度有所下降。同時,模型在 24%的計劃中錯誤地使用了 prod_qna,顯示出其在遵循指令上的能力有所減弱。
當我們從訓練中移除 TEvo(任務多樣性)和 DQS(輸入查詢多樣性)時,也觀察到了準確度的顯著下降,尤其是 DQS 的移除對準確度的影響更為明顯。這表明,TEvo 對于提升模型的指令遵循能力至關重要,而 DQS 則有助于模型理解多樣化的查詢形式。
4.4 訓練數據配比的效應
圖片
上表展示了在訓練數據集中試驗的不同配比。
在訓練數據中融入 ShareClaude(通用 IFT)或其升級版——通用 IFT-Evolve 與 REAPER 計劃,是保證模型泛化能力的關鍵。
缺乏這些通用數據的支持,模型就會對 REAPER 的特定應用場景過擬合,并可能喪失遵循指令的能力。
在最糟糕的情況下,有 77%的查詢錯誤地構建了模型在訓練時接觸過但指令中未指定的工具(IFT 得分降至 0.23)。反之,如果僅依賴通用-IFT 數據進行訓練,模型在本領域內的工具選擇準確度將降至 20%。
中間的三行顯示,調整了通用 IFT-Evolve 數據所占比例,從 40%到 60%不等,而表的后三行則展示了每個查詢對應的 REAPER 規劃任務數量的變化。隨著 IFT 數據和 REAPER 計劃數量的增加,模型在兩個指標上都有所提升,但超過某一臨界點后,工具選擇的準確度會出現下降。
當 REAPER 任務與通用 IFT(通用-IFT-Evolve(全部)+ TTG(4 任務))的比例大致為 1:6 時,模型在準確度和遵循指令的能力上達到了最佳平衡。不過,隨著將系統拓展到新的檢索器和應用場景,預計還需進一步調整這些超參數以優化性能。
4.5 泛化分析:
4.5.1 REAPER 能否構思出創新的計劃?
盡管訓練數據僅限于訂單狀態情境中的多步計劃,但 REAPER 僅憑上下文示例便能為它從未遇到過的查詢類型生成恰當的工具序列。盡管偶爾會出現幻覺,但當額外引入了 25 個多樣化的多步示例后,REAPER 便能夠生成無幻覺的精確新計劃。下圖展示了一些例子:
圖片
4.5.2 REAPER 能否在數據有限的情況下進行微調?
REAPER 的一個實際應用場景是,在數據量有限的情況下適應新的檢索資源。通過新增一個名為 human_small_talk 的無證據類別來驗證這一點。僅向訓練數據中添加了 286 個此類別的實例,便發現模型的 F1 得分達到了 0.92,與那些使用數量級更多數據訓練的資源相比,表現相當。
4.5.3 REAPER 能否掌握一個全新的工具?
圖片
探究了 REAPER 在完全沒有訓練數據的情況下,僅依靠工具的上下文示例,能否學會使用一個新工具。為此,新增了一個名為 compatible_products 的工具,提供了它的描述和一些示范性示例,并發現 REAPER 能夠制定出有效的計劃。例如,對于查詢“HP 4650 的墨盒”,REAPER 生成了圖 6 所示的計劃。這也證明了 REAPER 依然保持著遵循指令的能力。
6 結論
模型的兩大優勢:
? 1)與常規分類模型相比,REAPER 在數據效率上表現卓越——它僅使用了 6K 個領域內查詢進行訓練,而分類模型則需 150K;
? 2)它能夠輕松擴展至新的檢索資源——通過向訓練數據中增加 286 個領域內查詢,我們便成功地整合了新的檢索資源。
? 3)REAPER 在速度上也比基于大型(>100B LLM)的代理系統快了一個數量級(207 毫秒對比 2 秒)。
本文轉載自??大語言模型論文跟蹤??
