OpenDILab幕後的「孤勇者」:AI研究員、電競冠軍和他們的開源夢

語言: CN / TW / HK

機器之心報道

機器之心編輯部

生物智慧的產生,一直以來被定義為「奇蹟」和「謎團」。

從宇宙的一片塵埃開始,人類的演化花費了數十億年的時間。很難想象,你我均起源於出現在地球上的單細胞生物。

時至今日,人類憑藉自身的智慧,創造了地球上最繁榮的文明。同時,這一演化仍在繼續,遠沒有走到盡頭。

但演化的方向已經悄然改變: 下一代文明的方向,將由人類親手創造的「智慧體」來探索。

由此引出一個問題:人類智慧與人工智慧,誰的上限將會更高?

過去數十年,研究者夙興夜寐,將無數人類智慧灌注其中,不斷將「人工智慧」的能力上限抬高。一個剛剛誕生的智慧體,就像一個初來世間的嬰孩,即使懵懂,卻蘊藏著無限潛力。在永不停歇的演變之後,人們普遍認為,智慧體終將超越人類。

這種演化規律,在 OpenDILab 平臺的開源歷程中體現得淋漓盡致。它的源起,是幾位演算法研究員的一次跨界設想,是面向最複雜的競技遊戲的一場挑戰。 僅僅過了兩年多時間,今天的 OpenDILab 從已演化為覆蓋最全學術界演算法和工業級規模的國產決策智慧開源平臺。 它為整個決策智慧領域開闢了一個全新的開源社群,這個社群正在以驚人的速度生長。

專案地址:http://github.com/opendilab

2022 年 6 月 12 日,《星際爭霸 II》前中國冠軍——IG 戰隊的 iA ,又一次登陸了鬥魚直播間。這麼久不見,人們發現,iA 竟然開始講 PPT 了。

兩年之前,iA 低調退役。兩年之後,電競少年歸來,已是 AI 研究員,還帶來了目前已開源專案中實力最強的《星際爭霸 II》 AI——DI-star。

直播錄影:http://www.bilibili.com/video/BV15T411G7xD?spm_id_from=333.999.0.0

一個多小時的直播裡,iA 演示了多場對局。在所有演示中,DI-star 均表現出人類最高段位——Grandmaster 分段的競技水平。

驚喜的是,DI-star 的決策能力相當靈活,屢次在複雜對局中快速找到最優策略。比如與前世界冠軍 Scarlett 對戰時,DI-star 使用了 「女王前壓」 這種不常見於人類的戰術,出奇制勝:

此時,距離 DI-star 及其背後的決策智慧平臺 OpenDILab 開源已經有一年了。

2022 年 9 月,OpenDILab 正式升級為 1.0 版本, 幕後團隊兩年多來的心血,全部凝聚於此。

白手起家

所有的故事都從 2020 年的第一個月開始。一群來自中國的演算法研究員和工程師,在人臉識別的資料海中摸爬滾打多年之後,決定跳出舒適區,做一點探索未來的事。

比如,從零開始打造一個星際爭霸 AI。

在當時的 AI 學界眼中,決策 AI 是不同於計算機視覺等感知型 AI 的另一道難關,而《星際爭霸 II》一直被看作檢驗 AI 決策能力的絕佳舞臺,也是 AI 爭相挑戰的「珠峰」。

星際爭霸系列遊戲能保持 20 多年長盛不衰,一部分原因就在於其豐富的多層次遊戲機制。《星際爭霸 II》的空間複雜度高達 10 的 1685 次方,遠超圍棋 10 的 170 次方複雜度。對於 AI 來說,這是一個非常接近現實世界的虛擬環境。

開源社群是助力 AI 發展的重要因素之一,而在專案的開始階段,DI-star 的開發者們準備好了充足的算力和資源,卻發現星際爭霸 AI 的開源生態基本是一片空白,只能找到 DeepMind 公開的原版論文,非常多的技術細節都有待考證。 就好比老師教了你九九乘法表,卻突然讓你做一道微積分的作業題。

DI-star 的開發者們首先調研了各種已有的強化學習開源平臺,但發現開源的演算法、工具等基本都是圍繞「小而精」的學術研究,壓根沒有星際爭霸這種大規模環境的開源專案。

「沒有輪子,就立馬動手造一個,這才是極客精神!」

