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