案例簡介
? 本案例中通過NVIDIA V100 GPU和TensorRT,騰訊“開悟”AI開放研究平臺將強(qiáng)化學(xué)習(xí)模型訓(xùn)練中的自對弈推理部分,從CPU遷移到GPU上,實(shí)現(xiàn)了10倍的加速,并使推理成本下降90%,整體訓(xùn)練成本下降 67%。
? 本案例主要應(yīng)用到 NVIDIA V100 GPU 和 TensorRT。
客戶簡介及應(yīng)用背景
騰訊一直積極地推動強(qiáng)化學(xué)習(xí)在游戲AI領(lǐng)域的發(fā)展,并在2019年推出了“開悟”AI開放研究平臺,提供不同游戲的訓(xùn)練場景、支撐AI進(jìn)行強(qiáng)化訓(xùn)練的大規(guī)模算力、統(tǒng)一的強(qiáng)化學(xué)習(xí)框架以加速研發(fā)速度、通用的訓(xùn)練與推理服務(wù),加快AI訓(xùn)練速度。
客戶挑戰(zhàn)
和圖像以及語音的訓(xùn)練方式不同,目前在游戲AI訓(xùn)練上表現(xiàn)最好的方式是強(qiáng)化學(xué)習(xí)。強(qiáng)化學(xué)習(xí)除了需要大量的算力來訓(xùn)練深度學(xué)習(xí)網(wǎng)絡(luò)之外,還需要一個(gè)自對弈的模塊用來產(chǎn)生訓(xùn)練數(shù)據(jù)。在自對弈模塊當(dāng)中,會模擬游戲環(huán)境,并且選擇不同時(shí)期的模型來操控游戲內(nèi)的角色,AI對游戲內(nèi)角色的每一操控都需要對模型進(jìn)行一次前向推理。由于更新模型的訓(xùn)練數(shù)據(jù)來自于自對弈模塊,因此自對弈的推理速度會對整個(gè)模型的訓(xùn)練速度和效果造成非常大的影響。
而自對弈推理每一次前向推理對延時(shí)的要求比實(shí)際的線上服務(wù)小,因此常見的方式是通過CPU來進(jìn)行自對弈中的推理,但CPU成本太高。為了提高自對弈的速度與吞吐,減少推理成本,騰訊希望在“開悟”AI開放研究平臺里面充分利用GPU去進(jìn)行自對弈中的模型前向推理。
應(yīng)用方案
為了解決上述在自對弈推理當(dāng)中GPU利用率不高的問題, 騰訊“開悟”AI開放研究平臺選擇使用NVIDIA V100 GPU和NVIDIA TensorRT推理引擎來加速推理。
為了自動化地將模型從TensorFlow轉(zhuǎn)換到TensorRT, 騰訊“開悟”AI開放研究平臺一開始通過自行開發(fā)parser,將TensorFlow的算子映射到TensorRT的算子。同時(shí),為了支持更廣泛的模型與算子,減少維護(hù)和開發(fā)的成本, 騰訊“開悟”AI開放研究平臺也積極地與NVIDIA合作,推動從TensorFlow轉(zhuǎn)換成ONNX模型,再通過TensorRT ONNX parser轉(zhuǎn)換到TensorRT的流程。
在自對弈的過程中,需要頻繁地更新模型的權(quán)重,讓自對弈模型始終能保持在較新的狀態(tài)。這個(gè)更新的頻率大概幾分鐘一次,每次必須限制在幾百個(gè)毫秒。如果通過重新build engine 的方式來更新模型的話,無法滿足上述要求。因此 騰訊“開悟”AI開放研究平臺采用 TensorRT refit engine的功能來更新權(quán)重。同時(shí),為了對更新權(quán)重有更好的支持、以及支持更多的算子, 騰訊“開悟”AI開放研究平臺從原本的TensorRT 5 升級到TensorRT 7。
TensorRT 7雖然在部分算子上支持權(quán)重更新,但并不支持LSTM這個(gè)在游戲AI當(dāng)中很重要的算子。為了解決這個(gè)問題, 騰訊“開悟”AI開放研究平臺通過開發(fā)TensorRT插件的方式封裝LSTM算子,并在插件當(dāng)中更新權(quán)重。
為了充分利用NVIDIA V100 GPU的Tensor core, 騰訊“開悟”AI開放研究平臺希望能夠使用TensorRT FP16精度來加速推理。由于TensorRT對FP16的支持非常成熟和簡便,整個(gè)推理流程很快被切換到FP16,并取得了2倍左右的加速。
尋找模型推理時(shí)的性能瓶頸,通過開發(fā)TensorRT插件進(jìn)行算子融合,進(jìn)一步地提升推理的速度。
在完成以上的工作之后,對比TensorFlow的基礎(chǔ)版本,TensorRT 7 能提供5倍以上的加速效果。
使用效果及影響
通過NVIDIA V100 GPU以及TensorRT推理引擎加速自對弈訓(xùn)練的推理部分,騰訊“開悟”AI開放研究平臺極大地提升了自對弈推理的吞吐量與速度,進(jìn)一步地提升了整個(gè)模型訓(xùn)練的速度與降低訓(xùn)練成本,加快模型迭代的周期。
審核編輯:郭婷
-
NVIDIA
+關(guān)注
關(guān)注
14文章
4940瀏覽量
102815 -
gpu
+關(guān)注
關(guān)注
28文章
4701瀏覽量
128705 -
AI
+關(guān)注
關(guān)注
87文章
30146瀏覽量
268411
發(fā)布評論請先 登錄
相關(guān)推薦
評論