寫在程序員節:遊戲、技術和天美的這羣人們_風聞
触乐-触乐官方账号-2021-10-25 14:51
來源:觸樂

很多人喜歡説,“遊戲不只是遊戲”,在一定程度上,遊戲技術亦然。
1.
“有沒有一種可能,你們發現AI比評估它的高手更聰明,高手已經看不懂了?”我問阿文。
“這是個很好的問題。”阿文在電話裏回答我。他就像一個真正的老師,或者學者那樣,在採訪過程中,偶爾喜歡説“這是個很好的問題”,按我的理解,大概這就説明他對回答這個問題很有興趣。阿文説:“現在我們的一些AI已經超過了公司內高手的評價水平,當然,我們同事玩《王者榮耀》的水平畢竟不都是特別強的,當AI的段位比他們還高的時候,他們就評估不了AI的水平了。這時候,我們就必須找一些更強的玩家,去社會上找也好,去找半職業選手也好……總之,到了這個階段,我們確實就很難給AI打分了。
我和阿文正在聊用《王者榮耀》訓練人工智能的事兒。簡單説起來,這事兒是這樣的:你有一個初始的AI(你總該知道AI大概是什麼意思),或者叫一個深度學習訓練的模型。你需要編寫一些程序讓這個AI通過通用接口讀取遊戲信息,並輸出操作信息——我們可以簡單地把這個過程形容為“讓AI開始玩《王者榮耀》”。
接下來的工作就是“訓練”AI。在我和阿文的對話中,“AI”這個寬泛的名詞其實是個代稱,實際上,我們在説的是“開悟”。按官網上的介紹,“開悟”是“騰訊牽頭構建的,依託騰訊AI Lab和《王者榮耀》的AI多智能體與複雜決策開放研究平台”。
我也可以用一個更簡單的描述,開悟是騰訊研發的深度學習平台。所謂“深度學習”,簡單來説,就是AI通過海量的實例和嘗試,總結和歸納出規律,並最終具備某種能力的過程。
或許你覺得這麼説還是有些抽象,那我可以再説得直觀一點(不過要知道,越直觀,越便於理解,對它的形容就越不精確)。AI就像孩子,想要讓孩子懂事兒,你就需要教他知識,讓他在世界中奔跑以積累經驗,孩子在一次一次嘗試中瞭解社會,獲得經驗,以應對更大的挑戰——我們幾乎都是這樣成長起來的。
王者開悟就是那個孩子,《王者榮耀》就是讓這個孩子積累經驗的世界。

更復雜的環境往往能訓練出更加智能的AI,遊戲AI研究的重心也已從棋盤類遊戲轉向了更復雜的遊戲
2.
遊戲深度學習這事兒,大多數人都是從人工智能科技公司DeepMind的相關報道中得到啓蒙。你總該聽説過“阿爾法狗”(AlphaGo),AlphaGo就是DeepMind研發的人工智能。2015年,DeepMind第一次進入公共視野。後來的事情就比較轟動了,他們的AI,AlphaGo橫掃圍棋棋壇,引來一大堆人驚呼未來是否是AI的(就像無數科幻小説每5年就要時髦一次的話題那樣),再之後,AlphaGo開始將目光轉向《星際爭霸2》。
在這一步上,公眾對於AlphaGo的認識出現了幾個誤區,首先是將AI轉向不同項目的難度。很多人覺得這沒什麼難的,拔下幾根接頭,插到另外的機器上,AI就可以在新遊戲中傲視四方——在現實生活中,一個人被稱作“遊戲高手”,通常意味着他對幾乎所有遊戲都具備過人的理解力和操作能力。
AI不是這樣。在採訪中,阿文告訴我,AI“能力的遷移是一件比較困難的工作”。簡單來説,按我的理解,一個AI下圍棋可以,但直接用來下象棋就沒戲。一個AI玩《星際爭霸2》可以,但直接拿去玩《王者榮耀》就完全不行。還是用阿文的話説,“設計模型在領域和領域之間是很難遷移的”。

AI應用深入遊戲全生命週期
第二個誤區是很多人會把“電腦難度”和“AI”混淆,很多人覺得遊戲中的“AI”已經很強。比如説《星際爭霸2》,如果你選了高難度電腦,那想要獲得勝利的確不太容易——但我們所説的AI和遊戲中的“電腦難度”關係並不大。簡單來説,遊戲中的難度往往通過各種方式實現。你在遊戲中的電腦對手可以看到遊戲內所有的數據:在RTS中,機器人知道你在哪裏,你建造了哪些兵種,你的部隊調動去什麼方向;在FPS遊戲中,你的對手往往有數倍於你的血量——總而言之,在遊戲中,電腦往往通過作弊的方式讓玩家覺得“難度提升”。
但用以訓練的AI不同,它在遊戲中獲得的信息不比任何一個普通玩家多,AI需要在複雜的遊戲環境中觀察周圍,進行判斷,再做出選擇。