於是乎,DI-star 的開發者們拿著之前自己在計算機視覺任務上積累的經驗,想要一定程度的知識複用。但很快他們就發現,這不只是個脫離舒適區的問題,這簡直是一腳踏入深水區,每天都會誕生新的靈魂拷問:

  • 原本規規整整的張量圖片,卻變成了高度結構化且動態變化的遊戲資訊;

  • 原本直筒式簡簡單單搭積木的神經網路設計,卻變成了複雜多樣的「毛線團網路」設計比賽;

  • 原本輕易擴充套件的分散式訓練架構,卻變成了多種硬體和計算模式混合的大雜燴系統……

在不斷以「一日速成法」瞭解各類遊戲 AI 設計和分散式系統設計知識後,團隊總算是搭出了第一版能正常執行的分散式訓練系統,這也是之後 OpenDILab 的最初原型。

只不過還有一件事讓人犯愁:到底怎麼讓 AI 學習打星際的技巧呢? 這需要集深度學習、強化學習、遊戲 AI 三方面的技術和力量。

技術可以後天努力學習,遊戲天賦可真是命中註定,於是,他們找到了中國星際的傳奇人物:iA 周航。於是,幾個基本對決策 AI 零基礎的人,構成了 DI-star 專案的最初班底。

「最初幾乎訓練不出來任何哪怕有正常操作的 AI」。DI-star 團隊一度很頭疼。沒辦法,前半年只能一點一點解 bug,慢慢地教。發現一個不合理的 AI 行為,就從遊戲錄影中開始分析,對應到具體的遊戲操作,解析遊戲引擎記憶體中的資料片段,再一步步追根溯源,最終分析到神經網路裡具體某個神經元的啟用輸出,從而定位到程式碼實現和演算法設計的相關問題。

「程式是不會騙你的,只要你用心去凝視它。」 像上面這樣一環扣一環,非常需要高度集中心力的細節分析,在 DI-star 的前期階段,幾乎是天天都有。

終於,經歷了半年的艱苦奮鬥, 2020 年 6 月,DI-star 已經能夠擊敗簡單的電腦。2020 年 7 月,團隊進行了 DI-star 第一次人機內測,AI 戰勝了一位剛剛入門《星際爭霸 II》的研究員。

步入正軌之後,就要去探索 AI 的上限究竟在哪裡。DI-star 團隊希望在整個系統的各個環節中都做到極致:不僅僅是復現最強的決策 AI 問題,而是盡其所能去嘗試每種可能性。有人從神經網路角度,設計更穩定的大批量樣本優化技術和高效處理動態決策空間的網路層,有人從強化學習優化方向,精心調控探索和利用的多方面平衡,有人從遊戲 AI 領域,融合即時戰略類遊戲的百家之長,將 AI 的微操優勢培養到新的境界,有人從系統效率出發,做各種資源的權衡,儲存 / 網路 / 計算,一切能想到的辦法都用來優化訓練效率。

在集合整個團隊的技術積累之後,歷經人類錄影模仿學習和自我博弈強化學習兩個階段,總計一億局星際對局,五週的最終訓練時間,2021 年 6 月,DI-star 終於戰勝了 DI-star 的創造者之一——周航本人。之後,周航又拉來一些職業電競時期的老朋友跟 DI-star 打,包括 MMR6000 分的中國最強蟲族選手 Rex。

好訊息是,DI-star 都贏了,沒辜負一年多來的苦練。

從星際 AI 到開源平臺

路行至此,接下來又該怎麼走?

極客探索歸探索,但想把技術做長久做出影響力,覆盤是必不可少的。而在當時的馬拉松覆盤會中,研發團隊一致的觀點是:必須積累足夠紮實的技術工具鏈。DI-star 中的小農式精耕細作太難複製也太難推廣了,需要能有讓決策AI技術真正大放光彩的基建工作。那麼自然的,做一個決策智慧開源平臺和生態,就成了大家新的目標。

更具體一點,在演算法方面,哪些技術適合在前期探索智慧體策略的多樣性和潛力,哪些方法適合作為最終超大規模強化學習訓練的核心模組;在系統方面,哪些系統設計既能提高取樣效率又能對大規模強化學習的優化效率帶來幫助,什麼樣的設計可以易用快速的演算法迭代和想法驗證。所有上述這些積累的經驗和知識,都是有價值被沉澱下來的東西。

光是教會AI玩《星際爭霸 II》並不是最終目標,探索決策AI的能力邊界,學會面對更加複雜的真實世界,才是在青春年月值得去拼搏的事。基於這樣的初心,後續成立的 OpenDILab 團隊以 DI-star 為起點,開始進一步探索如何做開源。

當時決策智慧領域的開源生態,比起 CV、NLP 這些成熟的研究領域,的確差了不是一點半點。

