AI時代的遊戲開發:成為ChatGPT的監工

潯陽發表於2022-12-20
12月5日,OpenAI執行長Sam Altman發推表示,自ChatGPT釋出後,5天內使用者數量超過了100萬。這在人工智慧史上是個里程碑的數字,GPT-3達到該成績花了近兩年時間,DALL-E則是兩個多月。

AI時代的遊戲開發:成為ChatGPT的監工

中文網際網路的網友們,同樣能在媒體密集且花樣百出的報導中感受到由ChatGPT帶來的這股AI浪潮,而這,離AI生成影像帶來的衝擊只有三個月。

其席捲之廣、討論之熱烈較AI繪畫有過之而無不及。

AI時代的遊戲開發:成為ChatGPT的監工

它被稱之為最好的聊天機器人,能夠快速響應人類的提問,生成有意義的回覆,其優勢在於能夠記住同一對話的上下文,承認自身錯誤、質疑不正確的前提、修正自己的答案,並拒絕一些不正當的請求。

有人讚歎人工智慧技術的發展,並試驗其在各個領域的可行性,如取代搜尋引擎,如撰寫工作報告、策劃方案等文件,甚至是學術論文,如翻譯文字,十幾種語言的相互轉譯都不在話下,如除錯程式碼甚至是開發遊戲……

有人試圖從中找到一些新的樂子,如屢試不爽的“圖靈測試”,如將AI調教成某種人格的角色,如跨過防線,誘導AI說出“禁忌”之語。

ChatGPT的熱度是一個基於媒體曝光與公眾參與的事件,還是一個真正的AI變革?之於遊戲,它又可能產生何種影響?

ChatGPT的“社會化”

在真正領略ChatGPT之前,個人並未對這一新興的科技產物感到好奇,畢竟聊天機器人既非新鮮事物,網友所鼓吹的“幹了搜尋引擎所能幹的事”也不稀奇,比ChatGPT更早釋出的Character.AI就有相近的出色表現:

AI時代的遊戲開發:成為ChatGPT的監工
Character.AI認為它生成的回答會更加個性化,角色扮演意味更強

至於ChatGPT的程式碼除錯或自動生成程式碼功能,於年初發布的GitHub Copilot同樣能做到類似的事情,前些日子它還因為版權問題被部分程式設計師告上了聯邦法院。

AI時代的遊戲開發:成為ChatGPT的監工
GitHub Copilot能夠根據上文推測後面的程式碼,或者根據使用者輸入的文字提示自行生成程式碼

如果要說這些AI工具有什麼聯絡的話,那就是。

據維基百科解釋,GTP-3是一個自迴歸語言模型,目的是為了使用深度學習生成人類可以理解的自然語言。它由Open AI訓練與開發,基於谷歌開發的變換語言模型(Transformer)設計。

ChatGPT便是基於GPT-3.5架構的大型語言模型。有關於ChatGPT的運作原理與訓練方法,近些天來已有專業人士進行過詳細剖析,在此僅簡單整理一些要點(門外漢翻閱大量資料後整理出的理解思路,僅供參考,如有錯誤,敬請指正):

1.GPT

全稱為Generative Pre-trained Transformer,生成型預訓練變換模型,是自然語言處理領域(NLP)的一種語言模型。NLP為人工智慧領域的一個重要研究方向,旨在讓人能夠用自然語言(如漢語)跟計算機通訊。

NLP可用深度學習的方法來處理,常見的方式是輸入大量語料,構建一個能夠在給定部分序列的情況下預測下一個符號的模型,形象的描述就是讓AI做填空or文字接龍。

2017年穀歌研究出Transformer模型,不僅提高了提取資料共性特徵的成功率,而且它可以進行無監督學習,有效解決人工標註資料耗時長、成本高、效率低的問題。

GPT的框架包括Transformer,其訓練過程大致分為兩個階段,先利用Transformer對大量資料進行無監督學習,然後根據具體任務對引數進行微調,目的是為了研製出一種通用的人工智慧。在NLP的具體任務中,GPT的文字生成能力表現尤為突出。

