騰訊AI LAB致力于打造產(chǎn)學(xué)研用一體的 AI 生態(tài),主要的研究方向包括計(jì)算機(jī)視覺、語音識(shí)別、自然語言處理和機(jī)器學(xué)習(xí),結(jié)合騰訊場景與業(yè)務(wù)優(yōu)勢(shì),在社交AI、游戲AI、內(nèi)容AI及平臺(tái)AI等領(lǐng)域取得了顯著的成果,技術(shù)被應(yīng)用于微信、QQ、天天快報(bào)和QQ音樂等上百個(gè)騰訊產(chǎn)品。其中圍棋AI “絕藝” 多次獲得世界人工智能圍棋大賽的冠軍。
騰訊AI LAB打造的虛擬人,具有自然、生動(dòng)且飽含情緒的表情,其背后由一套騰訊 AI LAB 自研的復(fù)雜系統(tǒng)支撐,系統(tǒng)首先要從文本中提取不同信息,包括表情、情感、重音位置、和激動(dòng)程度等;提取之后,這些信息被輸入到模型中生成,再同步生成語音、口型和表情參數(shù),最終才有了虛擬人自然生動(dòng)的表現(xiàn)。
虛擬人物打造需要更高效平臺(tái)
根據(jù)虛擬人物需要表達(dá)的語言和情感,生成自然生動(dòng)的人臉,是打造虛擬人重要的一個(gè)階段。需要先渲染人臉的紋理圖和渲染圖,并將它們輸入到深度學(xué)習(xí)模型中,最終生成自然生動(dòng)的人臉。在這個(gè)過程中,需要用到OpenGL、OpenCV、CUDA、TensorFlow等軟件技術(shù),騰訊原有的方案有很多CPU與GPU的數(shù)據(jù)交互,且有很多計(jì)算型的操作通過CPU來實(shí)現(xiàn),效率非常低下, 無論是吞吐還是延時(shí)都不滿足要求,具體體現(xiàn)在:
OpenGL在GPU上渲染好圖像繪制到framebuffer后,需要先用glReadPixels拷貝數(shù)據(jù)到CPU,再用cudaMemcpy將數(shù)據(jù)從CPU拷回到GPU以進(jìn)行深度學(xué)習(xí)模型的推理,這里有兩次不必要的CPU與GPU之間的數(shù)據(jù)傳輸。
顏色空間轉(zhuǎn)換方面,深度學(xué)習(xí)推理的前后處理等操作在CPU上完成,效率非常低下。
NVIDIA 加速虛擬人項(xiàng)目渲染與推理效率
NVIDIA 技術(shù)在虛擬人項(xiàng)目的渲染和推理階段均提供了強(qiáng)大的支持。在渲染階段,NVIDIA 助力提升了顏色空間轉(zhuǎn)換效率,降低整體延時(shí),主要體現(xiàn)在:
1. 用NVIDIA CUDA/OpenGL interoperability 代替騰訊之前使用glReadPixels在CUDA和OpenGL之間拷貝數(shù)據(jù)的方案,大幅減少了CPU和GPU之間的數(shù)據(jù)拷貝,從而降低了整體的延時(shí)。
2. 把原來在CPU上做的顏色空間轉(zhuǎn)換的操作,遷移到NVIDIA T4 GPU上用CUDA kernel實(shí)現(xiàn),利用GPU的并行優(yōu)勢(shì),大大提高了顏色空間轉(zhuǎn)換的效率,進(jìn)一步降低了整體的延時(shí)。
3. 將多幀的mesh組成一個(gè)batch分別繪制到framebuffer的不同區(qū)域,在提高OpenGL并行度的同時(shí),給下一階段的深度學(xué)習(xí)模型的推理提供了更大的輸入數(shù)據(jù)的batch size,充分發(fā)揮NVIDIA T4 GPU高并發(fā)計(jì)算的優(yōu)勢(shì),進(jìn)一步提高GPU的利用率,從而提高整體的吞吐。
在推理階段,NVIDIA助力提高推理整體吞吐,降低推理延時(shí),主要體現(xiàn)在以下幾點(diǎn):
1. 用NVIDIA TensorRT替換TensorFlow對(duì)模型推理進(jìn)行加速,并利用NVIDIA T4 GPU上的FP16 Tensor Core可以極大提高矩陣乘等操作速度的特性,在最終視覺效果幾乎不變的情況下,進(jìn)一步提升推理的吞吐,降低推理延時(shí)。
2. 在NVIDIA T4 GPU上利用CUDA kernel 替代原始流程中在CPU上使用OpenCV實(shí)現(xiàn) Mat-to-Tensor 和 Tensor-to-Mat 等格式轉(zhuǎn)換操作,并使用OpenCV-CUDA版替換OpenCV-CPU版的部分操作(如Resize等),充分發(fā)揮GPU相對(duì)于CPU更高的并發(fā)優(yōu)勢(shì),在加速這些操作的同時(shí)減少GPU到CPU的數(shù)據(jù)傳輸通信量,提高格式轉(zhuǎn)換效率,降低端到端的推理延時(shí)。
3. 通過Pipeline的方式,使GPU和CPU上的操作進(jìn)行overlap,并結(jié)合NVIDIA的MPS技術(shù)提高單卡上多個(gè)進(jìn)程同時(shí)處理多個(gè)數(shù)據(jù)流的同時(shí)提高整體的吞吐。
在虛擬人項(xiàng)目中,NVIDIA CUDA技術(shù)大幅提升了渲染速度,NVIDIA TensorRT 方便快速地加速深度學(xué)習(xí)模型的推理,結(jié)合MPS技術(shù),實(shí)現(xiàn)了單卡多路推流,使整體推理效率達(dá)到了原來的三倍!性能的大幅提升,既提升了GPU的利用率,又降低了AI技術(shù)的使用成本。責(zé)任編輯:haq
騰訊AI LAB致力于打造產(chǎn)學(xué)研用一體的 AI 生態(tài),主要的研究方向包括計(jì)算機(jī)視覺、語音識(shí)別、自然語言處理和機(jī)器學(xué)習(xí),結(jié)合騰訊場景與業(yè)務(wù)優(yōu)勢(shì),在社交AI、游戲AI、內(nèi)容AI及平臺(tái)AI等領(lǐng)域取得了顯著的成果,技術(shù)被應(yīng)用于微信、QQ、天天快報(bào)和QQ音樂等上百個(gè)騰訊產(chǎn)品。其中圍棋AI “絕藝” 多次獲得世界人工智能圍棋大賽的冠軍。 騰訊AI LAB打造的虛擬人,具有自然、生動(dòng)且飽含情緒的表情,其背后由一套騰訊 AI LAB 自研的復(fù)雜系統(tǒng)支撐,系統(tǒng)首先要從文本中提取不同信息,包括表情、情感、重音位置、和激動(dòng)程度等;提取之后,這些信息被輸入到模型中生成,再同步生成語音、口型和表情參數(shù),最終才有了虛擬人自然生動(dòng)的表現(xiàn)。
虛擬人物打造需要更高效平臺(tái)
根據(jù)虛擬人物需要表達(dá)的語言和情感,生成自然生動(dòng)的人臉,是打造虛擬人重要的一個(gè)階段。需要先渲染人臉的紋理圖和渲染圖,并將它們輸入到深度學(xué)習(xí)模型中,最終生成自然生動(dòng)的人臉。在這個(gè)過程中,需要用到OpenGL、OpenCV、CUDA、TensorFlow等軟件技術(shù),騰訊原有的方案有很多CPU與GPU的數(shù)據(jù)交互,且有很多計(jì)算型的操作通過CPU來實(shí)現(xiàn),效率非常低下, 無論是吞吐還是延時(shí)都不滿足要求,具體體現(xiàn)在:
OpenGL在GPU上渲染好圖像繪制到framebuffer后,需要先用glReadPixels拷貝數(shù)據(jù)到CPU,再用cudaMemcpy將數(shù)據(jù)從CPU拷回到GPU以進(jìn)行深度學(xué)習(xí)模型的推理,這里有兩次不必要的CPU與GPU之間的數(shù)據(jù)傳輸。
顏色空間轉(zhuǎn)換方面,深度學(xué)習(xí)推理的前后處理等操作在CPU上完成,效率非常低下。
NVIDIA加速虛擬人項(xiàng)目渲染與推理效率
NVIDIA 技術(shù)在虛擬人項(xiàng)目的渲染和推理階段均提供了強(qiáng)大的支持。在渲染階段,NVIDIA 助力提升了顏色空間轉(zhuǎn)換效率,降低整體延時(shí),主要體現(xiàn)在: 1. 用NVIDIA CUDA/OpenGL interoperability 代替騰訊之前使用glReadPixels在CUDA和OpenGL之間拷貝數(shù)據(jù)的方案,大幅減少了CPU和GPU之間的數(shù)據(jù)拷貝,從而降低了整體的延時(shí)。 2. 把原來在CPU上做的顏色空間轉(zhuǎn)換的操作,遷移到NVIDIA T4 GPU上用CUDA kernel實(shí)現(xiàn),利用GPU的并行優(yōu)勢(shì),大大提高了顏色空間轉(zhuǎn)換的效率,進(jìn)一步降低了整體的延時(shí)。 3. 將多幀的mesh組成一個(gè)batch分別繪制到framebuffer的不同區(qū)域,在提高OpenGL并行度的同時(shí),給下一階段的深度學(xué)習(xí)模型的推理提供了更大的輸入數(shù)據(jù)的batch size,充分發(fā)揮NVIDIA T4 GPU高并發(fā)計(jì)算的優(yōu)勢(shì),進(jìn)一步提高GPU的利用率,從而提高整體的吞吐。
在推理階段,NVIDIA助力提高推理整體吞吐,降低推理延時(shí),主要體現(xiàn)在以下幾點(diǎn):
1. 用NVIDIA TensorRT替換TensorFlow對(duì)模型推理進(jìn)行加速,并利用NVIDIA T4 GPU上的FP16 Tensor Core可以極大提高矩陣乘等操作速度的特性,在最終視覺效果幾乎不變的情況下,進(jìn)一步提升推理的吞吐,降低推理延時(shí)。
2. 在NVIDIA T4 GPU上利用CUDA kernel 替代原始流程中在CPU上使用OpenCV實(shí)現(xiàn) Mat-to-Tensor 和 Tensor-to-Mat 等格式轉(zhuǎn)換操作,并使用OpenCV-CUDA版替換OpenCV-CPU版的部分操作(如Resize等),充分發(fā)揮GPU相對(duì)于CPU更高的并發(fā)優(yōu)勢(shì),在加速這些操作的同時(shí)減少GPU到CPU的數(shù)據(jù)傳輸通信量,提高格式轉(zhuǎn)換效率,降低端到端的推理延時(shí)。
3. 通過Pipeline的方式,使GPU和CPU上的操作進(jìn)行overlap,并結(jié)合NVIDIA的MPS技術(shù)提高單卡上多個(gè)進(jìn)程同時(shí)處理多個(gè)數(shù)據(jù)流的同時(shí)提高整體的吞吐。 在虛擬人項(xiàng)目中,NVIDIA CUDA技術(shù)大幅提升了渲染速度,NVIDIA TensorRT 方便快速地加速深度學(xué)習(xí)模型的推理,結(jié)合MPS技術(shù),實(shí)現(xiàn)了單卡多路推流,使整體推理效率達(dá)到了原來的三倍!性能的大幅提升,既提升了GPU的利用率,又降低了AI技術(shù)的使用成本。 責(zé)任編輯:haq
-
cpu
+關(guān)注
關(guān)注
68文章
10897瀏覽量
212525 -
NVIDIA
+關(guān)注
關(guān)注
14文章
5064瀏覽量
103451 -
AI
+關(guān)注
關(guān)注
87文章
31356瀏覽量
269758 -
深度學(xué)習(xí)
+關(guān)注
關(guān)注
73文章
5511瀏覽量
121374
原文標(biāo)題:NVIDIA TensorRT和GPU軟件棧助力騰訊AI LAB打造生動(dòng)的虛擬人
文章出處:【微信號(hào):NVIDIA-Enterprise,微信公眾號(hào):NVIDIA英偉達(dá)企業(yè)解決方案】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論