自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

LLMCompiler:大模型的并行工具調(diào)用 原創(chuàng)

發(fā)布于 2024-6-6 07:51
瀏覽
0收藏

大型語(yǔ)言模型(LLM)有一些固有限制,如知識(shí)截?cái)?、較差的算術(shù)能力或無(wú)法訪問(wèn)私有數(shù)據(jù)等。為了克服這些限制,研究人員使用了諸如檢索增強(qiáng)生成(Retrieval Augmented Generation,RAG)的技術(shù),該技術(shù)通過(guò)查詢向量或結(jié)構(gòu)化數(shù)據(jù)庫(kù),在提示中添加相關(guān)上下文的結(jié)果。

像Toolformer和ReAct這樣的創(chuàng)新提高了LLM的性能,使其能夠使用外部函數(shù)進(jìn)行復(fù)雜問(wèn)題的解決。LLM整合各種工具和函數(shù)調(diào)用的能力可能會(huì)導(dǎo)致在開(kāi)發(fā)基于LLM的軟件時(shí)發(fā)生根本性的轉(zhuǎn)變。當(dāng)前方法(特別是ReAct)存在一些挑戰(zhàn):

  • 準(zhǔn)確性:連接中間觀察結(jié)果可能會(huì)影響LLM的執(zhí)行流程,從而降低準(zhǔn)確性。
  • 串行執(zhí)行:無(wú)法并行運(yùn)行多個(gè)工具。
  • 可靠性:中間結(jié)果可能會(huì)影響LLM跟蹤任務(wù)的能力。
  • 可測(cè)試性:很難為代碼的特定路徑創(chuàng)建單元測(cè)試。
  • 長(zhǎng)期規(guī)劃:當(dāng)前的LLM在長(zhǎng)期規(guī)劃方面表現(xiàn)不佳。
  • 調(diào)試:需要手動(dòng)閱讀中間思考/觀察,并推理LLM為什么得出錯(cuò)誤的結(jié)果。
  • 容錯(cuò)性:很難從LLM的錯(cuò)誤決策中恢復(fù)(無(wú)重新規(guī)劃)。

?? 如果我們能將問(wèn)題分解為更易處理的函數(shù)調(diào)用,會(huì)怎樣?

這與熟練的程序員在大規(guī)模代碼中所做的類(lèi)似,將代碼分解成較小、易于推理、調(diào)試和測(cè)試的部分。編寫(xiě)正確調(diào)用這些部分的控制邏輯,并使用try/except進(jìn)行錯(cuò)誤處理。

這正是LLMCompiler想要解決的問(wèn)題!

LLMCompiler是第一個(gè)優(yōu)化LLM函數(shù)調(diào)用編排的框架,它不僅可以提高響應(yīng)時(shí)間和成本,還可以通過(guò)減少中間函數(shù)調(diào)用的干擾來(lái)提高準(zhǔn)確性,并優(yōu)化LLM的并行函數(shù)調(diào)用性能。

從高層次上看,這是通過(guò)引入三個(gè)關(guān)鍵組件來(lái)實(shí)現(xiàn)的:

  • LLM計(jì)劃器:用于識(shí)別執(zhí)行流程的LLM計(jì)劃器;
  • 任務(wù)獲取單元:根據(jù)貪婪策略,將任務(wù)并行地發(fā)送給執(zhí)行器;
  • 執(zhí)行器:使用關(guān)聯(lián)函數(shù)執(zhí)行任務(wù)的執(zhí)行器。

LLMCompiler概述

LLMCompiler:大模型的并行工具調(diào)用 -AI.x社區(qū)


LLM計(jì)劃器:LLM計(jì)劃器生成一個(gè)任務(wù)序列及其依賴(lài)關(guān)系,形成一個(gè)有向無(wú)環(huán)圖。它利用LLMs的推理能力,識(shí)別任務(wù)、輸入和相互依賴(lài)關(guān)系。如果一個(gè)任務(wù)依賴(lài)于之前的任務(wù),它將使用占位符變量,在稍后用該任務(wù)的實(shí)際輸出替換該變量。

計(jì)劃器利用LLMs的推理能力,通過(guò)預(yù)定義的提示將自然語(yǔ)言輸入分解為任務(wù),并指導(dǎo)它如何創(chuàng)建依賴(lài)圖并確保正確的語(yǔ)法格式。

任務(wù)獲取單元:任務(wù)獲取單元根據(jù)貪婪策略,一旦任務(wù)準(zhǔn)備就緒(并行執(zhí)行),就將任務(wù)發(fā)送給執(zhí)行器。它將變量替換為計(jì)劃器最初設(shè)置的占位符的實(shí)際輸出。在上面的示例中,Task Fetching Unit會(huì)在搜索任務(wù)完成后,將任務(wù)

中的變量1和$2替換為Microsoft和Apple的實(shí)際市值。

LLMCompiler:大模型的并行工具調(diào)用 -AI.x社區(qū)

