OpenAI 宮斗告一段落,現(xiàn)在到處都在猜 Q* 是什么。本文沒(méi)有 Q* 的新料,但是會(huì)探討一下 Q-Learning 在 Agent 方面的可能應(yīng)用。
有趣的分享!LLMs時(shí)代下,幻覺(jué)、對(duì)話、對(duì)齊、CoT、Agent和事實(shí)性評(píng)估等領(lǐng)域的前沿研究
實(shí)現(xiàn) tool 自動(dòng)選擇和參數(shù)配置
經(jīng)典文字模型
經(jīng)典的文字模型我們已經(jīng)很熟悉了:訓(xùn)練時(shí),模型不停的預(yù)測(cè)下一個(gè) token 并與真實(shí)語(yǔ)料比較,直到模型的輸出分布非常接近于真實(shí)分布。
因?yàn)檎Z(yǔ)言模型的局限性(比如搞不定大數(shù)計(jì)算),所以多家大模型公司走上了語(yǔ)言模型 + 工具的道路。比如 GPT4-turbo 就可以靈活調(diào)用網(wǎng)絡(luò)搜索、Analysis(某種 Python) 這些 tools,來(lái)生成 tool response(即網(wǎng)絡(luò)搜索結(jié)果、Python 執(zhí)行結(jié)果),來(lái)幫助回答文字問(wèn)題。
這就引入了一個(gè)決策問(wèn)題,對(duì)于一個(gè)用戶表達(dá)(utterance),到底要不要做網(wǎng)絡(luò)搜索或者調(diào)用 Python 來(lái)幫助回答呢?如果決策錯(cuò)誤,則結(jié)果不最優(yōu):
?工具的響應(yīng)結(jié)果(tool response)可能無(wú)濟(jì)于事甚至產(chǎn)生誤導(dǎo)。比如有一些網(wǎng)絡(luò)上的玩梗會(huì)影響模型對(duì)一些基本概念的知識(shí)。?工具的調(diào)用引入了額外的時(shí)間消耗。
因此,好好搞一些標(biāo)注,訓(xùn)一個(gè)“動(dòng)作決策”模型,能拿到第一波好處。這是有監(jiān)督學(xué)習(xí)的思路。這里動(dòng)作決策模型的輸出,是具體的含參數(shù)的動(dòng)作,比如調(diào)用網(wǎng)絡(luò)搜索時(shí),需要給出“是否搜索”和“搜索關(guān)鍵字”兩部分信息。因此動(dòng)作決策模型最好也是個(gè)大模型。這么搞的問(wèn)題,是上限不高,受制于“動(dòng)作決策模型”的標(biāo)注質(zhì)量,并且并沒(méi)有直接優(yōu)化“模型輸出”,需要人絞盡腦汁來(lái)針對(duì)模型調(diào)整“動(dòng)作決策模型”的標(biāo)注來(lái)達(dá)到最優(yōu)。比如對(duì)于網(wǎng)絡(luò)搜索,當(dāng)搜索引擎不同時(shí),需要為“動(dòng)作決策模型”使用不同的搜索關(guān)鍵字作為標(biāo)注。
但從另一個(gè)角度,虛線框內(nèi)的部分,仍然是一個(gè)文字進(jìn)文字出的"模型",所以理論上可以用降低輸出結(jié)果的困惑度的方法,按強(qiáng)化學(xué)習(xí)(RL)去訓(xùn)練這個(gè)復(fù)合了工具的“語(yǔ)言模型”。這里因?yàn)椤皠?dòng)作的決策”不可微,所以來(lái)自“模型輸出”的梯度只能用 RL 往回傳。使用 RL 的具體步驟為:
?利用標(biāo)注訓(xùn)練“動(dòng)作決策模型”,使得整體有一定效果,即完成行為克隆(behavior cloning)這一啟動(dòng)步。?用強(qiáng)化學(xué)習(xí)繼續(xù)訓(xùn)練整體,即復(fù)合了工具的“語(yǔ)言模型”。
Reward 由幾項(xiàng)組成:
?利用<用戶輸入、模型輸出>這樣的成對(duì)數(shù)據(jù)(格式上接近 SFT 數(shù)據(jù)),計(jì)算困惑度?如果有用戶偏好數(shù)據(jù),也可以仿照 DPO 構(gòu)造不同動(dòng)作間的對(duì)比數(shù)據(jù)項(xiàng)。?把調(diào)用工具的時(shí)間和成本代價(jià),折算進(jìn) Reward
實(shí)際,以上相當(dāng)于使用了 Q-learning 的一個(gè)簡(jiǎn)單變體 DDPG,即假設(shè)存在函數(shù)映射μ使得μ(當(dāng)前狀態(tài)) = 最優(yōu)工具調(diào)用動(dòng)作與參數(shù) 如果不做這個(gè)假設(shè),還是使用 Q(s, a) 的形式,則更接近 Reward Model 的搞法。
這里一個(gè)附送的好處,是可以做層級(jí)強(qiáng)化學(xué)習(xí)(hierarchical RL),就是說(shuō)可以在工具調(diào)用中嵌套工具調(diào)用,比如一個(gè)網(wǎng)絡(luò)搜索中嵌套網(wǎng)絡(luò)搜索。因?yàn)樯厦嬖?Reward 里計(jì)入了“調(diào)用工具的時(shí)間和成本代價(jià)”,所以優(yōu)化后的模型不太會(huì)出現(xiàn)盲目使用工具的情況。同時(shí) RL 天然能處理多步?jīng)Q策,所以不特別需要研究“多輪交互時(shí)的動(dòng)作決策模型標(biāo)注“。
引入動(dòng)態(tài)拆分任務(wù)
以上的 tool 調(diào)用,特別是網(wǎng)絡(luò)搜索和 Python 執(zhí)行,主要是為模型輸出產(chǎn)生一些參考,因此本質(zhì)上沒(méi)有互斥性,就是說(shuō)各個(gè)動(dòng)作間沒(méi)有強(qiáng)依賴。我們下面考慮一個(gè)動(dòng)作間有強(qiáng)烈互相影響的場(chǎng)景:“任務(wù)拆分”。
當(dāng)用戶輸入復(fù)雜到一定程度,我們需要引入拆分。靜態(tài)拆分不需要特殊處理,但是如果希望子任務(wù)是跟據(jù)動(dòng)態(tài)執(zhí)行時(shí)獲得的信息動(dòng)態(tài)調(diào)整的,則要引入一個(gè)任務(wù)棧來(lái)進(jìn)行管理。之前 AutoGPT 即引入了動(dòng)態(tài)拆分子任務(wù),基于語(yǔ)言模型實(shí)現(xiàn)了一定的 Agent 能力。但是一直以來(lái) AutoGPT 并沒(méi)有通過(guò)“訓(xùn)練”來(lái)加強(qiáng)能力的方法。下面,我們先把 AutoGPT 搬到 RL 里,一個(gè)搞法是借助 MCTS(蒙特卡洛搜索樹(shù))。
根結(jié)點(diǎn)是當(dāng)前任務(wù)。各個(gè)葉子結(jié)點(diǎn)有 expandable 和 terminal 兩個(gè)屬性,其中 expandable 結(jié)點(diǎn)可以進(jìn)一步被展開(kāi)成子任務(wù)。注意
?MCTS 里 sibling 結(jié)點(diǎn)之間是或關(guān)系,選一即可。?MCTS 的 Policy Network 對(duì)應(yīng)上文中的“動(dòng)作決策”模型。?MCTS 里的 Value Network 可以用一大模型實(shí)現(xiàn),描述當(dāng)前結(jié)點(diǎn)的價(jià)值。比如發(fā)現(xiàn)當(dāng)前子任務(wù)是死胡同時(shí)(如發(fā)現(xiàn)模型在用窮舉法證明“偶數(shù)加偶數(shù)還是偶數(shù)”時(shí))可以喊停。?上文的工具調(diào)用“模型”可以自然地嵌入到這里使用
子任務(wù)拆分沒(méi)什么可用的數(shù)據(jù),可以先靠語(yǔ)言模型天賦能力開(kāi)始。訓(xùn)練數(shù)據(jù)可以選有明確答案的題,以答對(duì)為 Reward。MCTS 的形式特別適用需要回溯的任務(wù)(把某種任務(wù)分解推倒重來(lái)),比如數(shù)學(xué)計(jì)算。
(到這,我們得到了一個(gè)用 Q-learning 整體驅(qū)動(dòng)的,自動(dòng)學(xué)習(xí)如何拆任務(wù)調(diào)工具的框架,似乎和 Q* 公開(kāi)的一些線索對(duì)上了一些。)
審核編輯:黃飛
-
Agent
+關(guān)注
關(guān)注
0文章
128瀏覽量
27557 -
Q-Learning
+關(guān)注
關(guān)注
0文章
5瀏覽量
8215 -
python
+關(guān)注
關(guān)注
56文章
4825瀏覽量
86178
原文標(biāo)題:Q-Learning 在 Agent 的應(yīng)用
文章出處:【微信號(hào):zenRRan,微信公眾號(hào):深度學(xué)習(xí)自然語(yǔ)言處理】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
《AI Agent應(yīng)用與項(xiàng)目實(shí)戰(zhàn)》閱讀體驗(yàn)--跟著迪哥學(xué)Agent
【「零基礎(chǔ)開(kāi)發(fā)AI Agent」閱讀體驗(yàn)】+初品Agent
【「零基礎(chǔ)開(kāi)發(fā)AI Agent」閱讀體驗(yàn)】+Agent的工作原理及特點(diǎn)
【「零基礎(chǔ)開(kāi)發(fā)AI Agent」閱讀體驗(yàn)】+Agent開(kāi)發(fā)平臺(tái)
基于Q-Learning的認(rèn)知無(wú)線電系統(tǒng)感知管理算法
基于LCS多機(jī)器人的算法介紹

基于Q-learning的碼率控制算法

Q Learning算法學(xué)習(xí)
淺談Q-Learning和SARSA時(shí)序差分算法
基于雙估計(jì)器的Speedy Q-learning算法
《自動(dòng)化學(xué)報(bào)》—多Agent深度強(qiáng)化學(xué)習(xí)綜述

怎樣使用Bevy和dfdx解決經(jīng)典的Cart Pole問(wèn)題呢
7個(gè)流行的強(qiáng)化學(xué)習(xí)算法及代碼實(shí)現(xiàn)
7個(gè)流行的強(qiáng)化學(xué)習(xí)算法及代碼實(shí)現(xiàn)

評(píng)論