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