《騰訊“開悟”游戲 AI 平臺在 TensorRT 上的最佳實踐.pdf》由會員分享,可在線閱讀,更多相關《騰訊“開悟”游戲 AI 平臺在 TensorRT 上的最佳實踐.pdf(30頁珍藏版)》請在三個皮匠報告上搜索。
1、騰訊”開悟AI平臺在TensorRT上的最佳實踐騰訊AILab朱文熙Tencent騰訊#page#目錄1.開悟平臺背景介紹2.強化學習訓練中的推理3.TensorRT最佳實踐4.總結Tencent騰訊!#page#背景:游戲+AI開啟人工智能的熱潮業界對游戲AI的探索2017.082016.032019.012019.042019.072019.08ScienceOpenATFiveSUPHXDeepMind: AlphagoCMU+Facebook:德州OpenAl:Dota2DeepMind: StarCraftllOpenAl:Dota2Microsoft:麻將戰勝李世石1V1對戰職業選
2、手5V5戰勝世界冠軍OG六人桌戰勝職業選手挑戰職業選手天鳳平臺到十段游戲模擬環境作為人工智能的研究驗證環境,已形成廣泛共識,騰訊AILab對游戲AI的探索2018.122019.82017.032017.042016.01開始王者榮耀AI絕悟的研開始圍棋AI絕藝的以絕藝身份亮相以絕悟身份亮相王者世界冠軍杯究研究獲得UEC冠軍戰勝主播隊戰勝職業聯隊2FINE絕格PRTTencent騰訊!#page#開悟平臺核心功能:全棧打通的AI+游戲實驗平臺開悟的核心功能:聚焦于王者榮耀這一款國民級游戲,將為AI研究者提供算法、數據(脫敏)、計算平臺等多種資源服務支持綜合服務匿名的計算平臺eee游戲數據集發裝
3、評估工具開悟可為有需求的學術開悟網站平臺靈活易用,開悟目前已包含采集自核心集群界研究者提供計算平臺與算包括強化訓練、數據抽取、開悟已提供游戲對戰工王者榮耀游戲的10+萬開悟已提供用于讀取力資源,這些資源基于騰訊監督訓練、推理服務、對戰具和對局錄像回放工具,這局真實對戰數據,包括游戲王者榮耀游戲場景和控公司的云計算與大數據處理管理、錄像管理、入門指引些工具基于Linux環境,讓場景數據與執行指令數據;制英雄行為的數據接口平臺,可用于訓練強化學習七大板塊,能為研究者優質研究者可以在開發過程中輕該數據集已經過置名化處理GamecoreAPI,讓研究者可和模仿學習算法和模型高效的輔助管理服務。松調試,
4、即時有效地評估新未來還將繼續擴充。以快速便捷地測試自己的新算法和模型的性能表現。算法和模型Tencent騰訊#page#開悟平臺2020年進展:提高研發效率,加強與高校之間的合作對內:實驗成本降低50%,研發效率提30%對外:為17所高校提供王者研究環境官網:http:/普通覽家工具A法分開悟第一屆開悟“Hl+游戲”高校大賽初賽啟動騰訊開悟平臺首次面向高校開放D王者榮全球首個在MOBA類游戲做到全英雄職業水平的Al王者監督學習實驗時長:39h-4h王者強化學習實驗時長:14天-5天Tencent騰訊!#page#目錄1.開悟平臺背景介紹2.強化學習訓練中的推理3.TensorRT最佳實踐4.總
5、結Tencent騰訊!#page#王者榮耀”絕悟”AITencent騰訊!#page#強化學習訓練過程中推理推理自對棄多機多卡強化訓練framestatPolicya方update(a)esamplesactionagent樣本池訓練服務參數凡模型actionagent樣本池訓練服務發換2gamecore樣本池訓練服務Policy對手TRT(a)framestaterefit模型池P2P模型同步推理GPU1對局1訓練GPU1推理GPU2對局2訓練GPU2推理GPU.對局.訓練GPU.Tencent 騰訊#page#目錄1.開悟平臺背景介紹2.強化學習訓練中的推理3.TensorRT最佳實踐。R
6、efit優化。圖優化。低效Op的改造新Op支持4.總結Tencent騰訊!#page#TensorRT WorkflowrBuilderGraphKernelMemorySerializeLoad PluginoptimizationautotuningoptimizationengineRuntimeInferenceLoad plugin &Process outputPrepare inputDeserialize engine(execute ops)Refit(prepare weight)Tencent騰訊#page#Refit-減少TRTrebuild開銷引入Refit功能TRT
7、要求Weight固定1.使用TRT插件開發具有Refit功能的Op:將一旦Weight發生變化需要重新buildengine;Weight和lnput起傳入作為運行時輸入;2.Buildengine過程將會耗時數分鐘。2.運行時只需傳入對應更新后的Weight,無需rebuild engineRuntimeInferenceLoad plugin &Process outputPrepare inputDeserialize engine(execute ops)Refit(prepare weight)Tencent騰訊#page#圖優化-dilatedconv優化ONNX graphM1日
8、Tensorflow graph出發,1進一步拆成11個op來實現;但實際上TensorRT支持2Ddilatedconv算子sA優化方案修改ONNXgraph,將這11個Op替換成dilatedconv0日Tensorflow中dilatedconv被拆成5個op來實現Tencent騰訊#page#圖優化-dilatedconv優化優化效果(MS)口TensorRT dilated conv(11Op)TensorRT dilatedconv(1Op)2502180014715010910088554550CBS=32BS=64BS=128Tencent騰訊#page#圖優化copyPack
9、edKernel開銷96.4%的時間花費在copyPackedKernel上CUDATeaV1O0-SX-32GB,0000:1A:00.0)1gemm128832m0.5%woltasgemm32x32.slicedx4nncopyPackedKernel來自split操作;0.4%volta.sgom64x32.slcad1x4.nnsplit將會生成30個新的Tensor,并把輸出結果拷貝到0.1%spmkee0.1%trtwolta_scudnn.128x32reu這些Tensor,這些拷貝操作即為copyPackedKernel;emm32x128n3kernelg0.4%Memor
10、yorRTTencent 騰訊#page#圖優化消除copyPackedKernel優化后:copyPackedkernel降低到了合理的比例將Split+Concat轉化為等價的Transpose+Reshape:CUDAAPIProtileroverheaa89.4%Kernel22.8%voasomm28x32.nnnn128x32rehuop1后5120.41112.4%volta_se132x32.sliced1x4.m11.4%etwise6.0%oldler_1_3.t1.6%splitkerel10.6%MemoNVTXTenSorRT)Tencent騰訊#page#圖優化消除
11、copyPackedkernel消除copyPackedKernel后性能提升(ms)1601471401201008075X60402020單次推理時間Split+ConcatTranspose+ResizeTencent 騰訊#page#優化低效OP-ResizeBilinear用plugin實現ResizeBilinear,使用(16,16)的block大小,優化效果如下:KERNEL時間對比(MS)單次推理時間對比(MS)口TensorRT原始ResizeBiinear實現改進后的ResizeBilinear實現口TensorRT原始ResizeBilinear實現口改進后的Resiz
12、eBilinear實現140351203100258028015合10.982005CBS=32BS=32BS=128BS=64Tencent 騰訊#page#優化低效OP-EmbeddingLookup優化前;Tencent騰訊#page#優化低效OPEmbeddingLookup升級plugin基類:推理性能對比改進前改進后301.4X25205實現回調函數,禁用broadcast105msTencent騰訊#page#優化低效OP-oneslike大量“tensor_elementwise kernel優化前:Tencent騰訊!#page#優化低效OP-oneslike優化后:8888
13、8Tencent騰訊#page#優化低效OP-oneslike優化前后性能對比(MS)TensorRT原生oneslike口Plugin優化35301.52520350Tencent騰訊#page#新的Op類型Scatter/Gather/One-Hotgather ndhttps:/ docs/python/tf/gather ndzhl=zh-cnscatter ndhttps:/ docs/python/tf/scatter ndzhl=zh-cnone-hothttps:/ docs/python/tf/one hotzhl=zh-cnTencent 騰訊#page#目錄1.開悟平臺背景介紹2.強化學習訓練中的推理3.TensorRT最佳實踐4.總結Tencent騰訊!#page#總結與展望TensorRT運行時性能分析算子Build Engine執行圖引入Refit機制手工修改計算圖結構優化低效算子支持新算子ONNX Parser優化Tencent 騰訊#page#Q&ATencent騰訊!#page#Thankyou!Tencent騰訊!