不過對於整個決策智慧領域來說,開發者最需要的不只是某一套程式碼,也不僅是某一個工具包。這個領域,正需要一個功能全面、便捷易用的開源平臺。

但如何設計一個能滿足廣大研究者需求的平臺,是需要認真考慮的問題。

這時,更多學術界、產業界的決策智慧研究痛點進入了團隊成員們的視野:

與感知智慧不同,決策類問題通常涉及處理諸如影象、語音、結構化資料等多種複雜模態的資料型別。此外,單機單卡與多機多卡甚至跨叢集計算的決策 AI 計算邏輯也完全不同。不同任務間的最優演算法配置也差別較大。對於決策智慧,這些問題很難標準化。

還有一個客觀現象:關於決策智慧的問題定義和研究視角,學術界和工業界之間的差距是很大的。很多前沿的理論演算法缺少環境和計算 pipeline 上的通用性,只能侷限於 toy model 級別的實驗環境,無法遷移到真正的工業場景中。

因此,團隊最終對開源平臺的期望是: 既要在學術演算法層面做到最全最廣的覆蓋和統一,又要將這些演算法真正發揮到相應的實際場景中去,解決各個其他領域的工業級應用問題。 當然,想要兼顧兩者是一件極為困難的事,系統和平臺設計本身就是在做各種各樣的權衡,而開源社群正是幫助平臺成長和不斷進化的重要力量。

這將是一項產生長期價值的工程,力求將技術的廣度和深度都推到極致,將成千上萬開發者的智慧與努力集合起來,在各行各業中演化出無限可能。

人人可用的開源決策智慧平臺

2021 年 7 月,DI-star 及其衍生出的決策智慧平臺 OpenDILab 在 GitHub 正式開源了。

在最初發布的 OpenDILab beta 版本中, 自上而下覆蓋了應用生態層、演算法抽象層、分散式管理層和分散式執行層,還支援從單機到上萬級別 CPU/GPU 聯合訓練的全尺度排程系統優化,將 OpenDILab 團隊自 DI-star 專案以來積累的各方面技術和知識完全開源開放出來。 然而開源社群的構建是需要不斷打磨的,beta 版本在各種各樣的權衡中遺留了一些上手難度問題,而在這一年多開發者與開源社群的共同努力下,OpenDILab 1.0版本在易用性、效率、多元化等方面都展現出了新的思考和理解。

專案地址:http://github.com/opendilab/

其中,OpenDILab 推出了一系列面向不同目標的開源庫:

最底層的 DI-engine 及相關係統支援庫致力於解決決策AI在環境,演算法,計算尺度三個方面的標準化問題,它首先提供了在 40+ 不同型別決策環境上的最佳實踐,可作為不同領域研究者應用強化學習技術的最佳模板,還匯聚了 8 大研究子方向的 60+ 決策智慧演算法,將深度強化學習,多智慧體博弈,離線強化學習和模仿學習等領域一網打盡,而上述這些環境和演算法,都可以在統一的系統執行設計下高效實現,並根據任務特性自適應地調整資源利用的最佳方案。

中層的演算法與模型抽象層 DI-zoo 整合了 OpenDILab 在各個領域應用決策AI演算法的相關經驗,將演算法理論,程式碼實現,應用領域知識一一對應在一起,並在AutoML工具的支援下,幫助開發者構建統一且標準的基準方案,也很大程度上降低了初學者的入門門檻。

在應用生態層,既有 DI-star 這樣面向於虛擬世界即時戰略類遊戲的大規模強化學習訓練方案,包含完整的訓練、測試和應用原型程式碼細節,還開源了包含感知決策全流程的自動駕駛平臺 DI-drive,朝著決策 AI 落地應用的方向前進。

自開源以來,OpenDILab 已經收穫了 4500 多個 GitHub star 。DI-star 也被列入 Github Trending Python 語言優質開源專案。

多智慧體決策智慧領域的「ImageNet」

決策智慧的落地通常會受到訓練平臺、模擬環境兩方面的挑戰。OpenDILab 是好用的,但它暫時只解決了訓練平臺層面的一部分問題。

那麼,模擬環境的問題怎麼解決呢?

為了讓更多人蔘與到決策智慧的探索中來,OpenDILab 搞了一場 Go-Bigger 挑戰賽。通俗地講,這其實是 一場決策 AI 版的「大球吃小球」挑戰賽。

在 Go-Bigger 挑戰賽裡,每局時長十分鐘,大球吃掉小球會獲得更大重量和體積,但同時需要避免被更大的球吃掉。球的型別包括分身球、孢子球、食物球、荊棘球,這四種球的決策路徑是不同的。

