端側設備AI代理優化框架問世,領域內準確率可達97%
文章由NEXA AI團隊聯合MIT-IBM Watson AI Lab一起開發。一作Wei Chen(陳偉)是NEXA AI聯合創始人,CEO兼首席科學家,斯坦福大學博士,擁有豐富的人工智能研究經驗。共同一作Zhiyuan Li(李志遠)是NEXA AI聯合創始人兼CTO,斯坦福大學校友,并在Google和Amazon Lab126實驗室擁有多年端側AI的一線研發經驗。另外兩位共同一作分別來自 MIT 和 IBM 的Zhen Guo和Yikang Shen。
AI 代理得越來越重要,能夠實現自主決策和解決問題。為了有效運作,這些代理需要一個確定最佳行動方案的規劃過程,然后執行計劃的行動。
在本文中,我們提出了一種高效的設備端計劃-行動框架,將計劃和行動執行分為兩個組件:一個優化用于邊緣設備的計劃代理,或稱為 Octo-planner,以及一個使用 Octopus 模型執行函數的行動代理。Octo-planner 首先通過將任務分解為一系列子步驟來響應用戶查詢,然后由 Octopus 行動代理執行這些子步驟。為了優化資源受限設備上的性能,我們采用模型微調而不是上下文學習,減少計算成本和能耗,同時提高響應時間。
我們的方法包括使用 GPT-4 生成基于可用函數的多樣化規劃查詢和響應,并進行后續驗證以確保數據質量。我們在精心整理的數據集上微調 Phi-3 Mini 模型,在域內測試環境中實現了 97% 的成功率。
為了解決多域規劃挑戰,我們開發了一種多 LoRA 訓練方法,將在不同函數子集上訓練的 LoRA 權重合并。此方法在保持資源受限設備上的計算效率的同時,靈活處理復雜的多域查詢。
- Paper:https://arxiv.org/pdf/2406.18082
- Demo:https://www.nexa4ai.com/octo-planner#video
- Model Page: https://huggingface.co/NexaAIDev/octopus-planning
1 介紹
人工智能(AI)代理通過實現自主決策和提高操作效率顯著改變了各個行業。這些代理依賴于一個關鍵的規劃過程,該過程包括確定最佳行動方案,執行計劃的行動,以及總結結果。大型語言模型(LLM)如 Gemini-Pro 和 GPT-4 在這一領域顯示出潛力。
雖然這些模型在執行復雜的規劃任務時面臨挑戰,難以達到與人類表現相當的水平,但它們在處理簡單任務方面仍然有效,從而促進實際應用。一個這樣的應用是來自 MultiOn、Simular AI 和 Adept AI 等公司的 AI 助手工具,它們利用 LLM 的能力在各個領域提供智能助手。
此外,消費者導向的 AI 硬件產品,如 Rabbit R1、Humane AI Pin 和 Limitless Pendant,將 LLM 集成到用戶友好的設備中,使智能助手更易于訪問,并推動顯著的吸引力。AI 代理的成功取決于基礎 LLM 的性能。使用預訓練模型而未在任務示范上進行微調的代理,其成功率相對較低,從桌面應用的 12% 到移動應用的 46% 不等,而利用微調模型的代理在類似于其訓練數據的任務上可實現高達 80% 的成功率。
然而,使用 LLM 的 AI 代理由于高計算需求和基礎設施費用而成本高昂,限制了廣泛采用。缺乏設備端 AI 代理限制了需要實時處理、離線函數或增強隱私的應用。設備端 AI 代理提供了包括降低延遲、離線操作、降低成本和改善數據安全性等優勢。雖然如 Octopus V2 的行動模型在函數調用上實現了 95% 以上的準確率,但仍缺乏一個設備端規劃模型。通用代理框架使用單模型上下文學習,需要在每個提示中包含冗長的函數描述和規劃說明。這種方法對于上下文長度有限的設備端模型而言不切實際,導致高延遲和邊緣設備上的電池消耗。
在本文中,我們介紹了 Octo-planner,一個設備端規劃代理,解決了效率、適應性和資源約束的關鍵挑戰。我們的計劃 - 行動框架將計劃和行動執行分為兩個組件:一個優化用于邊緣設備的計劃代理,或稱為 Octo-planner,以及一個使用 Octopus 模型執行函數的行動代理。
通過優先考慮微調而不是少樣本提示,我們減少了計算成本,并最小化了鍵值(KV)緩存需求。我們的方法使用 GPT-4 生成和驗證規劃數據,然后用于微調 Phi-3 Mini 以進行設備端部署。在域內測試中表明,這種微調提高了規劃成功率至 97%。為了解決多域規劃挑戰,我們開發了一種多 LoRA 訓練方法,將在不同函數子集上訓練的 LoRA 權重合并。這種方法在保持資源受限設備上的計算效率的同時,靈活處理復雜的多域查詢。
通過專注于簡單任務的預定義函數和利用微調,我們旨在使 AI 代理在實際應用中更加實用、可訪問和經濟高效。
這項工作旨在為使 AI 更加可訪問和實用的持續努力做出貢獻。通過彌合 AI 代理潛力與邊緣計算限制之間的差距,我們希望促進智能設備端助手在各個領域的采用。通過開源我們的方法,我們希望激發設備端 AI 的進一步創新,擴展先進規劃能力的應用范圍。
2 相關工作
計劃代理:語言模型已成為計劃代理系統中的關鍵。OpenAI 的助手 API 等專有模型在基于用戶查詢和可用函數生成策略方面表現出色。最近的進展進一步擴展了語言模型在計劃中的能力。ReAct 框架將計劃和行動整合在有限的動作空間中,而阿里巴巴集團的研究強調了單獨的計劃和行動模型在復雜任務中的有效性。在機器人技術中,語言模型也越來越多地應用于任務級別的計劃。值得注意的例子包括 SayCan,它使用 LLM 將高層任務分解為具體的子任務,以及視頻語言計劃(VLP),通過文本到視頻動態模型增強了長時間計劃。語言模型在計劃系統中的廣泛應用,從一般策略到特定的機器人任務,突顯了其在各種決策過程中日益重要和適應性的地位。
微調替代長上下文:微調語言模型以內部化特定的提示或上下文信息可以減少輸入長度并提高效率。這種方法包括在精心整理的特定任務數據集上訓練模型。對于上下文窗口有限的模型,這種技術尤其有價值,因為它可以在不犧牲響應質量的情況下提高查詢處理效率。微調的成功在很大程度上取決于使用多樣化、高質量的數據集,以確保模型可以在各種提示措辭中進行概括。如果實施得當,微調可以簡化特定應用的交互,解決實際部署中的上下文長度限制和計算挑戰。
LoRA 和 Multi-LoRA: 低秩適應(LoRA)可以高效地將預訓練語言模型適應特定任務。與微調不同,微調更新所有參數,而 LoRA 則凍結預訓練權重并在每一層添加可訓練的低秩矩陣,顯著減少了可訓練參數和計算需求。Multi-LoRA 擴展了這一概念,使多個特定任務的適配器可以訓練、組合或在推理時切換,允許單一基礎模型高效處理各種任務。在這些方法的基礎上,研究人員開發了幾種相關變體,以解決模型適應的不同方面:LoRA + 優化學習率,VeRA 使用隨機投影,AdaLoRA 實現了自適應秩,DoRA 分解權重,Delta-LoRA 更新預訓練權重。這些變體旨在在特定場景下進一步提高效率或性能。
3 方法
本節介紹我們用于設備端計劃 - 行動代理的框架。我們首先描述計劃和行動代理的集成,以實現高效的問題解決。然后詳細說明我們用于規劃代理的數據集設計和訓練過程,包括對廣泛函數的支持以及附加函數集的即插即用能力。最后,我們概述了用于評估代理性能的基準測試。
3.1 計劃和行動代理框架
我們的計劃 - 行動方法通過將計劃和行動執行過程分為兩個組件來區別于通用代理框架。這種分離提高了模塊化,使每個組件的專門優化成為可能。該框架的操作如下:
計劃階段:給定用戶查詢 q,我們的計劃模型 πplan 將任務分解為一系列子步驟。形式上:{τ1, τ2, ..., τn} - πplan (q;F )
其中 F 是可用函數描述的集合,τi 是第 i 個執行步驟。πplan 在指令微調期間內部化 F。
行動階段:對于執行序列中的每一步,我們采用行動模型 πaction。在步驟 i,給定當前狀態的觀察 Oi,行動模型執行:Oi+1 = πaction (τi, Oi),(2)
其中 Oi+1 和 τi+1 傳遞給下一步以繼續執行。這個迭代過程確保任務子步驟的連貫進展。
對于行動模型,我們使用專為設備端函數調用設計的 Octopus 模型。圖 2 展示了我們計劃 - 行動框架與單模型 LLM 代理的區別。
圖 2:單 LLM 代理和計劃 - 行動代理框架的比較。(左)單 LLM 代理:統一模型執行任務規劃和行動執行。(右)計劃 - 行動代理:專門的計劃模型將任務分解為子任務,而單獨的行動模型依次執行每個子任務。
我們的框架模塊化設計提供了幾個優勢:
- 專業化:將計劃和行動執行分開,使每個模型針對其特定角色進行優化,從而提高復雜任務的性能。
- 可擴展性:獨立擴展計劃和行動能力,能高效適應不同任務的復雜性。
- 可解釋性:顯式分離階段,提高了決策過程的透明度。
- 適應性:更容易將領域特定知識或約束整合到任一階段,而無需系統范圍內的變更。
3.2 計劃數據集
我們的框架使用 Octopus 模型作為行動模型,只需訓練計劃代理。我們使用以下數據集格式微調計劃代理:
用于聊天模型預訓練的特殊標記如 <|user|> 和 <|assistant|> 是可選的。我們設置 n 為 1-5,根據我們的發現,大多數移動應用上的任務由少于 5 步組成。數據集生成和整理過程包括:
1. 數據集收集:給定可用函數 F,我們使用大型語言模型(GPT-4)生成由這些函數回答的多樣化查詢。我們增加模型的溫度設置以確保查詢多樣性。然后按指定的數據集格式生成響應。重要的是,在生成過程中使用函數描述,但在最終數據集中不包括它們。相反,計劃模型在訓練期間內部化此函數信息。
2. 數據驗證:我們使用相同的語言模型作為驗證工具來評估查詢 - 響應對的正確性。盡管初始生成過程中存在一些錯誤,但我們發現模型有效地將生成的內容分類為有效或無效,從而使我們能夠過濾出錯誤的輸出并保持數據集質量。
下面顯示了不同子步驟數量的示例數據點:
有關數據集收集的可視化,請參見圖 3。示例函數描述在附錄 7.1 中。
3.3 基準設計
我們的評估依賴于精心構建的測試數據集。該數據集旨在代表現實世界規劃的復雜性,采用多階段方法,結合自動生成、專家驗證和實證測試。
過程始于使用 GPT-4 自動生成的包含 1000 個數據點的初始數據集。這些數據點然后經歷嚴格的質量保證過程,以確保其完整性和相關性。質量評估標準如下:
- 每個步驟必須對應于現有函數;
- 步驟的順序必須正確。
為了確保評估的可靠性,我們加入了一個額外的人工驗證階段。此階段涉及選擇一個子集示例進行端到端模型執行,從而驗證結果的準確性,并對模型性能進行全面評估。
為了評估我們提出的計劃模型,我們使用 GPT-4 作為 Oracle 來確定生成計劃的正確性。這個選擇基于經驗觀察,表明 GPT-4 在我們的特定用例中表現出高效。
4 實驗設計
我們的實驗設計評估了 Octo-planner 在設備端 AI 代理規劃中的表現。我們的目標是確定在資源受限設備上部署高效、準確的規劃模型的最佳配置,同時保持對新領域和函數的適應性。我們的實驗主要集中在四個關鍵領域:
- 全微調與 LoRA 之間的性能和效率權衡。
- Multi-LoRA 在同時處理不同函數集時的準確性。
- 各種基礎模型和規模的性能比較。
- 數據集大小對準確性的影響,范圍從 100 到 1000 個訓練示例。
我們在精心整理的數據集上進行監督微調,使用 Phi-3 Mini 和其他一些替代品作為基礎模型。訓練包括全微調和 LoRA 技術。對于所有實驗,我們將數據集大小設置為可用函數數量的 800 倍,并在 NVIDIA A100 GPU 上進行微調。我們在兩種技術上使用優化的超參數:學習率為 5×10-6,批量大小為 4,預熱比例為 0.2,訓練 2 個周期。對于 LoRA,我們將 target_modules 設置為所有線性。
5 結果
5.1 全微調與 LoRA
表 1 展示了我們的計劃模型在全微調和 LoRA 方法上的詳細比較。我們的實驗顯示了這些方法在性能上的顯著差異。全微調在 98.1% 的準確率上實現了最高性能,表現出優越的性能。相比之下,LoRA 的性能取決于秩大小。在秩 64 和 alpha 256 下,LoRA 達到 85.1% 的準確率,而減少到秩 16 和 alpha 32 時,準確率降至 72.9%。這些結果突顯了使用 LoRA 時模型性能與計算效率之間的權衡。盡管全微調提供了更好的準確率,LoRA 在資源效率方面提供了更具吸引力的替代方案,性能取決于秩配置。
表 1:全微調與 LoRA 基準
5.2 多 LoRA 訓練和合并
盡管基于 LoRA 的訓練在特定函數集上有效,現實世界的應用通常需要處理新的或擴展的函數集。為了解決這個挑戰,我們提出將每個在不同函數子集上訓練的 LoRA 權重合并到同一個基礎模型中的方法。這種方法創建了一個組合模型,結合了各種函數集的知識,為資源受限環境中的復雜多域查詢提供了可擴展的解決方案。
為了評估此方法,我們構建了一個基準數據集,通過隨機選擇每個 LoRA 領域的函數并將它們組合成工作流。查詢和計劃由 GPT-4 生成。例如,在測試兩個合并的 LoRA 時,查詢可能涉及 Android 函數、電子商務函數或兩者,概率相等。
以下代碼塊顯示了我們的基準數據集中的示例查詢及多 LoRA 合并模型的對應推理結果:
表 2 展示了我們多 LoRA 合并技術的性能結果。每個獨立的 LoRA 都使用一致的超參數進行訓練:秩 64,lora_alpha 256,target_modules 設置為 “all-linear”。單域 Android 函數集 LoRA 達到 85.1% 的準確率。當合并兩個域(Android 和電子商務)的 LoRA 時,準確率略降至 82.2%。進一步合并的準確率下降如下:三個域(增加視頻流)的準確率為 78.9%,四個域(增加旅行)的準確率為 69.7%。這些結果揭示了隨著我們整合更多函數集,準確率逐漸下降的趨勢,尤其是在添加第三個域后下降更明顯。
表 2:多 LoRA 基準
5.3 使用不同基礎模型的全微調
表 3 展示了在全微調后使用不同基礎模型的基準準確率。谷歌 Gemma 2b 實現了 85.6% 的準確率,而更大的 Gemma 7b 以 99.7% 的準確率表現出色。微軟 Phi-3 Mini 也表現強勁,達到 98.1% 的準確率。這些結果表明我們的框架適應各種設備端 LLM,較大的模型通常實現更高的準確率。
5.4 使用不同數據集規模的全微調
我們的默認訓練數據集包含 1000 個數據點,均勻分布在 1-5 步序列中(每個 200 個),以代表不同任務的復雜性。我們研究了數據集規模對模型性能的影響,以優化函數集集成效率并解決合成數據生成成本。表 4 展示了不同訓練數據集規模的基準準確率:
結果顯示數據集規模與準確率之間存在明顯的相關性。完整的 1000 點數據集達到 98.1% 的準確率,而減少到 500 個數據點的準確率下降至 92.5%。進一步減少到 250 和 100 個數據點,準確率分別為 85.3% 和 78.1%。這些發現表明,為了達到最佳性能,建議使用超過 1000 個數據點的訓練數據集。
6 結論
本文介紹了 Octo-planner,一個設計用于與 Octopus V2 等行動代理協作的設備端規劃代理。
通過分離計劃和行動執行,我們提高了專業化和適應性。我們的方法微調了 Phi-3 Mini(一種 38 億參數的 LLM),使其能夠在邊緣設備上本地運行,在域內測試中達到 97% 的成功率。我們減少了計算需求,提高了延遲和電池壽命,并實現了多 LoRA 技術,用于在不進行完全再訓練的情況下擴展模型能力。Octo-planner 為解決 AI 部署問題做出了貢獻,包括數據隱私、延遲和離線函數。它代表了向實用、復雜的個人設備 AI 代理的進步。
通過開源我們的模型權重,我們旨在推動設備端 AI 的創新,促進高效、尊重隱私的應用程序的開發,增強日常生活,而不影響性能或安全性。
7. 局限性和未來工作
盡管我們的當前模型在特定的手機使用案例中表現有效,但在更廣泛的適用性方面存在局限性。
與 ReAct 等框架不同,它們基于實時反饋在計劃步驟和執行行動之間交替,我們的模型在前進行所有計劃。這種事先計劃的方法在處理簡單任務方面效率較高,但在條件可能在執行過程中變化的復雜或不可預測的場景中可能不那么適應。
未來的工作將重點探索基于實時觀察的迭代計劃方法,改進對動態環境的適應性。我們還計劃研究將我們的計劃模型與多樣化的行動模型集成,將其能力擴展到移動應用之外的領域,如物聯網、機器人技術和智能家居系統。這些進展將解決當前的局限性,擴展我們設備端規劃模型的多函數性,彌合高效、本地化 AI 處理與復雜的現實世界需求之間的差距。