AI時代的遊戲開發:成為ChatGPT的監工

2.GPT3與GPT3.5

GPT-3(2020)擁有1750億個引數,是有史以來引數最多的神經網路模型,是GPT-2的116倍,是GPT-1(2018)的1496倍。“資料、算力、演算法”構成了AI的三大基石,從該觀點看,GPT-3在NLP領域的風光無限便是大力出奇跡的有力證明,然而其代價也是巨大的,訓練GPT-3估計需要上千萬美元。

AI時代的遊戲開發:成為ChatGPT的監工

GTP-3.5是用2021年第四季度前的文字與程式碼等資料進行訓練的,而ChatGPT是GTP-3.5的微調版本,其要解決的具體任務就是聊天機器人。

3. 訓練方法

Open AI團隊並未公開ChatGPT的論文,關於ChatGPT的解析多基於其兄弟模型Instruct GPT。

AI時代的遊戲開發:成為ChatGPT的監工
上ChatGPT,下Instruct GPT

Instruct GPT的訓練主要分為三個階段,一是由人工為GPT挑選問題並提供答案,用這些範例來訓練一個生成模型,這些人工標註的大約有1萬多條,目的是為了讓GPT所使用的資料更偏向於人類感性趣的內容;二是用RLHF(Reinforcement Learning from Human Feedback)的方法來訓練一個獎勵模型,即用人類標註的方法為GPT產生的答案進行打分,從而讓GPT能夠預測哪種輸出人類更為喜歡;三是用PPO(Proximal Policy Optimization)強化學習演算法來微調第一階段訓練出來的生成模型,即將獎勵模型的打分反饋給第一階段,讓模型能輸出更多高分答案。

臺灣大學李宏毅教授在分析Chat GPT時用瞭如下圖例進行解釋:

AI時代的遊戲開發:成為ChatGPT的監工
截圖:臺灣大學李宏毅教授.油管影片《ChatGPT(可能)是怎麼煉成的》

在為“世界上最高的山是哪座”這一句話接龍的時候,GPT輸出的回答是多樣的,如“誰來告訴我”、“最深的海是哪個”,它們均為合理的表述,但不太像是人類期望的答案,因此被獎勵模型判定為低分,而獲得最高分的“喜馬拉雅山”成了最終GPT輸出的回答,在大量資料的訓練與獎勵模型的引數調整下,ChatGPT輸出的回答越來越符合人類的認知。

李宏毅教授在評價ChatGPT的時候,用了個詞——“社會化”,意指ChatGPT其實是一個社會化的過程,經由人類的引導與調整,讓原本隨機輸出回答的人工智慧變得更符合人類期待的樣子,即其回答更符合提問者想要的。

AI時代的遊戲開發:成為ChatGPT的監工
截圖:臺灣大學李宏毅教授.油管影片《ChatGPT(可能)是怎麼煉成的》

在“社會化”之外,其實還可以加上一個詞,“大眾化”。

從以上的分析其實可以看出,ChatGPT其實並沒有用到什麼黑科技級別的演算法,無論是Transformer、RLHF還是PPO,它們在學術界均是廣為人知的,ChatGPT真正的領先之處在於那個花重金砸出來的大規模預訓練語言模型。

ChatGPT之所以能在社會中引起如此大的反應,是因為它不再是被研究者封閉起來的專案,它向社會開放,允許公眾免費使用,且因覆蓋的語言種類多而造成了病毒式的擴散。

基於此,外媒theverge的編輯JAMES VINCENT用了另外一個詞來形容ChatGPT引起的浪潮,“capability overhang”,意指AI的潛能,對於這些能力,研究者未曾測試過也不清楚其具體的運作。之於ChatGPT,它指的便是AI進入公共領域後所出現的未在研究者預期內的使用方式。