每個隊伍都需和其他隊伍對抗,總重量更大的團隊獲勝。

這個遊戲環境看起來簡單,但其實非常考驗多智慧體之間的配合和對抗,包括權衡同一團隊中的個體行動與合作行動、不同團隊間的合作與競爭、表徵和交換與其它智慧體的環境資訊等,體現了很高的決策複雜度。

有意思的是,Go-Bigger 遊戲設計了球球對抗時間、成長加速度、分裂、消失、衰亡等約束條件,這種情況其實廣泛存在於現實世界,比如在人的生命週期中,我們都需要在不同的人生階段,在各種約束條件下進行協作、對抗,做出最利於自身的決策。球球和人類之間,由此產生了一種微妙的關聯。

在 AI 領域,很多研究問題的真正被定義和解決,都經歷了從「球球」到「真實世界」的模擬過程。

比如計算機視覺領域的經典之作 ImageNet。上海人工智慧實驗室青年科學家、商湯科技高階研究總監、OpenDILab 專案發起人劉宇表示,在 ImageNet 比賽之前,資料集都非常小,學術界很難定義產業界真正需要的演算法問題。但 ImageNet 提出了全新的挑戰,在海量資料上定義的研究問題與真實世界中真正應該被解決的問題更加貼近了,加上算力條件的提升,成就了後來計算機視覺的蓬勃發展。

對於今天的多智慧體決策智慧領域來說,學術界和產業界都在等待著像「ImageNet」這樣具備「公認的問題定義能力」的專案出現,而 OpenDILab 希望 Go-Bigger 能擔起這一重擔。

有人可能會問,既然開源了 DI-star,為什麼不直接辦一場星際爭霸 AI 挑戰賽?

這也是從現實因素出發來考慮的,畢竟訓練一個星際爭霸 AI 需要太多的算力消耗,對於一般參賽者來說實在不友好。

Go-Bigger 的定位是人人可以參加的中型遊戲 AI 競技環境。相比學術界常用的 Atari、MuJoCo、SMAC,Go-Bigger 的環境規模更大,但又可以在小型的實驗室中完成,用一臺機器、一塊 GPU 就能訓練起來。這樣一來,參賽者就能把更多精力聚焦到探索多智慧體協作能力的演算法上。

即使如此,從零開始實現比賽要用的演算法和訓練流程還是很複雜的,而 OpenDILab 平臺提供的決策 AI 框架 DI-engine 正好幫助開發者簡化了這一過程。

開發者們基於DI-engine為Go-Bigger設計實現了多種型別的基準演算法,包含多智慧體協作,稀疏獎勵引導,記憶化探索和計算效率提升等多個方面。

走進現實世界

在工業應用這塊,OpenDILab 也沒鬆懈,推出了自動駕駛領域內第一個支援多種模擬器和多種決策智慧演算法的開源研究平臺——DI-drive。

之所以選擇自動駕駛領域做開源,OpenDILab 有自己的思考:

第三次發展浪潮之後,AI 技術已經進入從感知智慧到決策智慧演變的關鍵節點,決策 AI 技術的突破也到了在實際場景部署和應用的階段。任何前沿的學術理論,都要走到現實世界當中去,才能產生更多的價值。

可以說,決策 AI 技術應用的成功與否,直接決定了這一技術在產業界的認可程度,反過來,應用領域的難題也可以指導決策 AI 理論的演進。

另一方面,生態構建的成功與否體現了決策 AI 技術的應用門檻、其通用能力和泛化能力以及對不同任務的適應能力。應用生態也可以更加廣泛地拓展決策 AI 的應用領域,打通不同應用領域所面臨的問題和挑戰。

自動駕駛是當前人工智慧的熱門研究方向。 決策、規劃與控制是自動駕駛任務的大腦,一向被各大公司視作高度保密技術。 如果是一位普通開發者,就算想深入瞭解也難。

所以,OpenDILab 綜合了大量自動駕駛決策 AI 的方法,抽象出基本涵蓋現有自動駕駛方法的一套流程,做出了 自動駕駛領域第一個開源的、人人可以參與的研究平臺 DI-drive。

目前,DI-drive 已在自動駕駛端到端模擬任務上取得若干演算法突破。對於一系列核心技術突破,OpenDILab 不作保留,全部開源。

比如自動駕駛策略 InterFuser,該策略基於 Transformer 進行多感測器融合,並使用了可解釋性特徵來增加自動駕駛的安全性。

