CREATOR製造、使用工具,實現LLM「自我進化」
自古以来,工具的使用被视为区分人与其他物种的一大区别,也被视为是智能的一种根本体现。而当下,人工智能已不再局限于对工具的简单使用,它们已然能够根据问题创造性地建立自己的工具来寻求解决方案。在思维上,这代表着当下大模型已经能够掌握更高层次的抽象思维认知,并将其与具象思维划分,共同解决问题;而在能力上,工具创造的出现也意味着模型已经能够从 “学习” 中蜕变,去运用已知 “创造” 未来的无限可能。
- 论文链接:https://arxiv.org/pdf/2305.14318.pdf
研究背景
近年来,大规模语言模型(Large Language Models)取得了显著的研究进展,包括 GPT-3、Codex、PaLM、LLaMA、ChatGPT 和最近发布的 GPT-4 等。这些模型在上下文学习(In-Context Learning)、代码生成(Code Generation)和各种其他自然语言处理任务方面表现出色,将模型的潜力进一步推向了通用人工智能。
尽管大模型在这些取得了巨大的成功,其当下仍然存在很多短板,包括无法识别或回答最新的实时信息、很难在大规模的数据计算上达到高准确性,在题干逻辑复杂时推理能力不稳定等等。针对这些短板,研究者开始致力于向当前模型架构中引入对外部资源的利用能力,例如引入计算器,问答系统,维基百科等等外部知识源,来增强模型能力。这一系列研究奠定了模型工具学习(Tool Learning)能力的基础。
然而,当下研究中利用的外部工具数量仍然有限,而在潜在的新任务类型几乎是无尽的。因此,在面对新的问题类型时,很难找到现有的适合解决问题的工具。此外,即使提供了有效的可利用的工具,模型需要在工具包文档中进行海量搜索、匹配并针对问题进行针对性地规划。这将给模型带来很大的认知负担,并需要较高的学习成本。
因此,研究团队提出了全新的一种研究范式:工具创造(Tool Creation)。其不再是简单利用大模型使用工具的能力,而是加入了全新的工具创造模块,让模型针对所面对的问题进行工具创造并寻求解决方案。
利用大模型创造工具能够提高工具的普适性、可复用性和多样性,超越给定 API 的限制。工具创造模块的设计还可以减轻大模型的认知负担,并解耦其进行抽象推理(创建可推广的具有普适性的工具)和具象推理(根据工具实现细节和工具使用文档进行决策)的能力。同时,该框架下模型以代码作为工具创造的媒介,这使得模型对于错误更加敏感,并能根据工具创造与使用中的问题进行回溯与修正。
工具创造范式相比工具使用更加灵活并对不同场景有更强的适应能力
CREATOR 研究框架
大模型进行工具创造来解决问题的框架 CREATOR 主要分为了以下四个阶段:
- 創造(Creation):運用大模型對於問題的抽象推理能力,透過程式碼有針對性地創造所需工具以及其使用說明。
- 決策(Decision):運用大模型對於問題的具象推理能力,決策如何呼叫工具來解決當前問題。
- 執行(Execution):根據創造的工具以及決策內容,進行決策的執行,並捕捉執行過程中的輸出資訊。
- 修正(Rectification):運用大模型對於錯因推理以及自我修復的能力,對執行階段捕捉到的問題進行修復。
#大模型進行工具創造與決策的流程架構
#大模型首先將根據問題創造所需的工具以及其相關使用說明;此後,問題內容以及工具資訊將同時再次返回給大模型,用以決策針對本問題的解決方案,以及如何使用這些工具。此後,模型將根據執行情況對工具及決策做出調整,以便更好地適應問題並尋求解答。
整個工具創造框架靈活運用了大模型的不同思維能力:提取問題關鍵資訊的抽象思維推理,根據任務實施方案決策的具象思維推理 ,以及根據問題尋求解決方案的自我修復推理。這些能力的解耦幫助大模型避免了在普通推理鏈(Chain-of-Thought, CoT)中的思維混亂而導致的失敗現象,有效提升了大模型對於任務的適應能力及表現。
CREATOR 實驗評測
作者將CREATOR 框架與目前的普通推理鏈方法(CoT),程式推理鏈方法(Program-of-Thought, PoT)以及沒有創造的簡單工具使用(Tool Use)進行了比對。同時,為了驗證框架中剝離抽象推理與具象推理的有效性,作者也額外引入了整體工具創造(Tool Create - whole)作為基線,該方法將CREATOR 框架中的創造階段與決策階段合而為一,不再進行推理能力上的解耦。
#Creation Challenge 資料集問題,標準工具及決策範例
#在MATH 資料集上CREATOR 框架的表現高於其他推理方法以及簡單的工具運用
在資料集的選取上,作者選擇了MATH 以及TabMWP 資料集作為主要驗證。其中前者包含了美國數學競賽當中的高難度數學問題,而後者將問題與豐富的數據表結合,二者都考驗了模型對於多樣化場景的問題推理與解決能力。除此之外,作者還額外引入了全新構建的 Creation Challenge 資料集,其中的問題都無法直接套用現有工具或程式碼包解決,從而考驗了模型進行工具創造的能力。
#在TabMWP 資料集以及Creation Challenge 上CREATOR 框架效果也顯著更強
從實驗結果看來,CREATOR 框架的推理結果要明顯優於所有基線,尤其相對於標準的推理方法以及程序推理方法,均達到了更好的效果。同時實驗也證明了對抽象與具象推理能力進行解耦也可以有效幫助模型提高準確度。在 Creation Challenge 測試集上,作者還額外驗證了在有創造什麼樣的工具的提示(hint)的情況下,模型將對問題有更強的解決能力。因此,提示與思維解耦這兩點也成為了工具創造中的重要影響因素。
#不同方法針對任務難度的準確率統計
#在修正階段的參與下效果的提升
除此之外,作者也驗證了不同方法對於任務難度的變化曲線,以及修正階段參與輪次與大模型效果提升之間的連結。結果表明,CREATOR 框架面對有難度的問題能夠保持更好的穩健性,以及修正階段的參與能夠讓不僅是CREATOR 框架,甚至是PoT 推理方法都能得到大幅度提升, 證實了實驗中引入修正階段的合理性與有效性。
工具創造的其他優勢
在主實驗之外,文章作者也著重探討了工具創造的其他優勢以及當下大模型工具創造能力的不同展現形式。既然是創造工具,那麼作為工具的一大優勢必定是其可重複使用性。作者也順此思路進一步展示了工具的復用對於任務效果的提升。
作者設計了 300 個問題並三個一組分成了 100 組。其中每一組的三個問題雖然場景不同,但都涉及相同的核心知識(Core Knowledge),即同類問題。作者驗證了將對於一個問題創造的工具用於一組問題中的所有場景,是否都能夠有效解決並提升準確率。
#對於大模型創造的工具在其他問題上遷移,能夠有效提高準確率
實驗統計顯示將模型創造的正確可用的工具遷移到其他同類問題場景,能夠有效提升問題解決的正確率。這即顯示大模型創造的工具具有良好的可重複使用性,對於同類問題也有著良好的普適性。
除此之外,作者也展示了大模型進行工具創造的三個維度:對已有工具進行封裝以實現不同目的,將不同工具進行組合實現目標功能,以及進行層次化的工具建立。 這三個維度由低到高展示了當下大模型工具創造的能力,而這些能力也幫助大模型能夠更有效率地適應不同場景。
大模型進行工具創造的三個維度
總結
CREATOR 框架透過工具創造實現了大模型抽象與具象思考能力的解耦,是繼工具學習之後,模型能力邊際探索的又一大突破。相信未來的更多研究將會以此為基礎,繼續在工具的使用與創造上不斷證明與增強模型潛力,為我們帶來更多驚喜。
文章主要作者
錢成,清華大學大三年級本科生,THUNLP 實驗室成員,導師劉知遠。目前研究方向包括大模型預訓練,大模型有效率微調,以及工具學習等領域。曾獲清華大學計算機綜合優秀獎學金,並以共同一作身份在 EMNLP,ACL 等國際會議中發表論文。
個人主頁:https://qiancheng0.github.io/
#以上是CREATOR製造、使用工具,實現LLM「自我進化」的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