從官方的描述與示例來看,ChatGPT是個聊天機器人,它能夠應付翻譯、校對、文字分類、摘要等NLP領域的任務,可以幫助人類除錯程式碼,會嘗試著預測提問者的意圖,能夠在上下文語境中理解指示代詞指向的物件(圖靈測試經典問題),能夠連續對話,並記住使用者的指令或此前的“對話”。

AI時代的遊戲開發:成為ChatGPT的監工
截圖:B站使用者Knight洪爵

有研究者還專門從語言模型的角度與現行標準來分析ChatGPT的能力,雖然未能掙脫語言模型長期存在的邏輯推理弱的問題,但在語義理解方面表現突出。

AI時代的遊戲開發:成為ChatGPT的監工
ChatGPT在多種對話任務中的主觀體驗評分:人工智慧產業發展聯盟AIIA.《ChatGPT評測觀察之對話能力》

但在廣大網民眼中,ChatGPT絕不只是一個能跟使用者溝通的聊天機器人,他們挖掘出了更多應用場景。

比如把它當成搜尋引擎來使用,提供百科、常識等方面的回答;

比如把它當做文章的潤色、修改助理來使用,下到日常報告、上到學術論文,它均能應付,畢竟提取摘要、潤色、校對……這些算是ChatGPT的本行工作;

比如小說撰寫,ChatGPT在該方面的能力遠大於那些情節生成器,它能模擬某種寫作風格,且在文字的相關性上有更出色的表現;

比如用ChatGPT來指導AI繪畫,其生成的圖片效果比使用者自己瞎蒙要好得多。

AI時代的遊戲開發:成為ChatGPT的監工
截圖:B站使用者大江戶戰士

比如角色扮演,讓ChatGPT模擬某一角色回答問題。

在github有個收集ChatGPT角色扮演提示詞的帖子,他們讓ChatGPT變成某一領域的專業助理:

AI時代的遊戲開發:成為ChatGPT的監工
目前收錄的“角色”已超過一百項

在程式設計師眼裡,ChatGPT能做的事情不只是除錯程式碼,它能檢測安全漏洞,還能建立漏洞,可逆向工程用指定語言重寫程式碼……

AI時代的遊戲開發:成為ChatGPT的監工

它所蘊藏的潛能,自然也會滲透到遊戲領域。

用ChatGPT做遊戲

在《AI時代,6小時做一款遊戲》一文中,GameRes介紹了開發者如何利用AI工具來製作遊戲開發所需要的資產,如美術、音樂、劇本等,短短三個月後,ChaGPT的公開將開發一款遊戲的時間壓縮到10分鐘以內,它所能做的事情也比此前的AI工具要多得多。

AI時代的遊戲開發:成為ChatGPT的監工
不到五分鐘做的貪吃蛇
截圖:Reddit使用者I_PUNT_BABIES_75

用ChaGPT開發遊戲,可大致分為兩個思路,一是文字,二是程式碼。

1.文字型遊戲&設計文案

從ChaGPT擅長的文字生成能力出發,在遊戲開發領域ChaGPT最適合擔任的角色是擔任跑團遊戲的DM。

它的具體運作原理跟2019年釋出的AI Dungeon 2相差無幾,玩家可以自行設定故事背景,輸入想要角色執行的動作,AI會自行生成該行動造成的後果,從而為使用者提供一段個性化的冒險旅程。

AI時代的遊戲開發:成為ChatGPT的監工
截圖:B站使用者無名遊戲

ChatGPT的優勢在於它能夠為使用者提供更加細緻的環境描述,且具備足夠的可信度。當然,想要讓體驗更具沉浸感,需要使用者有一定的引導技巧:

AI時代的遊戲開發:成為ChatGPT的監工

使用者也不要奢望它能夠與現實中的跑團遊戲相媲美,ChatGPT雖然能理解並記住記住使用者輸入的話,詳細描述場景乃至製造妙趣橫生的轉折,但AI生成的情節均是基於當前的會話產生的,它可不會伏筆、角色一致性等高階技巧。

