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