策略協作型AI“王者絕悟”(紅方)合作擊敗對手
這些知識都是阿文和老劉在採訪中告訴我的。阿文是騰訊AI Lab的研究員,老劉是騰訊互娛天美工作室羣的研發工程師,兩個人在電話中接受了我的採訪。
“我們差不多2016年就開始商量要做AI,然後一直合作到現在。”老劉對我説。然後他向我講述了合作開始時的情景:“當時AI Lab的領導和天美的領導在一次騰訊內部的會議上遇到,兩人相談甚歡,然後一拍即合,決定要做這件事。”
合作開展得非常順利,天美將部分遊戲數據開放給AI Lab,並派出了經驗最豐富的同事和AI Lab一起探討如何訓練這個AI。
就像本章一開始説的那樣,AI能力的遷移是很困難的工作,具體到《王者榮耀》這款遊戲,AI訓練的重點又和《星際爭霸2》不同,在《王者榮耀》中,玩家需要和另外4位隊友配合,重點就放到了多個AI之間的相互協同和配合上——用阿文的説法,重點在於“多智能體的博弈策略”。
這種博弈策略通過海量的訓練學習而來,學習的方法也很簡單,讓AI不停玩遊戲,同時進行數萬局比賽,每一個AI在每一局的每一分鐘都在生成新的版本,這看起來像一個生物快速進化的過程,不同的版本相互PK、競爭,勝者存留,敗者淘汰。簡單點説,就是在實戰中進行驗證,對手一個技能打過來,往左躲還是往前衝,哪種行動帶來的收益會更高——當然,實際情況可能更復雜。支持這種進化過程的是由數量驚人的服務器組成的集羣,這也是AI之於人的優勢,“開悟在兩週內的學習成果相當於一個人持續間斷不停地玩幾千年”。
3.
在我想寫這篇文章之前,我曾經大致想過要以什麼角度切入。媒體對技術人員有一些固化印象,包括但不限於不擅言辭、不喜歡社交,在某個方面很強但在某些方面相當木訥。媒體經常通過臉譜化技術人員的方式引發讀者的愉悦。在《生活大爆炸》獲得成功後,技術人員彷彿有了統一的性格,一個不通人情世故的編程天才?這聽起來當然很吸引人。
但事實當然不是這樣。讓我們忘記那些臉譜化的技術人員形象,我在寫這篇文章的過程中採訪了許多優秀的程序員,除了那些我們認為技術人員應該具備的特質,思維縝密、邏輯嚴謹之外,他們還擁有優秀的表達技巧,以及能被感受到的巨大熱情。我在這篇文章的寫作過程中採訪了一些在天美工作的技術人員,除了剛才提到的阿文和老劉,還有毛星雲。

《實時渲染(第四版)》
毛星雲,網名“淺墨”,遊戲開發技術圈裏不少人知道這個名字——他是《實時渲染(第四版)》(Real-Time Rendering 4th,簡稱RTR4)的翻譯者。“RTR”系列書籍一直被實時渲染以及計算機圖形學領域認為是“聖經”般的存在。毛星雲也一直在知乎上分享自己對技術的理解、答疑解惑,以及,為項目招人。