AI時代的遊戲開發:成為ChatGPT的監工
由AI提供選擇的文字冒險
該遊戲由國外一名11歲的孩子生成

除了跑團,ChatGPT還能用於遊戲的劇本撰寫,如具體的情節描述、對話或故事大綱,倘使你對文字質量沒有太多要求,又或者只是為了尋求一些“神轉折”之類的靈感的話,ChatGPT還是能勉強一用的。

在文字生成上,ChatGPT最大的驚喜是它幹了遊戲策劃的活。

使用者可以向ChatGPT丟擲自己的大致要求與思路,如遊戲角色設計、技能設計、卡牌設計等等,讓ChatGPT來作答。

如果使用者不滿意的話,可以一步步引導ChatGPT更改表述,細化內容,甚至模擬實際的對戰效果。

AI時代的遊戲開發:成為ChatGPT的監工
截圖:B站使用者水水水水水門、

僅從回答來看,ChatGPT說得還挺像一回事,它不僅能夠理解戰士、坦克、射手這些職業的差異,還能對技能進行詳細闡述,甚至能給出“施加Buff”、“消耗能量”等具體的功能。

是的,“挺像一回事”,ChatGPT的回答其實更接近玩家在遊戲內所看到的“介紹性”文字,而非真正意義上策劃所做的事情,策劃撰寫某項遊戲功能要的不僅是對功能的概括性描述,更需要將其轉化為確切的可執行的開發文案,“衝撞-造成傷害-增加護甲”,衝撞的距離,衝撞的速度,能否打斷,在不同地形下的狀況……在簡單的描述背後,需要的是細節的拆解、流程的整合,更遑論不同崗位的需求溝通與後續的迭代、變更。

如果是讓ChatGPT從零開始構思一個遊戲,而非輸出某一遊戲功能的策劃案呢?

行是行得通,但無法太過複雜,無法兼顧細節,目前較合適的方向是設計一款規則簡單、卡牌種類少的卡牌遊戲。

AI時代的遊戲開發:成為ChatGPT的監工
油管使用者Nash Idaho根據ChatGPT的提示做了一款共計18張牌的雙人遊戲

2.程式碼

利用ChatGPT開發遊戲,其真正妙用在於“程式碼”。

目前在該方面它有這麼幾種常見的使用方式:

1)直接給出一整個遊戲的程式碼;

2)程式碼除錯,使用者可輸入程式碼讓ChatGPT檢閱,看問題出在哪、如何修改;

3)模組開發,透過文字詢問ChatGPT想要實現某一功能應該怎麼做。

第一類僅適用於桌面彈球、貪吃蛇一類的小遊戲,從建立專案到新增圖片,ChatGPT均能做出解答。但ChatGPT並非一個教師,而是直接讓使用者抄答案。

AI時代的遊戲開發:成為ChatGPT的監工
截圖:B站使用者Mingo_明歌

若是遊戲稍微複雜一點,ChatGPT就相形見絀了。但從理論上來說,還是有可能的,只要ChatGPT的訓練庫裡存在遊戲的完整程式碼。

AI時代的遊戲開發:成為ChatGPT的監工
讓ChatGPT直接開發一款《植物大戰殭屍》,輸出的程式碼不連續、相關性弱
截圖:B站使用者打工人小棋

第二類除錯程式碼,ChatGPT表現出色,已有不少開發者將ChatGPT當做常駐的協助工具,用於測驗Bug或重寫程式碼。

AI時代的遊戲開發:成為ChatGPT的監工
國外開發者xr masiso將自己的AR遊戲程式碼提供給ChatGPT,AI重寫後的遊戲執行效果出乎意料

第三類, ChatGPT的真正使用方法,它需要使用者對遊戲開發或遊戲引擎(如Unity、虛幻引擎)有一定的理解,根據自己的需要跟喜好向ChatGPT獲取特定功能元件的程式碼,由此生成一個由使用者構思的新遊戲(而非復刻桌面彈球等老遊戲)。

