上海人工智能实验室牛雅哲:通用决策AI平台的开拓创新之路
牛雅哲,上海人工智能實驗室OpenDILab開源決策智能平臺核心研發人員,主要負責平臺引擎DI-engine的設計和開發,統籌研發一系列決策AI平臺底層效率優化組件,并為相關大規模分布式強化學習應用提供技術保障和支持,構建決策智能技術和系統工程結合的完整工具鏈。
報告內容:近些年來,決策AI技術接連突破人類對于通用人工智能的想象,但其在各種復雜環境和計算場景上的通用性問題仍是真正實現技術變革的巨大阻礙。多模態,低信息密度的數據流,算法設計和實現邏輯高度耦合的計算模型,不斷動態變化的問題場景,AI+System的協同優化,都體現出了相關系統和平臺設計的復雜性。從零到一,設計構建通用決策智能平臺OpenDILab,優雅且高效地處理決策AI技術遇到的各種復雜性問題,為整個決策AI生態圈提供基礎技術支持。
?牛雅哲作《從零到一,堅持做正確的事--通用決策AI平臺的開拓創新之路》報告分享
下方有文字版總結哦
決策AI三大難題
開場牛雅哲首先點明了報告主題,從具體如何克服決策AI問題通用性出發,講述OpenDILab做平臺框架是如何思考和解決這些問題的。
目前決策AI三大難題:
一為環境多樣性,因為實際應用的時候,任務之間的環境和算法,包括參數都是非常割裂的,不同環境下的算法和優化難度是差別非常大;
二為計算的復雜性,決策AI領域目前無法讓學術界和工業界有比較好的分工,因為像PPO、SAC、DQN等等,把它們抽象到同一個平臺上,做成像感知一樣變成有Head、Backbone的抽象非常難的,而且可能會用到上千GPU和上萬CPU;
三為計算尺度,強化學習計算流程比純Deep Learning感知要復雜非常多,它涉及到溝通包括環境的部分等等非常復雜的問題。這三個方面如果做到泛化處理對算法推廣和應用會帶來非常大的幫助。
環境和數據多樣性問題
針對環境和數據的多樣性問題,牛雅哲從以下三個方面闡述OpenDILab的解決方案:
決策AI問題的輸入輸出空間,即觀察空間和動作空間,擁有各種各樣的數據模態,輸入上有圖像,語音,數據,序列數據,結構化數據等多種類型,輸出中有離散,連續,混合動作空間等等。OpenDILab對這一問題實現了相應標準化定義,對各種模態的輸入輸出提供標準的特征工程處理和神經網絡模塊定義,例如ResNet處理2D圖像數據,LSTM/GRU處理時序建模相關問題,Transformer Encoder部分處理無序多智能體單位數據,Autoregressive方法處理混合動作空間。使用者可以直接使用這些標準化組件,或是自定義新的處理模塊,更多地將精力集中在RL優化問題中。
對于大部分的決策AI問題,我們可以使用經典的gym/dm格式環境定義,而一些特殊的算法,比如MCTS,HER,Go-Explore等,在實現時需要環境為算法提供更多的支持。OpenDILab在這個方面也進行了專門的抽象和實現,使得相應類別的算法可以在多種環境中通用。
由于數據的復雜性,研究員們通常使用嵌套的python list/dict結構來表示訓練數據,這樣的數據結構給編程實現帶來了諸多不便,需要大量的循環遍歷和分支處理,同時整個執行過程大部分又是串行的,一定程度上影響了整體運行效率。基于OpenDILab中的treevalue模塊,我們設計實現了針對PyTorch Tensor和numpy.array的TreeTensor和TreeNPArray,能夠復用絕大多數原生API,把結構化數據像整齊的張量一樣使用,并提供相應的并行加速接口。
?
并且OpenDILab在底層設計上設置了DI-engine模塊,致力于解決決策AI環境和算力標準化訓練的問題,目前兼容絕大多數已有的學術環境和工業界數據模態。支持從學術級單CPU訓練到跨區萬級別CPU/GPU的資源管理和調度。
算法通用性難題
針對算法通用性問題,牛雅哲從以下兩個方面闡述OpenDILab的解決方案:
由于強化學習的算法類別眾多,各種算法設計之間又多有互相依賴和借鑒,很難像CV,NLP一樣設計出通用的算法集合,因此OpenDILab將通用化的重心放在了相關基礎OP的設計實現上,比如實現通用的N-step TD/GAE/VTrace算子,重參數化輔助函數等。使用者可以像搭積木一樣快速利用這些算子定制自己的強化學習算法。
由于強化學習算法子領域非常繁雜,同類平臺主要都是提供最經典的主流算法實現,對于MARL/Imitation Learning/Exploration等分支涉及較少,而OpenDILab基于通用決策AI算子,整合了20+決策AI算法的相關實現,涉及多個細分領域,并提供通用化的接口設計,可以實現各類算法間的靈活組合。同時,在經典的學術環境上,對上述算法補充了詳盡的性能和效率結果benchmark,致力于為強化學習研究員和應用工程師們提供最廣最全的算法平臺。
計算規模通用性問題
針對計算規模通用性問題,牛雅哲從以下兩個方面闡述OpenDILab的解決方案:
對于同一個強化學習算法,在個人電腦和服務器集群上運行,常常會有較大的實現差異,需要定制分布式處理相關代碼。對于OpenDILab的使用者,大部分情況下只需將重心放在Env和Policy兩個最核心的文件中,自定義完成環境準備和算法設計,具體的分布式邏輯都由平臺層提供相應的服務完成,用戶只需在配置文件中定義使用的計算資源和分布式邏輯選項即可。
不同的決策AI實際問題,由于環境和算法不同,對應最佳的分布式效率解決方案也不同。很難存在一套通用的技術棧解決所有類型的問題,因此,在實際實現中,OpenDILab會根據具體的運行狀態進行自動化profiling,并自動選擇相應的通信,存儲,并行化方案。在DI-orchestrator, DI-hpc, DI-store等諸多底層效率優化模塊的加持下,為使用者提供無痛的自動化效率優化體驗。
掃碼即可了解更多開源信息~
總結
以上是生活随笔為你收集整理的上海人工智能实验室牛雅哲:通用决策AI平台的开拓创新之路的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 哈弗h62017款红标智尚型2.0车主信
- 下一篇: 最后两周!60万奖金AI攻防赛进入冲刺(