毛星雲在知乎上的分享
毛星雲從小就喜歡玩遊戲,“在一個虛擬的世界裏去扮演不同角色,去實現不同的目標”,這讓他感覺“確實體會到了不同的人生”。他對遊戲的發展史也比較感興趣,後來,機緣巧合,他看了《DOOM啓示錄》,由此決定進入遊戲行業。
現在,毛星雲是天美F1工作室的引擎技術負責人之一。天美F1是一個全新的工作室,F代表Future,未來。
就在前幾天,毛星雲在知乎發貼,對外首次披露了天美F1的情況。他着重介紹了開放世界項目的研發積累。我問他為什麼發帖,他告訴我:“其實我們一直在埋頭進行研發和攻堅,發帖只是為了分享我們的進展,在技術圈子裏招人,吸引更多志同道合的人,尤其是那種做過3A、有點理想、技術牛的行業大佬的加入。”
毛星雲在談起他的工作時會更多地説起技術。在被問起“最難忘的時刻”時,他回答説是“技術研發的過程中,將研發出的多個高質量的技術模塊整合到一起的時候”。隨後,他提出了一大堆的術語:“包括高品質的着色模型、動態的光照氛圍、基於物理的可交互植被系統、基於物理的風場系統,以及動態地形形變系統,結合實時光線追蹤加持下的反射、陰影和環境光遮蔽後,最後呈現出來的整體畫面,有一種虛擬世界躍然紙上的感覺。”
坦白講,這些內容我有點兒一知半解,但我能感受到他的熱情。毛星雲喜歡他在做的事兒。“我們在做的一些工作,我們所從事的行業,正在不斷地突破虛擬和真實的邊界,這是一件讓人特別激動的事情。”
也許正是這種熱情支持着毛星雲不斷地進行知識分享,從學生時代開始,他就有寫技術博客的習慣,在CSDN這樣的地方有極高的知名度,在承接《實時渲染技術第四版》的翻譯工作之前,他就寫了流傳甚廣的系列教程《〈Real-Time Rendering 3rd〉提煉總結》。
他在一定程度讓我想到互聯網的原初時代——人們無私地奉獻着自己的知識、經驗和才華,並從中獲得成就感。這種行為幾乎是完全利它的。分享者並不能從中得到什麼物質意義上的好處,他們所能得到只有幫助他人及促進科技發展的快樂(哪怕只有一點點)。
在天美,利用休息時間進行知識分享的人當然不止毛星雲。戈登是天美的遊戲研究員,他的日常工作是“給各種開發小組提供產品的參考策略,比如市場表現、DAU什麼的,有時候我們也會講一些比較長遠的東西,比如遊戲的設計邏輯或者是情感表達。”在閒暇時間裏,戈登組織了一個前綴中帶有“天美”的公眾賬號(大概是因為不好意思,他不想讓我説出這個賬號的名稱)。戈登承擔了這個賬號的大部分工作——寫一些非常有趣、翔實的遊戲科普類文章。這些同樣是無償的,驅動他做這些的原因在我看來很簡單,就是對於遊戲的愛。
4.
無論是王者開悟的合作,還是毛星雲、戈登在知乎上的分享,我們都能從他們身上看到“臉譜化”之外的一些特性,我將其稱之為“開源文化”。和技術圈子近年來流行的代碼開源一脈相承,這羣搞技術的人特別熱愛分享、喜歡探索,並非常熱衷於將探索結果進行碰撞,以擦出不一樣的火花。而這種“開源”精神,不僅僅侷限在遊戲本身。在採訪過程中,我問阿文,為什麼是天美和《王者榮耀》在做AI深度學習這件事兒?AI深度學習這件事兒幾乎完美地符合“不明覺厲”的形容。我們都清楚它是未來,我們都知道它能做許多事,但我的問題是,為什麼這件事和“遊戲”有關?
“其實很多研究人員已經發現了,遊戲是強化學習的最好戰場。”阿文告訴我。
還是讓我們從“深度學習”和“強化學習”的區別説起。“我們通常説的深度學習要依賴於人類給的數據,AI基於這份數據進行升級;而強化學習則可以在人類提供的數據的基礎上進行自我演算,基於演算結果推出更優解。可以這麼理解,深度學習的情況下,AI始終需要人類提供數據協助更新,而強化學習的情況下,AI會自己動腦子。”阿文告訴我,然後他補充,“為什麼AlphaGo也是從智力遊戲開始的?因為智力遊戲可以比較好地生成大量數據來供AI強化、擬合,它可以同時開展很多的對戰,提供海量的數據。”

絕悟vs人類BP測試
而如果將對象侷限於現實,人們會遇到非常多的障礙。阿文向我舉了個例子:“比如我們想要模擬車輛撞擊,該怎麼做呢?車輛有很多碰撞的角度,角度的不同會導致產生的形變也不同。如果要去獲取車輛碰撞的數據,就需要在真實世界中進行非常多的實地撞擊測試。但是如果你有一個很真實的,或者叫‘遊戲’,或者叫‘模擬器’的東西,就可以(以很低的成本)去還原車輛在真實世界裏可能產生的行為。當然,還原度很難做到一模一樣,但整體上能夠大體還原——或許逼真程度有90%吧。”
簡單點説,遊戲作為虛擬環境,為研究者提供了數據的可獲得性以及可模仿性。與此同時,就像是AlphaGo和《王者榮耀》AI所做的那樣,在必要的時候,人類可以參與檢驗AI的成效,這一切都為技術研發提供了便利。
而且,事情不會永遠停留在虛擬環境中。
“這些技術最終還是要進行轉化,為生活帶來更多的實際價值。”老劉説,“我們最開始做AI的時候,也是帶着這個初衷,我們希望AI對我們的生活和產業帶來一些幫助。在項目推進過程中,我們發現它能發揮的作用不只是侷限在遊戲裏,它是能夠對其他的方向提供幫助的,這就是我們要去做開放平台的原因,也是我們後來和高校開展合作的原因。我們希望通過項目中積累的經驗和技術,降低大家的研究成本,我們製作了相關的工具,也向一些大學和研究機構開放了強化學習的框架,同時提供了一些算力,方便他們在開悟平台上進行一些AI的研究及演練實操等……我們做這些事情,其實也是在探索遊戲的附加價值,我們希望這個價值能夠延伸出去,為其他產業帶來一定的可能性。我們不敢保證100%解決問題,但至少可以提供對於可能性的探索。”
目前為止,王者開悟已經同國內超過20個大學和研究所進行了合作,我想,推動這些合作的,其實也正是他們的“開源精神”。阿文告訴我,騰訊會向合作伙伴提供基於《王者榮耀》訓練而成的數據、強化學習的框架、模擬研究環境的內核以及算力,以幫助其進行研究。在未來,他們還準備把整套方案產品化和成熟化,幫助合作伙伴直接進行部署,從而進行有規模化的產業科技的研究。
仍然是在未來,王者開悟所產生的成果可能應用於多個方面,包括多智能體強化學習、多機器人自主避障導航、工業自動化等場景上。也許在未來,我們可以享受足夠智能的機器人家政服務、更智能的無人駕駛或者倉儲物流——而所有這些技術所依賴的運算中樞,那些我們看起來在未來聰明、智慧、強大到超越人類的AI,在一定意義上可能是從王者峽谷裏啓蒙、成長,最後走向社會的。