比如,開發一款射擊小遊戲:

AI時代的遊戲開發:成為ChatGPT的監工

玩家只能用滑鼠操控角色,左鍵發射子彈,滑鼠方向即為子彈方向,角色移動靠的便是子彈的反作用力,玩家透過擊敗隨機生成的敵人來積累分數。

不得不說,AI設定的速度值相當老辣,反覆點選可加速移動,同時受慣性影響,如何在操控角色移動的同時避開敵人可是門學問。

該遊戲由BenBonk所設計,程式碼全部由ChatGPT提供,耗時數個小時。

AI時代的遊戲開發:成為ChatGPT的監工

比如在虛幻引擎上實現角色移動:

AI時代的遊戲開發:成為ChatGPT的監工

又或者向ChatGPT求教如何建立彩虹材質:

AI時代的遊戲開發:成為ChatGPT的監工

顯然,ChatGPT能夠理解虛幻引擎控制元件藍圖的使用方式,開發者可以一步步引導它來實現想要的功能。

這讓GameRes想到了2020年發售的《Dreams》——一個視覺化的遊戲開發工具,開發者可以用遊戲內提供的微晶片來為角色行為做對映,從而免去輸入程式碼的步驟。ChatGPT能夠實現的功能比它豐富,方法比它簡單,開發者所需要的只是輸入文字而已,大有一種Text to Code的意味。

AI時代的遊戲開發:成為ChatGPT的監工

但二者相同的是,想要真正利用工具來實現高水準的遊戲開發,都應該有程式設計的底子,一來ChatGPT所輸出的程式碼並非完全正確的,否則也不會被全球知名技術問答網站StackOverflow所禁止。

AI時代的遊戲開發:成為ChatGPT的監工
只要答案的任何部分有誤,那麼它在客觀上就是錯誤的

開發者需要有辨認ChatGPT所生成程式碼的能力。

AI時代的遊戲開發:成為ChatGPT的監工
截圖:B站影片《當你讓ChatGPT寫神經網路演算法的時候》底下網友的評論

二來遊戲開發要的不只是會寫底層程式碼,也許遊戲目前還跑得起來,但後續的迭代、功能的變化擴充,乃至遊戲穩定性、效能最佳化都得考慮在內。

AI時代的遊戲開發:成為ChatGPT的監工
《太吾繪卷》在銷量突破30萬套時宣佈將重構程式碼

即便如此,ChatGPT與它所象徵的生成式人工智慧依舊讓人望而生畏,GPT-4已經在路上了,演算法還在更迭,下一次的正規化變化將帶來怎樣天翻地覆的變革都是難以想象的,未來是否有一天,開發者只需要把握方向跟整體架構就行了,他們將成為真正意義上的AI的監工。

個人認為,面對來勢洶洶的AI工具,至少有兩個關注重點,一是它接下去會如何發展,它在自然語言的理解上與生成內容的質量上還會有怎樣的變更;二是AI工具的大眾化。

是的,ChatGPT並不具備取代專業人士的能力,但它對於新手或跨行業人士就是福音,它能像視覺化的開發工具一樣降低遊戲的開發門檻。當AI工具脫離研究領域或專業領域向公眾開放的時候,它勢必對現有格局造成衝擊,就像智慧手機之於攝影、短影片之於內容創作者,它們帶來了大規模的業餘化——

“只有當一項技術變得普通,普遍,直到最後無處不在而被人們視若無睹時,變革才真正到來。”(克萊·舍基《人人時代》)

參考資料:
李宏毅.《ChatGPT(可能)是怎麼煉成的》
何枝.《ChatGPT是怎樣被訓練出來的?》
Web3天空之城.《從爆火的chatGPT講起: 自然語言生成式AI的前世今生, 你想了解的一切》
James Vincent .《ChatGPT proves AI is finally mainstream — and things are only going to get weirder》


原文:https://mp.weixin.qq.com/s/xMkRhZ8AE1GC1KqZ6VyF8Q

相關文章