全部产品
云市场

BBS性能数据

更新时间:2019-09-27 23:44:39

当前文档中所有的数据对比结果,您可以按照BBS使用手册中的步骤进行实验和复现。

1. 系统环境

测试硬件
CPU Intel(R) Xeon(R) Platinum 8163 CPU @ 2.50GHz
GPU Nvidia Tesla T4 (75W)

测试软件
centos7
cuda-10.0
cudnn-7.5.0
tensorrt-5.0.2.6
onnx-1.2.1
tensorflow-1.13.2
torch-1.2.0

2. 模型列表

Blade BBS中共包含8个模型,分别介绍如下:

  • CRNN (Convolutional Recurrent Neural Network)

用于图像序列识别的卷积循环神经网络,Tensorflow模型
source:https://github.com/bgshih/crnn
reference: http://arxiv.org/abs/1507.05717

  • PoseNet

用于人体姿态评估的全卷积网络,可处理任意尺寸的输入图像,Tensorflow模型
source: Alibaba In-house
reference: Alibaba Damo Israel Lab

  • OCRDet

用于图像文字检测的卷积神经网络,可处理任意尺寸的输入图像,Tensorflow模型
source: Alibaba In-house
reference: https://rrc.cvc.uab.es/?spm=ata.13261165.0.0.e7b319bdnNG8YZ&ch=4&com=evaluation&task=4&f=3&e=1

  • Bert

用于文本匹配的Bert模型
source: Alibaba In-house
reference: https://arxiv.org/abs/1810.04805

  • MobilenetV1

用于ImageNet图像分类的卷积神经网络,Tensorflow模型
source: https://github.com/tensorflow/models/blob/master/research/slim/nets/mobilenet_v1.md
reference: https://arxiv.org/abs/1704.04861

  • MobilenetV1_050

用于ImageNet图像分类的卷积神经网络,Tensorflow模型
source: https://github.com/tensorflow/models/blob/master/research/slim/nets/mobilenet_v1.md
reference: https://arxiv.org/abs/1704.04861

  • RefineDet

用于logo检测的卷积神经网络,Caffe模型
source: https://github.com/sfzhang15/RefineDet
reference: https://arxiv.org/abs/1711.06897

  • InceptionV2

用于ImageNet图像分类的卷积神经网络,Onnx模型
source: https://s3.amazonaws.com/download.onnx/models/opset_6/inception_v2.tar.gz
reference: https://arxiv.org/abs/1512.00567

3. 速度测试结果

以下性能测试结果基于上述软、硬件环境得出

(1)Tensorflow models

Tensorflow Tensorflow xla TensorRT Blade
CRNN 31.20ms 31.23ms / 1.00X 21.79ms / 1.43X 13.47ms / 2.32X
PoseNet 25.41ms 21.85ms / 1.16X 无优化* 8.93ms / 2.84X
OCRDet 117.73ms 90.67ms / 1.30X 无优化* 66.85ms / 1.76X
Bert 551.79ms 466.95ms / 1.18X 609.20ms / 0.91X 322.11ms / 1.71X
MobilenetV1 31.78ms 25.97ms / 1.22X 11.40ms / 2.79X 11.47ms / 2.77X
MobilenetV1_050 8.99ms 7.38ms / 1.22X 4.78ms / 1.88X 4.86ms / 1.84X

*上表中PoseNet、OCRDet模型输入均为任意尺寸图像,TF2TRT (TensorRT5.0)不能很好地处理输入为任意大小的模型,该类模型在进行TensorRT优化后的实际推理过程中,遇到不同尺寸的输入会出现计算不正确的现象。

(2)Caffe model

Caffe Blade
RefineDet 64.94ms 12.82ms

(3)Onnx model

Caffe2
without onnx optimization
Caffe2
with onnx optimization
Blade
InceptionV2 11.43ms 11.41ms 3.72ms

**

4. 精度测试结果

Bert、MobilenetV1、MobilenetV1_050模型的TensorRT和Blade优化均采用INT8量化的方式,其优化前后的精度测试结果如下表所示:

Tensorflow TensorRT Blade Blade*
Bert 85.47% 85.47% 85.17% (1.71X) 76.37% (1.76X)
MobilenetV1 71.01% 69.43% 70.51% (2.77X) 69.43% (2.77X)
MobilenetV1_050 59.20% 51.84% 56.48% (1.84X) 51.84% (1.84X)
  • Blade在大部分情形下支持用户不提供任何有关模型信息的配置而跑通完整优化流程。但这不意味着用户对优化过程无法干预或给Blade提供对结果的偏好。对于某些模型,使用更激进的”o2”级别优化在更大加速的同时,可能带来在测试数据集上精度的损失。Blade为此提供了一个优化开关”accuracy_keeper”,可以帮助用户告诉Blade,相较于加速比,对优化结果的精度更为在意。(该选项示例可见BBS中”model_info.json”的”blade_optimization”字段,该字段定义了输入给Blade的优化配置)
  • 上表中,blade列所示数值是accuracy_keeper选项打开时所得到的优化模型在测试集上的精度,Blade*列所示数值是accuracy_keeper选项关闭时的精度。该选项的默认设置为关闭状态,当该项打开时通常能够更好地保证量化后的模型精度,但可能会在一定程度上影响加速情况(如上表中Bert模型)。但影响加速效果的情况并不是绝对的,在Mobilenet的两个模型中,在同等加速比的前提下,”accuracy_keeper”选项打开令用户获得了更好的精度结果。
    特别需要说明的是,上表中Bert模型在进行TensorRT优化时未能得到有效的INT8量化模型,因此不存在精度损失,但同时也未能获得有效的加速收益。