王者開悟所產生的成果可能應用於多個方面
從開悟的例子,我們不難看出天美在產學研方面的一些嘗試,從最早的“傳統文化數字化”,再到“技術跨領域合作”、“高校合作”,甚至是最近的科幻題材探索。
因為剛好和星雲獎頒獎活動衝突,幾位天美J3工作室的成員與天美工作室羣總裁姚曉光先生一同去了活動現場,沒能按計劃參與採訪。關注科幻領域的朋友可能知道星雲獎——如果你不熟悉,我可以用一句話簡單介紹一下,星雲獎是華語科幻界最權威的獎項活動,歷史悠久,影響力巨大。很顯然,在和科技僅一牆之隔的科幻領域,天美也在嘗試“開源”。從後續的報道中我們可以大概猜測到,天美在科幻題材探索方面正在佈局“中式科幻”,這場中國科幻文學和遊戲科幻藝術的聯手當然值得期待——實話説,我認為這是遲早發生的事情。

天美工作室羣總裁姚曉光先生(左)與劉慈欣先生(右)參與星雲獎頒獎儀式
5.
最後,讓我們回到“今天”。
今天是10月24日,1024,對於計算機而言,這是個很重要的數字,它是2的十次方。計算機起源於二進制,而對二進制計數來説,1024也有着重要的意義,因此,10月24日也被稱為程序員節。這是這篇文章最初的動因,我們的初衷是講述天美在遊戲領域所進行的技術積累和探索。我聯繫了天美的團隊,希望他們為我介紹幾位優秀的技術人員,讓他們講講自己在做的事情。
自從誕生以來,遊戲就同技術緊密地結合在一起——用結合可能有點兒抬舉遊戲,事實上,我認為,遊戲的發展嚴重依賴於計算機技術的發展。計算機算力增加,我們得以在屏幕上感受更真實的遊戲畫面;計算機具備聯網功能,我們才能玩到帶有網絡功能的遊戲;計算機普及了光驅,遊戲開發者們才得以在遊戲中塞入高質量貼圖和真人語音。伴隨着技術的發展,遊戲的形態、玩法和設計理念往往會迎來一次大的變革。

AI NPC可做出高擬真表情
與此同時,包括遊戲在內的諸多應用又往往促進和提升了計算機科技的發展——計算機的發展是過程而非目的,最終始終指向解決具體的問題。娛樂是人們最普遍也是頻次最高的要求,許多科技進步由此而來,再逐漸擴散到方方面面,讓我們的生活發生實際的改變。
誠然,“技術積累”一詞在顯得“尖端”的同時,也意味着它指向的東西是我們暫時用不上。我們總是很難去量化那些基礎研究,很難量化那些大多數領域尚不貼近人類實用的AI實驗和知識分享的“實際價值”。我們也偶爾會忽略那些為未來默默奉獻的人——在這個方面,天美,或者説騰訊的付出並不被常人所知。
很多人喜歡説,“遊戲不只是遊戲”,在一定程度上,遊戲技術亦然。遊戲技術在協同跨產業合作上的推動作用比我們想象的可能還要大一些。在某種程度上,遊戲、遊戲開發者們參與了未來世界的構建,並幫助未來世界越來越好,比如AI的訓練和算法完善,又比如場景建模、AR/VR的發展等等。我們經常會探討遊戲的價值,而這,或許就是遊戲的價值之一。