NVIDIATriton助力騰訊PCG加速在(zài)線(xiàn)推理(lǐ),提(tí)高(gāo)設備效率

 行業动态     |      2022-08-24 15:22:46    |      瀝拓

  

  案(àn)例簡介

  通(tòng)过(guò)这(zhè)个(gè)案(àn)例NVIDIAT4GPU,通(tòng)过(guò)Ronda平台(tái)調用(yòng)Triton以及(jí)TensorRT,整體(tǐ)提(tí)升(shēng)開(kāi)發(fà)推理(lǐ)效率,幫助騰訊PCG多(duō)个(gè)服(fú)務(wù)的(de)整體(tǐ)效率提(tí)高(gāo)了(le)2倍,吞吐量(liàng)提(tí)高(gāo)了(le)6倍,同(tóng)时(shí)减少(shǎo)了(le)40%的(de)延遲。这(zhè)種(zhǒng)情(qíng)況主(zhǔ)要(yào)應(yìng)用(yòng)于(yú)NVIDIAT4GPU,TensorRT和(hé)Triton。

  这(zhè)種(zhǒng)情(qíng)況主(zhǔ)要(yào)适用(yòng)NVIDIAT4GPU,TensorRT和(hé)Triton。

  CaseIntroduction

  ThiscaseismainlyappliedtoNVIDIAT4GPU,TensorRTandTriton.

  客戶介紹及(jí)應(yìng)用(yòng)背景

  騰訊平台(tái)和(hé)內(nèi)容業務(wù)集团(tuán)(簡稱騰訊)PCG)負責互聯网(wǎng)平台(tái)與(yǔ)內(nèi)容文(wén)化(huà)生(shēng)态的(de)融合與(yǔ)發(fà)展(zhǎn),整合與(yǔ)發(fà)展(zhǎn)QQ,QQ空(kōng)間(jiān)等社交平台(tái),以及(jí)應(yìng)用(yòng)寶(bǎo)、浏覽器等流量(liàng)平台(tái),以及(jí)內(nèi)容業務(wù),如(rú)新(xīn)聞信(xìn)息、视頻、體(tǐ)育、直(zhí)播、动画、電(diàn)影等。IP跨平台(tái)、多(duō)形态開(kāi)發(fà),为更(gèng)多(duō)用(yòng)戶創造海(hǎi)量(liàng)優質(zhì)數字(zì)內(nèi)容體(tǐ)验(yàn)。

  騰訊PCG机器學(xué)習平台(tái)部(bù)旨在(zài)構建和(hé)不(bù)斷優化(huà)PCG机器學(xué)習平台(tái)和(hé)系(xì)統的(de)技術(shù)中(zhōng)台(tái)战略,提(tí)升(shēng)PCG机器學(xué)習技術(shù)的(de)應(yìng)用(yòng)效率和(hé)價值。構建領先(xiān)的(de)業務(wù)模型培訓系(xì)統和(hé)算法(fǎ)框架;提(tí)供覆蓋數據(jù)标(biāo)記(jì)、模型培訓、評估、在(zài)線(xiàn)的(de)全(quán)过(guò)程平台(tái)服(fú)務(wù),實(shí)現(xiàn)高(gāo)效叠代(dài);在(zài)內(nèi)容理(lǐ)解(jiě)和(hé)處(chù)理(lǐ)領域,輸出(chū)行業領先(xiān)的(de)元(yuán)能(néng)力和(hé)智能(néng)战略庫。机器學(xué)習平台(tái)部(bù)門(mén)正(zhèng)在(zài)服(fú)務(wù)于(yú)PCG所(suǒ)有(yǒu)業務(wù)産品。

  客戶挑战

  業務(wù)多(duō),场(chǎng)景複雜

  包(bāo)括業務(wù)開(kāi)發(fà)語(yǔ)言C++/Python

  包(bāo)括许多(duō)模型格式ONNX,Pytorch,TensorFlow,TensorRT等

  模型預處(chù)理(lǐ)涉及(jí)网(wǎng)络,如(rú)图(tú)片下(xià)载(zài)io

  多(duō)模型集成(chéng)过(guò)程比教學(xué)更(gèng)複雜,涉及(jí)循环(huán)調用(yòng)

  支持(chí)异(yì)構推理(lǐ)

  當模型推理(lǐ)結果(guǒ)异(yì)常时(shí),很难方(fāng)便地(dì)調試和(hé)定(dìng)位(wèi)問(wèn)题

  在(zài)公(gōng)司內(nèi)部(bù)需要(yào)整合現(xiàn)有(yǒu)协议/框架/平台(tái)

  應(yìng)用(yòng)方(fāng)案(àn)

  基于(yú)上(shàng)述挑战,騰訊PCG選擇了(le)采用(yòng)NVIDIA的(de)Triton为了(le)解(jiě)決模型推理(lǐ)引擎在(zài)新(xīn)场(chǎng)景中(zhōng)面(miàn)臨的(de)挑战,推理(lǐ)服(fú)務(wù)器在(zài)提(tí)高(gāo)用(yòng)戶研究效率的(de)同(tóng)时(shí),大(dà)大(dà)降低(dī)了(le)服(fú)務(wù)成(chéng)本(běn)。

  NVIDIATriton它(tā)是(shì)一(yī)个(gè)開(kāi)源软(ruǎn)件(jiàn),可(kě)以簡化(huà)任何框架和(hé)任何框架中(zhōng)的(de)模型GPU或(huò)CPU在(zài)生(shēng)産环(huán)境中(zhōng)使用(yòng)上(shàng)述操作(zuò)模式AI。Triton支持(chí)多(duō)模型ensemble,以及(jí)TensorFlow,PyTorch,ONNX各(gè)種(zhǒng)深度(dù)學(xué)習模型框架可(kě)以很好(hǎo)地(dì)支持(chí)多(duō)模型聯合推理(lǐ)的(de)场(chǎng)景,構建视頻、图(tú)片、語(yǔ)音(yīn)、文(wén)本(běn)的(de)整个(gè)推理(lǐ)服(fú)務(wù)过(guò)程,大(dà)大(dà)降低(dī)多(duō)模型服(fú)務(wù)的(de)開(kāi)發(fà)和(hé)維护成(chéng)本(běn)。

  基于(yú)C++基礎架構,Dynamic-batch,以及(jí)对TensorRT同(tóng)时(shí)支持(chí)與(yǔ)合作(zuò)T4的(de)GPU,整體(tǐ)推理(lǐ)服(fú)務(wù)的(de)吞吐量(liàng)最(zuì)大(dà)提(tí)高(gāo)6倍,延遲最(zuì)大(dà)降低(dī)40%,既滿足了(le)業務(wù)的(de)低(dī)延遲需求,又降低(dī)了(le)20%-66%的(de)成(chéng)本(běn)。

  通(tòng)过(guò)将Triton編譯成(chéng)动态鍊(liàn)接庫,可(kě)以方(fāng)便地(dì)鍊(liàn)接到(dào)公(gōng)司內(nèi)部(bù)框架,連(lián)接公(gōng)司的(de)平台(tái)治理(lǐ)體(tǐ)系(xì)。符合C語(yǔ)言規範的(de)API也(yě)大(dà)大(dà)降低(dī)了(le)用(yòng)戶的(de)接入(rù)成(chéng)本(běn)。

  借(jiè)助PythonBackend和(hé)CustomBackend,用(yòng)戶可(kě)以自(zì)由(yóu)選擇使用(yòng)C++/Python第(dì)二(èr)次(cì)開(kāi)發(fà)語(yǔ)言。

  Triton的(de)Tracing在(zài)執行过(guò)程中(zhōng),能(néng)力可(kě)以很容易地(dì)捕獲數據(jù)流狀态。Metrics和(hé)PerfAnalysis等组件(jiàn),可(kě)以快(kuài)速定(dìng)位(wèi)開(kāi)發(fà)調試,甚至(zhì)是(shì)在(zài)線(xiàn)問(wèn)题,对于(yú)開(kāi)發(fà)和(hé)定(dìng)位(wèi)問(wèn)题的(de)效率有(yǒu)了(le)很大(dà)的(de)提(tí)高(gāo)。

  (騰訊授權的(de)图(tú)片)

  NVIDIADALI是(shì)GPU加速數據(jù)增強(qiáng)和(hé)图(tú)像加载(zài)庫。DALIBackend原图(tú)解(jiě)碼可(kě)以用(yòng)来(lái)代(dài)替,resize等操作(zuò)。FILBackend也(yě)可(kě)以替代(dài)PythonXGBoost模型推理(lǐ),進(jìn)一(yī)步提(tí)升(shēng)服(fú)務(wù)端推理(lǐ)性(xìng)能(néng)。

  方(fāng)案(àn)效果(guǒ)及(jí)影響

  借(jiè)助NVIDIATriton推理(lǐ)框架,配合DALI/FIL/Python等Backend,以及(jí)TensorRT,整體(tǐ)推理(lǐ)服(fú)務(wù)的(de)吞吐量(liàng)最(zuì)大(dà)增加6倍,延遲最(zuì)大(dà)减少(shǎo)40%。幫助騰訊PCG在(zài)每个(gè)業務(wù)场(chǎng)景中(zhōng),高(gāo)性(xìng)能(néng)的(de)推理(lǐ)服(fú)務(wù)以較低(dī)的(de)成(chéng)本(běn)構建,而(ér)較低(dī)的(de)延遲降低(dī)了(le)整个(gè)系(xì)統鍊(liàn)路(lù)的(de)響應(yìng)时(shí)間(jiān),優化(huà)了(le)用(yòng)戶體(tǐ)验(yàn)。