xLAM: 一個(gè)賦能AI agent系統(tǒng)的動(dòng)作大模型家族
一、結(jié)論寫在前面
論文標(biāo)題:xLAM: A Family of Large Action Models to Empower AI Agent Systems
論文鏈接:??https://arxiv.org/pdf/2409.03215??
Models: ??https://huggingface.co/collections/Salesforce/xlam-models-65f00e2a0a63bbcd1c2dade4??
GitHub: ??https://github.com/SalesforceAIResearch/xLAM??
介紹了xLAM系列,這是一組用于自主AIagent的大型動(dòng)作模型。論文的模型參數(shù)范圍從1B到8x22B,通過一個(gè)可擴(kuò)展且靈活的數(shù)據(jù)管道進(jìn)行訓(xùn)練,該管道統(tǒng)一、增強(qiáng)和綜合了多種數(shù)據(jù)集。
這一多樣化的集合適用于各種應(yīng)用,其中較小的模型(1B和7B)針對設(shè)備部署進(jìn)行了優(yōu)化,而較大的模型(8x7B和8x22B)則旨在應(yīng)對更具挑戰(zhàn)性的任務(wù)。除了模型的發(fā)布,論文還提供了從agent模型訓(xùn)練經(jīng)驗(yàn)中獲得的幾個(gè)見解和教訓(xùn):
?數(shù)據(jù)處理:論文強(qiáng)調(diào)數(shù)據(jù)統(tǒng)一和增強(qiáng)在提高數(shù)據(jù)集多樣性和緩解過擬合方面的重要性。論文開發(fā)的數(shù)據(jù)預(yù)處理和增強(qiáng)管道顯著提高了agent模型在不同環(huán)境中的泛化能力。
?數(shù)據(jù)合成: 論文展示了可擴(kuò)展、高質(zhì)量數(shù)據(jù)合成對agent模型性能的影響。論文的合成數(shù)據(jù)集使xLAM模型在Berkeley Function Calling Leaderboard上獲得了前20名中的4個(gè)位置,包括獲得第一名(圖2),其中較小的模型實(shí)現(xiàn)了與更大模型相當(dāng)?shù)谋憩F(xiàn),顯示出在這一方向上的巨大潛力。
論文在公共agent基準(zhǔn)上評(píng)估了xLAM系列,展示了在各種agent任務(wù)中的卓越性能。通過開源這些模型,論文旨在推動(dòng)開源agent模型的發(fā)展,并提供關(guān)于數(shù)據(jù)處理和合成技術(shù)的寶貴見解,解決開發(fā)與專有模型競爭的替代方案的關(guān)鍵挑戰(zhàn)。
二、論文的簡單介紹
2.1 論文的背景
自主agent(autonomous agents)領(lǐng)域近年來取得了顯著進(jìn)展,大型語言模型(LLMs)在提升agent在各種任務(wù)中的能力方面發(fā)揮了關(guān)鍵作用。研究人員在開發(fā)復(fù)雜框架和專用環(huán)境方面取得了重大進(jìn)展,以增強(qiáng)agent能力,如工具使用和網(wǎng)絡(luò)瀏覽。同時(shí),像AgentBench、ToolBench和AgentBoard這樣的綜合基準(zhǔn)已經(jīng)建立,以嚴(yán)格評(píng)估agent在推理、規(guī)劃和多輪交互中的性能。
盡管行業(yè)領(lǐng)導(dǎo)者開發(fā)的專有大型語言模型(LLMs)在各種agent任務(wù)中展示了有競爭的性能,但開源社區(qū)在這一領(lǐng)域面臨專門模型的選擇有限。這種稀缺源于將開源LLMs適應(yīng)agent任務(wù)的幾個(gè)挑戰(zhàn),主要原因是缺乏全面、高質(zhì)量的數(shù)據(jù)集以及現(xiàn)有數(shù)據(jù)格式的異質(zhì)性。這些因素使得多樣化數(shù)據(jù)集的統(tǒng)一變得復(fù)雜,并阻礙了不同agent任務(wù)之間可轉(zhuǎn)移知識(shí)的習(xí)得。
最近,agent研究社區(qū)在開源agent數(shù)據(jù)處理和模型訓(xùn)練方面加大了努力。然而,這些工作在管理復(fù)雜環(huán)境和泛化到新場景方面仍面臨挑戰(zhàn),主要原因是收集的agent數(shù)據(jù)存在局限性。一個(gè)主要障礙是現(xiàn)有數(shù)據(jù)集中內(nèi)容和格式的同質(zhì)性,導(dǎo)致模型在各種任務(wù)中缺乏多樣性,并且在實(shí)際應(yīng)用中難以適應(yīng)新的或略有不同的數(shù)據(jù)結(jié)構(gòu)。盡管之前的努力嘗試設(shè)計(jì)統(tǒng)一數(shù)據(jù)的管道,但它們通常只涵蓋少數(shù)場景,或者在其統(tǒng)一格式中缺乏靈活性。例如,Lumos主要解決問答、網(wǎng)頁agent以及涉及規(guī)劃和基礎(chǔ)的數(shù)學(xué)任務(wù);而AgentOhana雖然涵蓋了更多樣化的環(huán)境,但缺乏可擴(kuò)展的統(tǒng)一格式以適應(yīng)新環(huán)境。
此外,開源數(shù)據(jù)集通常存在質(zhì)量問題,如agent輸出的錯(cuò)誤、幻覺動(dòng)作以及軌跡中的重復(fù)交互輪次[20, 21]。對agent數(shù)據(jù)缺乏詳細(xì)的分析和理解進(jìn)一步加劇了這些挑戰(zhàn),阻礙了開發(fā)穩(wěn)健且多功能的開源agent模型。解決這些挑戰(zhàn)對于推動(dòng)開源agent模型領(lǐng)域的發(fā)展,并縮小與專有LLMs在agent任務(wù)中的性能差距至關(guān)重要。
圖1:xLAM數(shù)據(jù)處理、訓(xùn)練和評(píng)估的概述。論文根據(jù)模型評(píng)估結(jié)果的診斷反饋來迭代改進(jìn)數(shù)據(jù)質(zhì)量。
圖2:xLAM模型在Berkeley Function Calling Leaderboard v2(截止日期09/03/2024)上的表現(xiàn)概述。論文的8x22b模型在排行榜上以較大優(yōu)勢位居榜首。
2.2 數(shù)據(jù)處理流水線
論文將討論用于訓(xùn)練xLAM的數(shù)據(jù)流水線,包括數(shù)據(jù)統(tǒng)一、增強(qiáng)、質(zhì)量驗(yàn)證、通用指令數(shù)據(jù)合成和偏好數(shù)據(jù)生成。
2.2.1 數(shù)據(jù)統(tǒng)一
現(xiàn)有的agent數(shù)據(jù)集來自不同的環(huán)境,并以各種格式設(shè)計(jì),引入了噪聲并使數(shù)據(jù)增強(qiáng)和驗(yàn)證變得復(fù)雜。NexusRaven 、Gorilla-Openfunctions和 AgentOhana等模型在函數(shù)調(diào)用方面表現(xiàn)出色,表明定義良好的通用格式可以顯著提升模型性能。通過標(biāo)準(zhǔn)化現(xiàn)有數(shù)據(jù)的格式,論文可以減少噪聲,并促進(jìn)更簡單的數(shù)據(jù)增強(qiáng)和質(zhì)量驗(yàn)證,從而形成一個(gè)更高效和穩(wěn)健的模型訓(xùn)練和評(píng)估框架。此外,標(biāo)準(zhǔn)化的格式確保了一致性,簡化了模型訓(xùn)練,并增強(qiáng)了模型在各種基準(zhǔn)上的泛化能力。
函數(shù)調(diào)用格式構(gòu)成了模型理解和執(zhí)行任務(wù)的基礎(chǔ),促使論文以函數(shù)調(diào)用的風(fēng)格設(shè)計(jì)統(tǒng)一的數(shù)據(jù)格式。如圖 4 所示,統(tǒng)一格式由幾個(gè)模塊組成:任務(wù)指令、可用工具、格式指令、少樣本示例、查詢和步驟。具體來說,可用工具定義了agent的動(dòng)作空間,格式指令指定了agent在生成響應(yīng)時(shí)應(yīng)遵循的輸出格式。在每個(gè)步驟中,agent的輸出、環(huán)境的反饋/執(zhí)行結(jié)果以及用戶的后續(xù)輸入被組織成一個(gè)字典。用戶與agent之間純粹的對話交互很常見,這些交互不會(huì)觸發(fā)任何API或接收相應(yīng)的觀察結(jié)果。在這些情況下,相關(guān)條目的值將簡單地保持為空。
這種統(tǒng)一格式兼容各種環(huán)境和任務(wù),使得論文的數(shù)據(jù)處理流程能夠適應(yīng)不同的數(shù)據(jù)集并擴(kuò)展到大量數(shù)據(jù)。此外,模塊化設(shè)計(jì)允許進(jìn)行細(xì)粒度的數(shù)據(jù)增強(qiáng)和質(zhì)量驗(yàn)證,這對于提高agent數(shù)據(jù)質(zhì)量至關(guān)重要。例如,通過統(tǒng)一所有可用的工具和工具調(diào)用,論文可以輕松檢查幻覺和函數(shù)調(diào)用錯(cuò)誤,并應(yīng)用各種增強(qiáng)技術(shù)。
2.2.2 數(shù)據(jù)增強(qiáng)
論文的數(shù)據(jù)增強(qiáng)策略側(cè)重于提高數(shù)據(jù)的多樣性。它涉及對現(xiàn)有數(shù)據(jù)集應(yīng)用各種變換,從而生成新的合成數(shù)據(jù)樣本。數(shù)據(jù)統(tǒng)一步驟顯著簡化了各種增強(qiáng)技術(shù)的應(yīng)用。標(biāo)準(zhǔn)化的數(shù)據(jù)格式確保了一致性和易于實(shí)現(xiàn),使得增強(qiáng)過程更加高效。具體而言,論文采用的增強(qiáng)技術(shù)可以分為提示格式增強(qiáng)和指令跟隨增強(qiáng)。
提示格式增強(qiáng):提示格式增強(qiáng)專注于基于結(jié)構(gòu)化、統(tǒng)一的數(shù)據(jù)格式創(chuàng)建各種提示格式。格式增強(qiáng)可以進(jìn)一步分為兩類:1)順序打亂。在統(tǒng)一格式中,可用工具以列表形式提供,每個(gè)工具包含名稱、描述和參數(shù)。為了避免模型對工具的特定順序產(chǎn)生過擬合,論文隨機(jī)打亂工具列表。此外,論文還打亂名稱、描述、參數(shù)的順序,以及參數(shù)內(nèi)部的順序,以不同方式呈現(xiàn)信息。論文在每一步的工具調(diào)用中也做同樣的事情。此外,論文還打亂輸入中不同部分的順序,包括任務(wù)指令、工具、格式指令、少樣本示例等。2)連接符。每個(gè)訓(xùn)練數(shù)據(jù)點(diǎn)是一對輸入和輸出序列。為了將結(jié)構(gòu)化的統(tǒng)一格式轉(zhuǎn)換為訓(xùn)練提示,論文使用特殊符號(hào)將不同部分連接成一個(gè)序列。論文創(chuàng)建了多種不同的特殊符號(hào)樣式,包括"ISTART/END OF QUERY]"、""和純文本。
指令遵循增強(qiáng):指令遵循增強(qiáng)專注于增加指令的多樣性,以提高模型的指令遵循能力。它涉及重新表述現(xiàn)有指令和添加新指令,而不引入不準(zhǔn)確和不一致性。因此,新指令的驗(yàn)證是這種增強(qiáng)的關(guān)鍵步驟。論文采用兩種方法進(jìn)行指令遵循增強(qiáng):1)任務(wù)指令重新表述。論文使用強(qiáng)大的LLM重新表述任務(wù)指令,以適應(yīng)用戶不同的輸入風(fēng)格。為了確保重新表述的指令仍然與原始版本一致,論文通過使用重新表述的指令提示LLM,并檢查LLM是否仍能遵循它們并生成正確的函數(shù)調(diào)用來驗(yàn)證它們。2)格式指令遵循。在論文的統(tǒng)一格式中,輸出格式是一個(gè)包含思考和工具調(diào)用的JSON字符串。為了避免模型對JSON格式產(chǎn)生過擬合,并使模型能夠根據(jù)不同的格式指令遵循各種輸出格式,論文準(zhǔn)備了15種不同的輸出格式及其相應(yīng)的格式指令和格式轉(zhuǎn)換器。輸出格式包括JSON、XML、YAML、純文本等。
2.2.3 數(shù)據(jù)質(zhì)量驗(yàn)證
為了進(jìn)一步了解數(shù)據(jù)質(zhì)量并徹底調(diào)查評(píng)估中的錯(cuò)誤來源,論文對統(tǒng)一數(shù)據(jù)集進(jìn)行了詳細(xì)分析。論文使用基于規(guī)則和LLM作為評(píng)判的方法,識(shí)別了數(shù)據(jù)中的一系列錯(cuò)誤。
未定義函數(shù)調(diào)用:在函數(shù)調(diào)用中,提供了一組可用函數(shù),模型應(yīng)使用其中之一生成函數(shù)調(diào)用。然而,論文發(fā)現(xiàn)許多情況下,預(yù)測的函數(shù)調(diào)用不在給定的列表中。論文通過比較函數(shù)名稱和參數(shù)名稱列表來匹配預(yù)測的函數(shù)與給定的函數(shù)。當(dāng)函數(shù)調(diào)用名稱與任何給定函數(shù)不匹配時(shí),論文稱之為未定義函數(shù)調(diào)用。當(dāng)函數(shù)名稱匹配但參數(shù)列表包含未定義參數(shù)時(shí),論文稱之為未定義參數(shù)傳遞。論文還考慮了可選參數(shù)。
參數(shù)類型錯(cuò)誤:除了上述錯(cuò)誤類型外,論文還觀察到有時(shí)模型生成了正確的參數(shù)值,但類型錯(cuò)誤。例如,當(dāng)參數(shù)期望[val1, val2, val3]時(shí),生成的參數(shù)是“[vali, val2, val3]·”,這是列表的字符串版本。在執(zhí)行函數(shù)調(diào)用時(shí),由于數(shù)據(jù)類型不正確,將發(fā)生錯(cuò)誤。論文通過比較可用工具中的參數(shù)類型和實(shí)際參數(shù)類型,識(shí)別出包含參數(shù)類型錯(cuò)誤的軌跡。論文還發(fā)現(xiàn),大多數(shù)參數(shù)類型錯(cuò)誤可以通過將參數(shù)轉(zhuǎn)換為正確的參數(shù)類型來修復(fù)。
參數(shù)幻覺:在檢查來自公共來源的統(tǒng)一數(shù)據(jù)集時(shí),論文發(fā)現(xiàn)工具調(diào)用經(jīng)常包含用戶查詢或先前步驟中不存在的參數(shù)值。這一問題出現(xiàn)的原因在于,這些數(shù)據(jù)大部分是由容易產(chǎn)生幻覺的LLMs生成的,這是LLM生成內(nèi)容中的一個(gè)常見問題。論文識(shí)別出兩種類型的幻覺:1) 生成的工具名稱或參數(shù)名稱未出現(xiàn)在提供的工具和參數(shù)列表中;2) 參數(shù)值與用戶查詢或先前步驟的觀察結(jié)果不一致。第一種幻覺通過搜索生成的工具調(diào)用和參數(shù)名稱并將其與提供的工具列表匹配來解決,因?yàn)樗鼈兌际且訨SON結(jié)構(gòu)化的,這使得處理過程高效。然而,檢測第二種幻覺,即參數(shù)值不一致的情況,更具挑戰(zhàn)性,因?yàn)楹唵蔚淖址ヅ鋵τ趶?fù)雜的查詢和任務(wù)是無效的。為了解決這個(gè)問題,論文使用LLMs作為判斷者來進(jìn)行逐步的參數(shù)幻覺檢測,檢測參數(shù)與預(yù)期查詢或先前觀察之間是否存在不匹配。
低質(zhì)量推理和規(guī)劃:論文觀察到許多數(shù)據(jù)軌跡中的推理和規(guī)劃步驟質(zhì)量較低,這是許多LLM輸出中的一個(gè)常見問題。為了解決這個(gè)問題,論文首先使用基于啟發(fā)式的規(guī)則方法過濾掉低質(zhì)量數(shù)據(jù),然后提示模型如Mixtral-8x22b-Instruct-v0.1 [35] 和 DeepSeek-V2 [36] 對選定數(shù)據(jù)的整體軌跡和單個(gè)思維步驟進(jìn)行評(píng)估。其中一部分評(píng)級(jí)結(jié)果被抽樣并由人工驗(yàn)證。論文還嘗試使用專門微調(diào)的模型來迭代這一過程。
2.2.4 數(shù)據(jù)合成
論文觀察到大多數(shù)這些公開可用的數(shù)據(jù)集存在幾個(gè)局限性。首先,這些數(shù)據(jù)集通常是靜態(tài)的,由弱模型合成,范圍有限,更重要的是,未經(jīng)執(zhí)行驗(yàn)證。其次,這些數(shù)據(jù)集主要集中在單一類型的函數(shù)調(diào)用類別,即基于提供的工具輸出單個(gè)函數(shù)調(diào)用。然而,現(xiàn)實(shí)世界場景可能包含許多其他類型的用例,例如并行函數(shù)調(diào)用場景[32],其中用戶查詢包含多個(gè)請求,模型應(yīng)在單個(gè)響應(yīng)中并行響應(yīng)并發(fā)函數(shù)調(diào)用。
為了解決這兩個(gè)問題,論文采用了一種系統(tǒng)的數(shù)據(jù)合成框架,稱為APIGen ,該框架可以根據(jù)一組可執(zhí)行的API生成可驗(yàn)證的數(shù)據(jù)集。其核心思想是一個(gè)多階段的驗(yàn)證過程,以確保生成數(shù)據(jù)的高準(zhǔn)確性和質(zhì)量。該過程包括格式驗(yàn)證(如第3.3節(jié)所述)、執(zhí)行驗(yàn)證和語義驗(yàn)證,共同幫助識(shí)別和過濾掉低質(zhì)量的數(shù)據(jù)點(diǎn),例如存在幻覺問題或參數(shù)值不準(zhǔn)確的數(shù)據(jù)。
論文利用ToolBench 中的21個(gè)類別共3,673個(gè)API,生成了總計(jì)60,000條高質(zhì)量數(shù)據(jù)。這些樣本由多個(gè)強(qiáng)大的開源語言模型生成:DeepSeek-V2-Chat和 Mixtral-8x22B-Inst。該合成框架極大地提高了數(shù)據(jù)集的魯棒性和適用性,因?yàn)榇蠖鄶?shù)低質(zhì)量數(shù)據(jù)可以通過多階段驗(yàn)證過程被識(shí)別出來。
2.2.5 數(shù)據(jù)混合
對于有監(jiān)督微調(diào)(SFT),論文的數(shù)據(jù)集結(jié)合了來自三個(gè)主要來源的訓(xùn)練樣本:清洗和增強(qiáng)的agent數(shù)據(jù)集、合成函數(shù)調(diào)用數(shù)據(jù)集以及通用指令微調(diào)數(shù)據(jù)集。這些來源用于訓(xùn)練通用xLAM模型。
具體而言,為了增強(qiáng)xLAM的通用指令能力,論文整合了來自DialogStudio和Data Provenance的多樣化指令調(diào)優(yōu)數(shù)據(jù)集。論文采用基于規(guī)則的技術(shù)過濾掉低質(zhì)量數(shù)據(jù),如重復(fù)的詞語和對話輪次,這些常見于較弱模型生成的內(nèi)容。論文還移除了包含不當(dāng)內(nèi)容、響應(yīng)和非商業(yè)許可的數(shù)據(jù)。此外,論文對相似的用戶查詢進(jìn)行去重,并按領(lǐng)域或類別組織數(shù)據(jù)。隨后,論文提示Mixtral-8x22b-Instruct-v0.1和DeepSeek-V2評(píng)估所選數(shù)據(jù)中的整個(gè)對話和單個(gè)系統(tǒng)響應(yīng)。這部分指令數(shù)據(jù)占論文訓(xùn)練集的20%到30%。為了進(jìn)一步增強(qiáng)模型魯棒性,論文保留了通用指令調(diào)優(yōu)數(shù)據(jù)的原始格式。
為了增強(qiáng)xLAM-7b-fc-r和xLAM-1b-fc-r的功能調(diào)用能力,論文采用針對性的訓(xùn)練方法,其中50%的訓(xùn)練數(shù)據(jù)來自論文高質(zhì)量的合成功能調(diào)用數(shù)據(jù)集。其余50%的訓(xùn)練數(shù)據(jù)從論文訓(xùn)練集中的其他任務(wù)中采樣。
對于直接偏好優(yōu)化(Direct Preference Optimization,DPO),論文提示較弱模型為每個(gè)來源的選定數(shù)據(jù)生成和評(píng)分響應(yīng),然后抽取子集進(jìn)行人工驗(yàn)證。在對模型和提示進(jìn)行調(diào)整后,論文將選定的響應(yīng)分類為被拒絕的樣本。
2.3 模型訓(xùn)練
2.3.1 建模
論文采用監(jiān)督微調(diào)(SFT)方法,進(jìn)一步將模型檢查點(diǎn)與DPO方法對齊,并利用論文靈活數(shù)據(jù)管道的魯棒性。論文的訓(xùn)練代碼基于HuggingFace Transformers和Accelerate庫,以及PyTorch FSDP。在訓(xùn)練過程中,模型經(jīng)歷多個(gè)epoch,每次數(shù)據(jù)集隨機(jī)打亂。在使用多設(shè)備數(shù)據(jù)并行時(shí),論文根據(jù)進(jìn)程ID多樣化隨機(jī)種子,通過分區(qū)、打亂和交錯(cuò)確保數(shù)據(jù)分布均衡,從而增強(qiáng)訓(xùn)練過程的魯棒性和可重復(fù)性。
通用xLAM模型的微調(diào)在Nvidia H100 GPU上進(jìn)行。對于SFT,論文使用全微調(diào)框架,采用完全分片數(shù)據(jù)并行算法。在xLAM-8x22b-r的情況下,論文整合了LoRA,以更好地保留模型的原始能力并防止災(zāi)難性遺忘。LoRA也用于所有xLAM模型的DPO對齊。此外,論文使用帶有100個(gè)預(yù)熱步數(shù)的余弦學(xué)習(xí)率調(diào)度器來優(yōu)化性能。
xLAM-FC模型針對不同類別的函數(shù)調(diào)用agent,包括簡單、多重、并行和并行多重。這些類別旨在增強(qiáng)模型在不同場景中的性能。例如,一個(gè)簡單的查詢,如獲取某個(gè)地點(diǎn)的天氣(例如,“今天帕洛阿爾托的天氣如何?”)可以通過調(diào)用get weather("Palo Alto", "today")來處理。多重查詢涉及從多個(gè)API中選擇適當(dāng)?shù)暮瘮?shù),而并行查詢則需要同時(shí)執(zhí)行多個(gè)函數(shù)調(diào)用。此外,模型在相關(guān)性檢測方面進(jìn)行了訓(xùn)練,以確保函數(shù)調(diào)用、執(zhí)行結(jié)果與查詢目標(biāo)之間的一致性。
表1:xLAM模型系列概覽。
2.3.2 xLAM模型系列
論文介紹了一系列針對不同用例定制的agent模型。論文的旗艦?zāi)P拖盗衳LAM基于Mixtral Instruct[35]模型構(gòu)建,旨在在多樣化的agent任務(wù)中實(shí)現(xiàn)平衡性能,從復(fù)雜的多輪交互到函數(shù)調(diào)用應(yīng)用。為確保其多功能性,xLAM在論文訓(xùn)練數(shù)據(jù)集中均勻采樣的數(shù)據(jù)上進(jìn)行了訓(xùn)練。
除了通用的xLAM模型外,論文還基于DeepSeek-Coder-7B-instruct-v1.5和DeepSeek-Coder-1.3B-instruct分別開發(fā)了兩個(gè)專門用于函數(shù)調(diào)用用例的模型,xLAM-7b-fc-r和xLAM-1b-fc-r [49]。較小的模型尺寸提供了更高的可訪問性,使用戶能夠輕松地在單個(gè)GPU上托管它們,以解決各種函數(shù)調(diào)用任務(wù),從簡單的用戶查詢到并行并發(fā)請求。
通過提供一系列不同尺寸和專業(yè)化的模型,xLAM系列滿足了廣泛的用戶需求和計(jì)算資源,使強(qiáng)大的agent能力更易于訪問和適應(yīng)實(shí)際應(yīng)用。
2.4 實(shí)驗(yàn)
2.4.1 基準(zhǔn)測試
在考慮了環(huán)境的穩(wěn)定性和研究預(yù)算限制后,論文在四個(gè)嚴(yán)格的基準(zhǔn)測試中評(píng)估了模型的性能:Webshop、ToolQuery、ToolBench和Berkeley函數(shù)調(diào)用基準(zhǔn)測試。每個(gè)基準(zhǔn)測試旨在評(píng)估模型在各種設(shè)置和約束下的不同能力。
Webshop是一個(gè)交互式網(wǎng)絡(luò)環(huán)境,旨在模擬在線購物體驗(yàn),測試agent在電子商務(wù)任務(wù)中的導(dǎo)航和協(xié)助能力。Webshop包含大約250個(gè)測試用例。
ToolQuery評(píng)估agent在跨領(lǐng)域使用工具檢索和處理信息的能力。ToolQuery在三個(gè)不同的設(shè)置中提供了60個(gè)測試用例:天氣、電影和學(xué)術(shù)。
論文使用AgentBoard [10]的測試配置來評(píng)估Webshop和ToolQuery。這些配置通過成功率和進(jìn)展率來評(píng)估整體性能,其中成功率是更為關(guān)鍵的指標(biāo)。
論文還評(píng)估了ToolQuery-Unified,它本質(zhì)上就是ToolQuery,但要求agent按照83.2中描述的增強(qiáng)提示格式攝取任務(wù)指令和工具,并按照統(tǒng)一格式解決任務(wù)。在這種設(shè)置下測試agent的目的是評(píng)估其在結(jié)構(gòu)化格式上的推理和工具使用能力。
ToolBench是為通過RapidAPI實(shí)時(shí)評(píng)估多輪推理和交互能力而開發(fā)的,包含約1,000個(gè)測試用例。它使用通過率作為指標(biāo),其中軌跡和最終響應(yīng)被發(fā)送給GPT-4-0125-preview,以確定agent的最終響應(yīng)是否成功解決了給定的用戶查詢。評(píng)估涵蓋了領(lǐng)域內(nèi)和領(lǐng)域外的設(shè)置,包括使用熟悉的工具處理未見過的指令、在先前已知類別中使用未見過的工具,以及完全新的未見過工具類別。
Berkeley Function-Calling Leaderboard (BFCL) Benchmark [32] 提供了一個(gè)全面的評(píng)估框架,用于評(píng)估agent在各種編程語言和應(yīng)用領(lǐng)域中推理和執(zhí)行函數(shù)調(diào)用的能力。該基準(zhǔn)包含超過2,200個(gè)測試用例,挑戰(zhàn)模型處理復(fù)雜場景,如在Java、JavaScript和Python等語言中的并行和多重函數(shù)調(diào)用。評(píng)估指標(biāo)包括非可執(zhí)行測試查詢的抽象語法樹(AST)準(zhǔn)確性、通過運(yùn)行API獲取結(jié)果的可執(zhí)行準(zhǔn)確性,以及一個(gè)相關(guān)性檢測分?jǐn)?shù),該分?jǐn)?shù)衡量agent區(qū)分非相關(guān)查詢和提供工具的能力。
重要的是,論文的評(píng)估使用了截至截止日期2024年9月3日的最新BFCL v2版本。v2版本引入了實(shí)時(shí)函數(shù)調(diào)用和用戶貢獻(xiàn)的真實(shí)場景,通過利用用戶提供的數(shù)據(jù)解決了數(shù)據(jù)污染、偏見和公平性等問題。這個(gè)更新后的數(shù)據(jù)集更好地反映了現(xiàn)實(shí)世界的分布,表現(xiàn)為在多個(gè)函數(shù)中選擇的需求增加,而對并行函數(shù)調(diào)用的需求減少。例如,論文的分析表明,在v2基準(zhǔn)測試中,可用函數(shù)的平均數(shù)量增加了一倍,而函數(shù)調(diào)用的平均數(shù)量減少了一半,相比于非實(shí)時(shí)的v1數(shù)據(jù)。需要注意的是,論文所有的模型都是在BFCL v2實(shí)時(shí)數(shù)據(jù)發(fā)布之前訓(xùn)練的。
2.4.2實(shí)驗(yàn)結(jié)果
2.4.2.1 Webshop和ToolQuery
表 2 :Webshop和ToolQuery的測試結(jié)果。粗體和下劃線結(jié)果分別表示成功率的最佳結(jié)果和第二佳結(jié)果。
網(wǎng)頁商店(Webshop)。表2展示了在Webshop和ToolQuery環(huán)境中,最先進(jìn)的語言和agent模型之間的詳細(xì)比較,說明了xLAM模型在性能上的穩(wěn)健和強(qiáng)大。在Webshop環(huán)境中,xLAM-7b-r不僅以0.414的成功率達(dá)到了最高的成功率,超過了其他通用LLM如GPT-4-0125-preview、GPT-4o-2024-0523和Claude2,還優(yōu)于專門的agent模型如AgentOhana-8x7b和Lemur-70b。這展示了xLAM模型在網(wǎng)頁交互環(huán)境中有效導(dǎo)航和執(zhí)行任務(wù)的卓越能力。
工具查詢(ToolQuery)。在更為復(fù)雜且未知的ToolQuery環(huán)境中,xLAM-8x7b-r和xLAM-8x22b-r也表現(xiàn)出高水平的性能,如表2所示,以0.683的成功率排名第二。這相較于Mixtral-8x7b-inst和Mixtral-8x22b-inst的基礎(chǔ)性能(分別為0.167和0.400)有顯著提升。值得注意的是,所有三個(gè)xLAM模型都超過了Mixtral-8x22B-Instruct模型。盡管Mixtral-8x22B-Instruct擁有大量的參數(shù)和針對高級(jí)功能如函數(shù)調(diào)用、推理和復(fù)雜工具使用的專門調(diào)優(yōu),但其性能仍不及xLAM模型。此外,與其他通用LLM一樣,它缺乏關(guān)于數(shù)據(jù)收集、統(tǒng)一過程和其他關(guān)鍵細(xì)節(jié)的透明度,這與xLAM的開源目的形成對比。這些結(jié)果顯示了論文提出的數(shù)據(jù)統(tǒng)一和合成數(shù)據(jù)管道的有效性。
表3:ToolQuery-Unified的測試結(jié)果。加粗和下劃線的結(jié)果分別表示成功率的最佳結(jié)果和第二最佳結(jié)果。括號(hào)中的值表示在ToolQuery上的相應(yīng)性能。
工具查詢-統(tǒng)一格式。當(dāng)工具查詢的系統(tǒng)提示以圖 5 所示的統(tǒng)一格式呈現(xiàn)給模型,并要求模型遵循提供的格式指令生成結(jié)構(gòu)化輸出時(shí),論文觀察到 xLAM 模型的表現(xiàn)比 GPT 模型更為一致,如表 3 所示。盡管 GPT-4o 的表現(xiàn)相比工具查詢下降了 42%,但論文的最佳 xLAM 8x22b 模型仍保持了相當(dāng)?shù)男阅堋_@可以歸因于 xLAM 在遵循統(tǒng)一格式的軌跡上進(jìn)行訓(xùn)練,使其在推理過程中表現(xiàn)一致。同時(shí)進(jìn)行的其他研究 [50] 也觀察到,當(dāng)大型語言模型(LLMs)被限制以特定格式生成輸出時(shí),在推理任務(wù)上的表現(xiàn)有所下降。深入分析表明,這種下降不僅僅是由于輸出格式錯(cuò)誤,而是模型自身推理能力的下降。
2.4.2.2 工具庫
表4展示了工具庫的結(jié)果,其中 xLAM 模型表現(xiàn)出色。它們在所有測試設(shè)置中均超過了 TooLlama-V2 和 GPT-3.5-Turbo-0125。此外,xLAM 模型在涉及未見指令和未見工具的場景中優(yōu)于 AgentOhana-8x7b,同時(shí)在未見工具設(shè)置中達(dá)到了與 GPT-4-0125-preview 相當(dāng)?shù)男阅?。這些結(jié)果顯示了 xLAM 模型在多輪推理和復(fù)雜工具使用方面的強(qiáng)大能力,能夠有效處理領(lǐng)域內(nèi)和領(lǐng)域外的任務(wù)。
2.4.2.3 伯克利函數(shù)調(diào)用基準(zhǔn)(Berkeley Function-Calling Benchmark)
表 5 展示了在 BFCL v2 基準(zhǔn)(截止日期 2024年9月3日)上的實(shí)驗(yàn)結(jié)果,顯示了論文的 xLAM 模型系列在函數(shù)調(diào)用任務(wù)中的卓越表現(xiàn)。值得注意的是,xLAM 模型占據(jù)了前二十名中的四個(gè)位置,證明了論文的數(shù)據(jù)流水線和訓(xùn)練方法在各種模型規(guī)模上的有效性。
論文的旗艦?zāi)P?xLAM-8x22b-r 在基準(zhǔn)測試中取得了最高的總體準(zhǔn)確率 87.31%,超越了所有其他模型。這一結(jié)果驗(yàn)證了論文的數(shù)據(jù)處理和模型訓(xùn)練流程在提升模型功能調(diào)用能力方面的有效性。緊隨其后,xLAM-8x7b-r 排名第 6,表現(xiàn)優(yōu)于包括 GPT-4o-mini 和 Claude-3 在內(nèi)的多數(shù)知名模型。
表 4:在 ToolBench 上三種不同場景的通過率。加粗和下劃線的結(jié)果分別表示每種設(shè)置下的最佳結(jié)果和第二佳結(jié)果。由于 ToolBench 服務(wù)器在 2024 年 7 月 28 日至論文的評(píng)估截止日期 2024 年 9 月 3 日期間宕機(jī),xLAM-8x22b-r 的結(jié)果無法獲取。
論文的模型性能表現(xiàn)出與模型規(guī)模清晰的擴(kuò)展關(guān)系,這一趨勢在xLAM-7b-r中得到了體現(xiàn),該模型以80.33%的準(zhǔn)確率排名第14位。該模型優(yōu)于多個(gè)更大且資源密集型的替代方案,包括多個(gè)GPT-4和GPT-4o版本,突顯了小型模型在agent領(lǐng)域的潛力。
也許最值得注意的是,論文最小的模型xLAM-1b-fc-r以75.439%的準(zhǔn)確率排名第32位,超越了像Claude-3-Opus(FC)和GPT-3.5-Turbo這樣的更大模型。這一表現(xiàn)突顯了論文的數(shù)據(jù)合成框架在生成高質(zhì)量、多樣化數(shù)據(jù)集方面的能力,這些數(shù)據(jù)集即使對于較小的語言模型也能增強(qiáng)函數(shù)調(diào)用的效果。
同樣值得注意的是,BFCL v2基準(zhǔn)測試[32]包含了一個(gè)在論文模型訓(xùn)練日期之后發(fā)布的實(shí)時(shí)數(shù)據(jù)集。這些新鮮數(shù)據(jù)來自論文模型完全未見過的真實(shí)用戶查詢。盡管如此,論文的模型在處理這些真實(shí)世界用例時(shí)表現(xiàn)出強(qiáng)大的泛化能力。從8x22億到10億參數(shù)的一系列模型中,持續(xù)強(qiáng)勁的表現(xiàn)展示了論文方法的可擴(kuò)展性和多功能性。這種可擴(kuò)展性尤為顯著,因?yàn)樗沟迷谫Y源受限環(huán)境中適合使用的小型模型能夠取得強(qiáng)大結(jié)果,同時(shí)也適用于更苛刻應(yīng)用的大型模型。此外,論文的小型模型能夠與更大的替代方案競爭,這表明在各種現(xiàn)實(shí)場景中高效部署具有顯著潛力。
2.4.3 消融研究
論文對7B模型進(jìn)行了消融研究,以衡量數(shù)據(jù)管道中各個(gè)步驟的影響。為此分析準(zhǔn)備了三個(gè)數(shù)據(jù)集:原始數(shù)據(jù)、增強(qiáng)數(shù)據(jù)和增強(qiáng)+清洗數(shù)據(jù)。原始數(shù)據(jù)代表數(shù)據(jù)統(tǒng)一前的數(shù)據(jù)集,而其他兩個(gè)數(shù)據(jù)集則是統(tǒng)一后的數(shù)據(jù)。圖表展示了在這三個(gè)數(shù)據(jù)集上訓(xùn)練的模型的評(píng)估結(jié)果。用于此評(píng)估的指標(biāo)來自ToolBench的G1指令和Webshop及ToolQuery的成功率。結(jié)果表明,增強(qiáng)數(shù)據(jù)在ToolBench上提升了2.3%,在Webshop上提升了5.8%,在ToolQuery上提升了18.3%,顯示出一致的改進(jìn)。
此外,數(shù)據(jù)清洗的加入使得ToolQuery的性能大幅提升,進(jìn)一步提高了23.4%。這些結(jié)果突顯了數(shù)據(jù)增強(qiáng)和清洗過程在數(shù)據(jù)管道中的有效性。
本文轉(zhuǎn)載自 ??AI帝國??,作者: 無影寺