我們都知道,在高交通密度的場景中,會有大量的障礙物和動態物體參與決策。在這些情況下,一些部署的自動駕駛系統可能表現出不正確或意外的行為,導致災難性的事故。

比如行人突然從路邊出現、通過路口時遭遇意外車流(闖紅燈等),這需要更好地理解多模態多視角感測器輸入下的場景。另外,如何驗證決策過程也是個問題,換句話說,識別系統的功能 / 故障情況以及故障原因,這需要決策系統的可解釋性。

OpenDILab 模擬了大部分情況,基於自動駕駛研究的開源模擬器 CARLA 進行了測評,InterFuser 顯示出良好的問題處理能力:

等紅燈

轉彎

在最新的 CARLA Leaderboard 排行榜中,OpenDILab 提出的自動駕駛策略 InterFuser 取得了 Top 1 的成績。

InterFuser 在 CARLA Leaderboard 上的排名

  • InterFuser arXiv 論文地址: http://arxiv.org/abs/2207.14024

  • InterFuser Github 專案地址: http://github.com/opendilab/InterFuser

此外,OpenDILab 還針對自動駕駛開發了一套貼近真實的駕駛場景 Casezoo,所涉及的駕駛場景均由實車資料和路測案例轉化而來。他們在多種貼近真實的駕駛環境中訓練和測試了決策模型,有效促進自動駕駛領域模擬研究在實車環境中的推廣和應用。

圖注:Casezoo為自動駕駛模擬提供更接近真實的駕駛場景

與此同時,OpenDILab 也在探索新的決策智慧應用領域和方法,如金融領域的反欺詐和交易,電網、港口等場景的資源排程和優化,生物領域的合成搜尋和預測等。一系列重磅成果,均在醞釀之中。

不斷進化的 OpenDILab

一年時間過得很快。Beta 版本開源之後,OpenDILab 團隊一直在根據開發者社群的反饋改進。

經過多次完善後,近日的 WAIC 2022 大會上, OpenDILab 1.0 版本 正式問世。

OpenDILab 框架圖

專案地址:http://github.com/opendilab

整體來看,OpenDILab 1.0 有三大升級特點:

1. 易用高效的大規模決策智慧訓練系統: 具備外掛化的擴充套件能力和友好的分散式能力

2. 當前世界上最全面的標準化決策 AI 平臺: 一個平臺整合所有 RL 研究領域,一套框架服務多種決策 AI 問題,最全最強演算法集(1 個架構,8 大研究方向,40 + 環境,60 + 演算法,70 + 專利)

3. 到手即用的工業應用生態: 決策 AI+X 的最佳實踐,助力各行各業實現關鍵的技術和應用突破。

「在計算機視覺領域,標準化做得很好,比如所有資料模態都可以用非常規整的 Tensor 來表示,所有任務都可以在 batch 維度同步 forward 和 bp(Back Propagation)的神經網路來處理,比如 PyTorch 和 TensorFlow。而在資料模態高度結構化,訓練過程高度非同步化的決策智慧領域,我們希望做的也是這樣一件事。」劉宇表示。

硬核升級之外,OpenDILab 也更加註重易用性和便捷性,為社群內的開發者提供了更加詳盡的上手教程。 值得一提的是,OpenDILab 將於今年 10 月推出從應用場景出發的 「PPO x Famliy 入門公開課」,課程內容主要從一個 PPO 解決絕大多數的常規決策問題,根據演算法原理,程式碼實現,實際應用三者的一一對應來設計,即使你只是一枚想入門決策 AI 的萌新,或者只是一位想用決策 AI 技術解決某個實際問題的非內行工程師,都可以通過該課程和 OpenDILab 平臺獲得在演算法、系統、工程等經驗和工具支援。

我們也瞭解到,同在 WAIC2022 釋出的 SenseMAP 商湯多智慧體平臺,在搭建過程中也用到了 OpenDILab 開源的多項前沿技術。

在 WAIC 2022 的企業論壇中,劉宇介紹:「我們利用 OpenDILab 作為基建之一構建了商湯多智慧體遊戲 AI 平臺 SenseMAP,同時 OpenDILab 也支援了我們在遊戲、電力排程、自動駕駛和貨運排程等領域的業務應用。」

劉宇認為, 只有一項技術的門檻明顯降低,更多人才有機會入局。

縱觀人類技術發展歷史,真正帶動整個社會往前走的機會,未必出現在某種技術誕生的那一刻,更多是這項技術能夠得到普及之後。這正是 OpenDILab 的開源初衷。

© THE END 

轉載請聯絡本公眾號獲得授權

投稿或尋求報道:[email protected]

「其他文章」