在NVIDIA V100上没有使用TensorRT FP16或INT8加速

问题描述 投票:0回答:2

我一直在尝试使用trt.create_inference_graph将我的Keras翻译的Tensorflow保存模型从FP32转换为FP16和INT8,然后将其保存为可用于TensorFlow服务的格式。代码在这里 - https://colab.research.google.com/drive/16zUmIx0_KxRHLN751RCEBuZRKhWx6BsJ

无论在我的测试客户端上运行,我都看不到时间的变化。

我在笔记本电脑中将不同型号的NVIDIA V100 32 GB和我的8Gb 1070 GTX卡进行了比较。我尝试减少和增加输入形状以检查记忆效果。总的来说,我认为,除了32 GB内存的优势(不仅仅是加载模型,而是处理更多 - 比如没有内存的帧)V100似乎没有加速;我特别想到FP16模式加速的两倍。不确定Keras是否转换了TF模型,或模型复杂或设计是否有一些部分可以玩。

这是测试细节https://docs.google.com/spreadsheets/d/1Sl7K6sa96wub1OXcneMk1txthQfh63b0H5mwygyVQlE/edit?usp=sharing

Model 4 Keras converted TF sering           
Model 6 TF Graph simple optimisation            
Model 7     TF Graph simple optimisation + Weight Qunatization          
Model 8 TF Graph simple optimisation + Weight + Model Qunatization          

Model 9     Based on Model 4 frozen; NVIDIA Tensor RT Optimisation FP 32            
Model 10    Based on Model 4 frozen; NVIDIA Tensor RT Optimisation FP 16            
Model 11    Based on Model 4 frozen; NVIDIA Tensor RT Optimisation INT 8            
No of Runs 1                
Model   NVIDIA GTX 1070 NVIDIA V100  32 GB      
4   0.13    0.13        
6   0.14    0.15        
7   0.15    0.14        
9   0.13    0.12        
10  0.13    0.12        
11  0.13    0.12        
No of runs :10              
4   1.15    0.81        
6   1.34    1.16        
7   1.15    1.27        
9   1.23    0.82        
10  1.22    0.83        
11  1.22    0.85        

FP32 - V100 - 无优化

('Label', 'person', ' at ', array([409, 167, 728, 603]), ' Score ', 0.968112)
('Label', 'person', ' at ', array([  0, 426, 512, 785]), ' Score ', 0.8355837)
('Label', 'person', ' at ', array([ 723,  475, 1067,  791]), ' Score ', 0.7234411)
('Label', 'tie', ' at ', array([527, 335, 569, 505]), ' Score ', 0.52543193)
('Time for ', 10, ' is ', 0.7228488922119141)

FP 32与基于TensorFlow的优化 - TransformGraph

没有重量或模型量化

('Time for ', 10, ' is ', 0.6342859268188477)

FP ??基于TensorFlow的优化 - +权重量化 - TransformGraph

权重量化后;型号尺寸为39 MB !! (从~149 MB)但是时间是双倍的('时间',10,'是',1.201113224029541)

模型量化 - 不起作用(至少使用TF服务)

使用NVIDIA TensorRT优化(colab笔记本)

FP16 - v100

('Label', 'person', ' at ', array([409, 167, 728, 603]), ' Score ', 0.9681119)
('Label', 'person', ' at ', array([  0, 426, 512, 785]), ' Score ', 0.83558357)
('Label', 'person', ' at ', array([ 723,  475, 1067,  791]), ' Score ', 0.7234408)
('Label', 'tie', ' at ', array([527, 335, 569, 505]), ' Score ', 0.52543193)
('Time for ', 10, ' is ', 0.8691568374633789)

INT 8

('Label', 'person', ' at ', array([409, 167, 728, 603]), ' Score ', 0.9681119)
('Label', 'person', ' at ', array([  0, 426, 512, 785]), ' Score ', 0.83558357)
('Label', 'person', ' at ', array([ 723,  475, 1067,  791]), ' Score ', 0.7234408)
('Label', 'tie', ' at ', array([527, 335, 569, 505]), ' Score ', 0.52543193)
('Time for ', 10, ' is ', 0.8551359176635742)

优化片段https://colab.research.google.com/drive/1u79vDN4MZuq6gYIOkPmWsbghjunbDq6m

注意:在运行之间存在细微差别

tensorflow tensorflow-serving tensorrt tf.keras
2个回答
0
投票

一些事情可以帮助根本导致缺乏加速。

您可以检查转换为TRT的节点数。

使用最新版本的TF(1.13或每晚)来使用添加的所有最新功能。

配置文件(例如nvprof或tf profiler),以查看推理工作负载的瓶颈。

TF-TRT用户指南可能会有所帮助:https://docs.nvidia.com/deeplearning/dgx/integrate-tf-trt/index.html

这个回购中还有一些例子:https://github.com/tensorflow/tensorrt


0
投票

我在NVIDIA GTX 1070和NVIDIA V100上使用TF官方Resnet50型号,FP32和FP16进行了测试。这次我没有使用TensorRT或任何优化。使用TF模型

MODEL = https://github.com/tensorflow/models/tree/master/official/resnet
FP32 = http://download.tensorflow.org/models/official/20181001_resnet/savedmodels/resnet_v2_fp32_savedmodel_NCHW.tar.gz
FP16 =  http://download.tensorflow.org/models/official/20181001_resnet/savedmodels/resnet_v2_fp16_savedmodel_NCHW.tar.gz
Model Extracted and RUN
docker run  --net=host --runtime=nvidia  -it --rm -p 8900:8500 -p 8901:8501 
 -v /home/alex/coding/IPython_neuralnet/:/models/ tensorflow/serving:latesgpu 
  --model_config_file=/models/resnet50_fp32.json or resnet50_fp16.json
Results =

以下是结果。似乎CUDA核心的速度差异/数量超过某一点;这里的FP16模型运行速度不是原来的两倍。也许我需要使用TensorRT进行转换

https://docs.google.com/spreadsheets/d/1Sl7K6sa96wub1OXcneMk1txthQfh63b0H5mwygyVQlE/edit?usp=sharing

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.