執(zhí)行器:執(zhí)行器以異步和并發(fā)的方式執(zhí)行從任務(wù)獲取單元獲取的任務(wù)。執(zhí)行器配備了用戶提供的工具,并將任務(wù)委托給關(guān)聯(lián)的工具。這些工具可以是簡(jiǎn)單的函數(shù),如計(jì)算器、維基百科搜索或API調(diào)用,甚至可以是針對(duì)特定任務(wù)定制的LLM代理。每個(gè)任務(wù)都有專(zhuān)用的內(nèi)存來(lái)存儲(chǔ)其中間結(jié)果,類(lèi)似于典型的順序框架在將觀察結(jié)果聚合為單個(gè)提示時(shí)所做的操作。任務(wù)完成后,最終結(jié)果將作為輸入轉(zhuǎn)發(fā)給依賴(lài)于它們的其他任務(wù)。

動(dòng)態(tài)重新規(guī)劃:執(zhí)行圖可能需要根據(jù)先前未知的中間結(jié)果進(jìn)行調(diào)整。在程序中,類(lèi)似的情況是分支,執(zhí)行路徑只在運(yùn)行時(shí)確定,取決于滿足哪些分支條件。在LLM函數(shù)調(diào)用中也可能出現(xiàn)這種動(dòng)態(tài)執(zhí)行模式。在重新規(guī)劃中,執(zhí)行器將中間結(jié)果發(fā)送回LLM計(jì)劃器。根據(jù)此結(jié)果,計(jì)劃器生成一組新的任務(wù)及其關(guān)聯(lián)的依賴(lài)關(guān)系,并將它們發(fā)送給任務(wù)獲取單元,然后再發(fā)送給執(zhí)行器。此過(guò)程重復(fù)執(zhí)行,直到獲得最終結(jié)果。

如何使用?

在LLMCompiler中,用戶只需要提供以下內(nèi)容:

工具定義:工具的名稱(chēng)、類(lèi)型和參數(shù),與其他框架(如ReAct、OpenAI函數(shù)調(diào)用等)類(lèi)似。

計(jì)劃器的上下文示例:說(shuō)明計(jì)劃器應(yīng)該如何工作的示例,這有助于LLM計(jì)劃器以正確的格式生成適當(dāng)?shù)囊蕾?lài)圖。

性能結(jié)果

LLMCompiler的延遲改進(jìn):LLMCompiler通過(guò)避免順序推理和函數(shù)調(diào)用顯著減少延遲,在各種數(shù)據(jù)集上相對(duì)于ReAct的加速比可達(dá)到1.8倍和3.7倍。

值得注意的是,LLMCompiler在并行函數(shù)調(diào)用方面甚至超過(guò)了OpenAI,提高了高達(dá)35%的性能。這種改進(jìn)可能源于在幕后減少驗(yàn)證函數(shù)名稱(chēng)和參數(shù)的開(kāi)銷(xiāo)。

LLMCompiler的準(zhǔn)確性改進(jìn):LLMCompiler在準(zhǔn)確性方面優(yōu)于ReAct。通過(guò)預(yù)先規(guī)劃的執(zhí)行和最小化每個(gè)推理-操作循環(huán)中間結(jié)果的干擾,LLMCompiler減輕了ReAct的冗余函數(shù)調(diào)用和過(guò)早終止等缺點(diǎn)。

LLMCompiler與OpenAI的并行函數(shù)調(diào)用的準(zhǔn)確性相匹配。

結(jié)論

LLMCompiler:大模型的并行工具調(diào)用 -AI.x社區(qū)


LLMCompiler框架代表了在更有效的問(wèn)題解決中利用大型語(yǔ)言模型(LLM)的一項(xiàng)變革性進(jìn)展,解決了知識(shí)截?cái)?、算術(shù)限制和數(shù)據(jù)訪問(wèn)限制等固有挑戰(zhàn)。通過(guò)優(yōu)化LLM函數(shù)調(diào)用以提高響應(yīng)時(shí)間、成本和準(zhǔn)確性,LLMCompiler引入了一種新穎的方法,類(lèi)似于熟練的編程實(shí)踐——將復(fù)雜任務(wù)分解為可管理的單元,并采用動(dòng)態(tài)重新規(guī)劃。它不僅在實(shí)際應(yīng)用中顯著增強(qiáng)了LLM的效用,而且為人工智能和機(jī)器學(xué)習(xí)技術(shù)的未來(lái)開(kāi)辟了新的視野,為開(kāi)發(fā)更強(qiáng)大、適應(yīng)性更強(qiáng)、能夠應(yīng)對(duì)復(fù)雜挑戰(zhàn)的系統(tǒng)帶來(lái)了希望。

譯自(有刪改):??https://www.anup.io/p/llmcompiler-towards-parallel-function??


本文轉(zhuǎn)載自公眾號(hào)AIGC最前線   

原文鏈接:??https://mp.weixin.qq.com/s/adP6e-bxWhodQNkivas_sQ??

?著作權(quán)歸作者所有,如需轉(zhuǎn)載,請(qǐng)注明出處,否則將追究法律責(zé)任
標(biāo)簽
收藏
回復(fù)
舉報(bào)
回復(fù)
相關(guān)推薦