GPT-4等大模型迎來進化轉折點:不只是使用,還會自己制作工具了
我們知道,大語言模型(LLM)在廣泛的 NLP 任務中已經表現出卓越的能力,甚至展現出能夠實現通用人工智能某些方面的良好跡象。此外,與人類的智能進化類似,LLM 在最近的研究中被揭示出使用外部工具從而提升解決問題能力及效率的潛力。
需要注意的是,這些工具使用方法的適用性很大程度程度上取決于是否有合適的工具。從人類進化的里程碑可以發現,人類進化的關鍵轉折點是人類有能力制造工具來解決出現的困難。
受到制造工具對人類重要性的啟發,在本文中,Google Deepmind、普林斯頓和斯坦福大學的研究者將這種「進化」的概念應用于 LLM 領域,進行了初步探索。他們提出了一個閉環框架,在這個框架中 LLM 作為工具制作者(LLMs As Tool Makers ,LATM),使其能夠生成自己的可重新使用的工具來處理新任務。
論文地址:https://arxiv.org/pdf/2305.17126.pdf
該方法包括兩個關鍵階段:
- 工具制作:LLM 作為工具制作者,專門為給定的任務設計工具(作為 Python 函數實現);
- 工具使用:另一個 LLM 作為工具使用者,它可以與工具制作者相同,應用工具來處理新的請求。
兩階段設計允許 LATM 在每個階段將作業分配給最合適的 LLM。一方面,需要高度能力的工具制造過程可以分配給一個功能強大且資源密集型的模型 (例如 GPT-4)。另一方面,相對簡單的使用工具過程,可以分配給輕量、經濟高效的模型 (例如 GPT-3.5 Turbo)。這種方法不僅增強了 LLM 解決問題的能力,并能夠顯著降低處理一系列任務的平均計算成本。
LATM 的閉環框架。
由于工具制作過程只需要對給定的功能執行一次,因此生成的工具可以在不同的任務實例中反復使用。這種方法為處理復雜任務開拓了可擴展、成本高效的解決方案。例如,假定一個任務,用戶要求 LLM 安排一個適合每個人的會議(例如在電子郵件對話中)。涉及復雜算術推理的任務對于像 GPT-3.5 Turbo 這樣的輕量級模型來說是艱巨的挑戰。相比之下,更強大的模型(例如 GPT-4)雖然推理成本要高得多,但是能夠找到正確的解決方案。
LATM 能夠克服這種困難,是因為它將強大但昂貴的模型當作工具制作者,并將工具傳遞給工具使用者 —— 經濟型模型進行使用。工具制作完成后,輕量級工具使用者可以用它來高效、高性能地解決任務。
本文的實驗能夠驗證這種方法在復雜的推理任務上(包括幾個具有挑戰性的 Big-Bench 任務)的有效性。結果表明,LATM 可以達到與資源密集型模型相當的性能,同時具有更高的成本效益。這種新穎的 LLM 方法,模仿了人類在創建和使用工具方面的進化飛躍,為開辟使用 LLM 生成的工具的社區提供了無限可能。
方法概覽:LLM as Tool Maker (LATM)
制作新工具并重復使用
在 LATM 范式中,主要過程可以分為兩個階段:工具制作和工具使用。每個階段都利用不同類型的大語言模型(LLM)來平衡性能和成本效率。
對于工具制作(Tool Making),該階段采用強大但成本更高昂的模型(例如 GPT-4)作為工具制作者。工具制作者通過特定任務的一些演示來創建通用和可復用的工具(作為 Python 函數實現)。該階段又可以進一步分為以下三個子階段:
首先是工具提出(Tool Proposing)。在這一階段,工具制作者嘗試生成一個 Python 函數,用以解決給定任務的演示。該過程遵循「實例編程」(PbE)范式,其中提供了幾個具體的演示,并且需要模型編寫產生演示行為的程序。在實驗中,研究者在該階段使用了 3 個演示。如果提出的工具無法執行或者遇到錯誤,工具制作者會將錯誤信息附加到歷史記錄中并進行另一次嘗試。
其次是工具驗證(Tool Verification)。在這一階段,工具制作者使用驗證樣本生成單元測試,然后在提出的工具中執行這些測試。研究者在實驗中使用了 3 個驗證樣本。如果工具未能通過任何這些測試,工具制作者會在其歷史記錄中記錄下錯誤,并嘗試在單元測試中糾正問題(此過程只會糾正單元測試部分的函數調用,而不會糾正功能)。LLM 的自調試能力已在最近的研究中得到有效證明,然而在 LATM pipeline 中,驗證階段的用途稍有不同。該階段有兩個關鍵作用:一是提供示例來演示如何將自然語言問題轉換為函數調用;二是驗證工具的可靠性,使整個過程充分自動化。
最后是工具封裝(Tool Wrapping)。如果執行或驗證失敗超過了預設閾值,則工具封裝階段被視為失敗。相反,工具制作者準備好為工具使用者提供封裝后的工具。該步驟涉及封裝函數代碼,并演示如何將一個任務轉換為函數調用。這些演示從工具驗證步驟中提取,從而將問題轉換為單元測試。隨后最終產品可供工具使用者使用。
完成了工具制作,接下來是工具使用(Tool Using)了。該階段涉及一個輕量級且具有成本效益的模型(例如 GPT-3.5 Turbo),用作工具使用者。工具使用者的角色是利用驗證后的工具來解決任務的不同實例。該階段的 prompt 是封裝工具,它包含了解決任務的函數和如何將任務查詢轉換為函數調用的演示。通過演示,工具使用者能夠以一種上下文學習的方式來生成需要的函數調用,然后執行函數調用以解決任務。或者可以應用后處理來轉換輸出以匹配任務所需的格式,例如多項選擇題的選項。
總的來說,工具制作階段包括工具提出、驗證和封裝,每類任務只需執行一次,然后可以將生成的工具重復用于該任務的所有實例。與單獨使用強大的模型相比,這使得 LATM 的效率和成本效益顯著增加。此外,Python 函數時一種更通用的思維鏈,增強了整體效用和靈活性,因此可用于解決涉及算法推理能力的問題。
LATM 的 pipeline。
下圖 3 展示了方法的具體示例,說明工具制作者如何通過生成工具(Python 函數)來解決 BigBench 的邏輯推導任務,以及工具使用者如何使用工具。
使用 Dispatcher 處理流數據
在真實世界場景中,任務實例通常按順序出現。為了適應這種數據流,研究者引入了第三個 LLM 即 dispatcher,它確定是讓工具使用者還是工具制作者參與每個傳入的任務。dispatcher 模塊與現有工作中的工具選擇功能有相似之處,然后在識別現有工具無法解決的新任務以及讓工具制作者為這些任務生成新工具方面具有獨到的能力。
具體而言,dispatcher 保留了工具制作者產生的現有工具的記錄。當接收到新的任務實例時,dispatcher 首先確定是否有適合手頭任務的工具。如果有合適的工具,則將實例確定為新任務,并利用強大的模型解決該實例,甚至可以調用人工標注器。隨后緩存新任務的實例,直到緩存實例足夠工具制作者制作新工具。具體的工作流程如下圖 4 所示。
實驗結果
本文在來自不同領域的 6 個數據集上評估了所提出的方法,包括 Logical Deduction、Tracking Shuffled Objects、Dyck Language、Word Sorting、 Chinese Remainder Theorem 和 Scheduling Meeting。
在工具制作階段,研究者將溫度參數設置為 0.3,以在生成過程中引入隨機性,并在必要時允許重試。在這個階段,實驗使用了帶有 ChatCompletion API 的 GPT-4 和 GPT-3.5 Turbo 模型進行,并不斷將響應附加進聊天記錄當中,來創造交互體驗。
在工具使用階段,LLM API 調用僅進行一次,并使用標準完成 API 對 gpt -3 型模型進行消融研究。當使用工具時,溫度參數始終為設置為 0.0。在工具提出和工具驗證階段的最大重試次數設置為 3。
工具制作的有效性
據實驗觀察,GPT-4 作為工具制作者時,常能設計出合適的算法來解決任務。例如下表 1 中,工具制作者搜索所有排列,并選擇滿足給定約束的正確排列來創建代碼,解決邏輯演繹任務。在實驗中,工具驗證階段主要用于演示如何將自然語言問題轉換為函數調用。在 60 次試驗中,只觀察到 2 例工具制作者可以在錯誤消息的指導下糾正其錯誤。
LATM 提升輕量級 LLM 的性能
下表 2 比較了思維鏈提示與 LATM 的性能。實驗使用 GPT-4 作為工具制作者為這六項任務生成工具,并評估 GPT-3.5 Turbo 和 GPT-4 作為工具使用者的性能。結果表明,在該工具的幫助下,像 GPT-3.5 Turbo 這樣的輕量級模型可以達到與 GPT-4 相當的性能,顯著優于 CoT 提示。此外與使用 GPT-4 相比,使用 GPT-3.5 Turbo 的平均成本要低得多。
這突出了 LATM 在增強輕量級模型的性能方面的有效性。因此,使用 LATM 相較于安規的模型來說,能夠降低成本。
將 LATM 擴展為具有混合任務的流設置
將 LATM 擴展為流設置后,流設置中不同任務的實例可以實時到達。在這種情況下,需要另一個模型調度程序,來確定實例所屬的任務。實驗使用 GPT-3.5 Turbo 作為調度器,并評估其能力:
- 識別現有工具來解決傳入實例;
- 為未知任務的實例請求工具制作。
結果表明,調度程序可以有效地識別現有的工具,并為未知任務請求工具制作,但它不會大幅降低性能。這表明 LATM 可以平滑地擴展到具有混合任務的流設置。
消融實驗
首先是工具制作語言模型所需的能力。研究者調研了工具制作階段所用語言模型的能力要求。一般來說,更強大且成本更高昂的模型越能達到目的,這是因為該階段中每個任務只執行一次,高準確度對于有效地將工具傳遞給更小的模型至關重要。
其次是工具使用語言模型所需的能力。研究者調研了工具使用模型的能力要求,具體結果如下表 4 所示,GPT-3.5 Turbo 在所有測試的模型中實現了最佳的性能與成本平衡。
最后是思維鏈(CoT)作為工具沒有幫助。除了 LATM 之外,研究者還調研了是否可以通過重用更大模型和更小模型(類似于 LATM pipeline)的思維鏈來提高性能。具體結果如下表 5 所示,使用大模型的 CoT 與人類編寫的 CoT 具有相似甚至更差的性能,這要比 LATM 差得多。