評估Java框架商業支援的性價比涉及以下步驟:確定所需的保障等級和服務等級協定(SLA)保證。研究支持團隊的經驗和專業知識。考慮附加服務,如昇級、故障排除和效能最佳化。權衡商業支援成本與風險緩解和提高效率。

PHP框架的學習曲線取決於語言熟練度、框架複雜性、文件品質和社群支援。與Python框架相比,PHP框架的學習曲線較高,而與Ruby框架相比,則較低。與Java框架相比,PHP框架的學習曲線中等,但入門時間較短。

輕量級PHP框架透過小體積和低資源消耗提升應用程式效能。其特點包括:體積小,啟動快,記憶體佔用低提升響應速度和吞吐量,降低資源消耗實戰案例:SlimFramework創建RESTAPI,僅500KB,高響應性、高吞吐量

根據基準測試,對於小型、高效能應用程序,Quarkus(快速啟動、低記憶體)或Micronaut(TechEmpower優異)是理想選擇。 SpringBoot適用於大型、全端應用程序,但啟動時間和記憶體佔用稍慢。

編寫清晰全面的文件對於Golang框架至關重要。最佳實踐包括:遵循既定文件風格,例如Google的Go程式設計風格指南。使用清晰的組織結構,包括標題、子標題和列表,並提供導覽。提供全面且準確的信息,包括入門指南、API參考和概念。使用程式碼範例說明概念和使用方法。保持文件更新,追蹤變更並記錄新功能。提供支援和社群資源,例如GitHub問題和論壇。建立實際案例,如API文件。

根據應用場景選擇最佳Go框架:考慮應用類型、語言特性、效能需求、生態系統。常見Go框架:Gin(Web應用)、Echo(Web服務)、Fiber(高吞吐量)、gorm(ORM)、fasthttp(速度)。實戰案例:建構RESTAPI(Fiber),與資料庫互動(gorm)。選擇框架:效能關鍵選fasthttp,靈活Web應用選Gin/Echo,資料庫互動選gorm。

在Go框架開發中,常見的挑戰及其解決方案是:錯誤處理:利用errors套件進行管理,並使用中間件集中處理錯誤。身份驗證和授權:整合第三方庫並建立自訂中間件來檢查憑證。並發處理:利用goroutine、互斥鎖和通道來控制資源存取。單元測試:使用gotest包,模擬和存根隔離,並使用程式碼覆蓋率工具確保充分性。部署和監控:使用Docker容器打包部署,設定資料備份,透過日誌記錄和監控工具追蹤效能和錯誤。

Go框架學習的迷思有以下5種:過度依賴框架,限制彈性。不遵循框架約定,程式碼難以維護。使用過時庫,帶來安全和相容性問題。過度使用包,混淆程式碼結構。忽視錯誤處理,導致意外行為和崩潰。
