前段時間,Meta 正式發布人工智能 CICEROO——這是第一個在時下流行的戰略游戲 Diplomacy 中表現達到人類水平的人工智能。在 CICEROO 的背后,有哪些技術實踐?
本文最初發布于 Meta AI 官方博客。
長期以來,游戲一直是人工智能最新進展的試驗場——從深藍戰勝國際象棋大師 Garry Kasparov,到 AlphaGo 熟練掌握圍棋,再到 Pluribus 在撲克游戲中戰勝了人類高手。但真正有用的多功能代理不能局限于在棋盤上移動棋子。我們能否建立更有效、更靈活的代理,使用語言進行談判、說服,并與人合作,像人那樣實現戰略目標?
日前,我們宣布了一項突破性進展,向著構建掌握這些技能的人工智能邁進了重要的一步。我們已經構建了一個代理 CICERO——這是第一個在時下流行的戰略游戲 Diplomacy 中表現達到人類水平的人工智能。CICERO 在 webDiplomacy.net(該游戲的在線版本)上證明了這一點,它的成績是人類玩家平均分的兩倍多,并且在玩過多個游戲的玩家中排名前 10%。
幾十年來,Diplomacy 一直被視為人工智能領域近乎不可能的重大挑戰,因為它要求玩家掌握了解他人動機和觀點的藝術;制定復雜的計劃并調整策略;然后用自然語言與他人達成協議,說服他們建立伙伴關系和聯盟,等等。CICERO 在使用自然語言與人進行外交談判方面表現非得常出色,以至于玩家常常傾向于與 CICERO 而不是其他人類玩家合作。
與國際象棋和圍棋等游戲不同,Diplomacy 是一個關于人而不是棋子的游戲。如果代理無法辨別出某人可能在虛張聲勢,或者另一個玩家會認為某一舉動具有攻擊性,那么它很快就會輸掉游戲。同樣,如果它不能像真人那樣說話——表現出同情心,建立關系,并對游戲有一定的了解——它就無法找到其他愿意與它合作的玩家。
我們的主要成就是打通了兩個完全不同的人工智能研究領域并開發了新技術:戰略推理(如 AlphaGo 和 Pluribus 等代理中使用的技術)和自然語言處理(如 GPT-3、BlenderBot 3、LaMDA 和 OPT-175B 等模型中使用的技術)。舉個例子,CICERO 可以推斷出,在游戲后期,它會需要特定玩家的支持,然后精心設計一個策略來贏得這個人的青睞——甚至可以識別出這個玩家從自己特定的視角所看到的風險和機會。
我們已經將代碼開源,并發表了一篇論文,希望可以為更廣泛的人工智能社區帶來幫助,讓他們使用 CICERO 來推動人類與人工智能的合作進一步進展。如果你想了解更多關于這個項目的信息,或者試用這個代碼,請移步 CICERO 的官網。感興趣的研究人員可以向 CICERO RFP 提交建議,獲取數據使用權。
我們是如何構建 CICERO 的?
CICERO 的核心是一個可控的 Diplomacy 對話模型,外加一個策略推理引擎。在游戲中的每個時刻,CICERO 都會查看棋盤及其對話歷史,并對其他玩家可能采取的行動建模。然后,它會用這個方案來控制一個可以生成自由對話的語言模型,告知其他玩家它的計劃,為其他玩家提出合理的行動建議,與他們做好協調。
可控的對話
為了構建一個可控的對話模型,我們從一個有 27 億參數的類似 BART 的語言模型開始,使用從互聯網上收集的文本對它進行了預訓練,然后使用 webDiplomacy.net 上超過 4 萬個人類游戲對它進行了優化。我們開發了一些技術,將訓練數據中的信息與游戲中相應的計劃動作進行自動標注,這樣,在推理時我們就可以控制對話的生成,討論代理和其對話伙伴所期望的具體行動。
例如,如果我們的代理在扮演法國,在涉及英格蘭支持法國進入勃艮第的計劃時,對話模型可能會生成這樣一條信息發送給英格蘭,“嗨,英格蘭!你愿意支持我進入勃艮第嗎?”以這種方式控制對話生成,可以使 CICERO 將對話建立在一套計劃之上,并隨著時間的推移完善和改進,以更好地進行談判。這有助于代理更有效地協調和說服其他玩家。
第 1 步:使用棋盤狀態和當前對話,CICERO 對每個人下一步會做什么做了一個初步預測。
第 2 步:CICERO 利用規劃反復完善該預測,然后利用這些預測為自己和合作伙伴形成一個意圖。
第 3 步:根據棋盤狀態、對話和意圖,生成幾條候選信息。
第 4 步:對候選信息進行過濾,減少廢話,使價值最大化,并確保其符合意圖。
我們利用一些過濾機制——例如經過訓練的分類器來區分人類和模型生成的文本——來進一步提高對話質量,確保生成的對話是切合實際的,與當前游戲狀態和之前的信息相一致,并且戰略上也合理。
對話感知策略 & 規劃
以前,在象棋、圍棋和撲克等對抗性游戲中的超人代理是通過自我強化學習(RL)創建的——讓代理與自身的其他副本進行數百萬次對局來學習最佳策略。然而,涉及合作的游戲需要對人類在現實生活中的實際行為進行建模,而不是對完美的機器人副本應該做什么進行建模。特別是,我們希望 CICERO 制定的計劃與它和其他玩家的對話一致。
人類建模的經典方法是監督學習,即用帶標簽的數據(如過去游戲中人類玩家的行動數據庫)來訓練代理。然而,純粹依靠監督學習根據過去的對話結果來選擇行動,會導致代理的能力相對較弱,而且很容易被利用。例如,一個玩家可以告訴代理,“很高興我們能達成一致,你將把你的部隊從巴黎撤出!”由于類似的信息只有在達成協議時才會出現在訓練數據中,所以代理可能真的會將其部隊調離巴黎,即使這樣做是一個明顯的戰略失誤。
為了解決這個問題,CICERO 會運行一個迭代規劃算法,平衡對話的一致性和合理性。首先,代理會根據它與其他玩家的對話預測每個人在當前回合的策略,同時也預測其他玩家會如何預測代理的策略。然后,它會運行我們開發的名為 piKL 的規劃算法,根據其他玩家預測的策略選擇具有更高期望值的新策略來迭代改進自己的預測,同時還會設法使新的預測接近于初始的策略預測。我們發現,與單純的監督學習相比,piKL 能更好地模擬人類游戲,幫代理選出更好的策略。
生成自然、有目的的對話
在 Diplomacy 中,玩家與他人的交談方式,甚至比他們移動棋子的方式更重要。在與其他玩家一起制定策略時,CICERO 能夠說出清晰而有說服力的話。例如,在一個演示游戲中,CICERO 要求一個玩家立即在棋盤的某個部分提供支持,同時向另一個玩家施加壓力,使其在后續的游戲中考慮結盟。
在這些交流中,CICERO 試圖通過向三個不同的玩家提供行動建議來執行其策略。在第二次對話中,代理能夠告訴其他玩家為什么他們應該合作,以及合作如何對雙方有利。在第三次對話中,CICERO 既是在征集信息,也是在為未來的行動打基礎。
哪里還有改進空間?
必須認識到,CICERO 有時也會生成不一致的對話,妨礙目標的達成。在下面的例子中,CICERO 扮演的是奧地利,它與自己的第一條信息(要求意大利移到威尼斯)前后矛盾了。雖然我們的過濾器套件就是用于檢測這類錯誤,但它并不完美。
將 Diplomacy 作為促進 人類與人工智能互動的沙盒
在競合類游戲中,以目標為導向的對話系統的出現,對于協調 AI 與人類的意圖和目標提出了重要的社交和技術挑戰。Diplomacy 為研究這一問題提供了一個特別有趣的環境,因為玩游戲需要在相互沖突的目標中艱難應對,并將這些復雜的目標翻譯成自然語言。舉個簡單的例子,玩家可能會為了維持一個盟友關系而選擇在短期利益上做出妥協,目的是希望這個盟友能夠在下個回合中幫助他們取得更有利的地位。
雖然我們在這項工作中取得了重大的進展,但是,將語言模型與具體意圖緊密結合的能力,以及確定這些意圖的技術(和規范)挑戰,仍然是有待解決的重要問題。通過開放 CICERO 的源代碼,我們希望人工智能研究人員能夠基于我們的工作以負責任的方式繼續研究下去。通過使用我們的對話模型進行零樣本分類,我們已經在這個新領域中圍繞檢測和刪除有毒信息做了一些初步的工作。我們希望,Diplomacy 可以作為一個安全的沙盒來推進人類與人工智能互動的研究。
未來展望
雖然 CICERO 只會玩 Diplomacy 這個游戲,但這項成果背后的技術涉及到現實世界的許多應用。比如,通過規劃和 RL 控制自然語言生成,減少人類和人工智能驅動的代理之間的溝通障礙。再比如,如今的人工智能助手只擅長回答簡單的問題,如告訴你天氣,但如果他們能維持長時間的對話,并以教給你一個新技能為目標,那會怎樣?另外,想象有一個視頻游戲,其中的非玩家角色(NPC)可以像人一樣計劃和交談——理解你的動機并相應地調整對話——以幫助你完成攻打城堡的任務。
我們非??春眠@些領域未來的發展潛力,也希望可以看到其他人基于我們的研究開展進一步的工作。
審核編輯 :李倩
-
人工智能
+關注
關注
1804文章
48773瀏覽量
246818 -
語言模型
+關注
關注
0文章
559瀏覽量
10689
原文標題:能與人類談判、游戲水平媲美真人,Meta 是如何構建新人工智能 CICERO 的?
文章出處:【微信號:AI前線,微信公眾號:AI前線】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
評論