加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 创业 > 正文

TensorRT如何加速人脸识别

发布时间:2020-06-12 11:30:47 所属栏目:创业 来源:站长网
导读:副标题#e# 为了提高人脸识别的实时性,我们团队将传统的利用神经网络框架推理升级至统一的 TensorRT 加速推理。经实验对比,经 TensorRT FP16 模式推理加速后的人脸识别不仅几乎无损精度,甚至于在部分场景精度有提升,识别速度提升为原来的 2.3 倍。统一加

由于架构和功能上的差异,不同的显卡对 FP16、INT8、INT4 的支持,以及相对于 FP32 实际获得加速效果是不同的,详见图 14 的表格所示:

TensorRT如何加速人脸识别

图 14 中,N/A 表示不支持,2x、4x、8x 分别表示在该模式下相对于 FP32 模式下的加速比为 2 倍、4 倍、8 倍。比如从表中可以看到,Tesla P100 支持 FP32 和 FP16,但是不支持 INT8 和 INT4 加速。而 Tesla P40 则支持 INT8,但是不支持 FP16。在 nvidia 新的图灵架构 (表中 chip 为 tu102 和 tu104) 卡已经完整的支持 FP16、INT8、INT4。

为保证 TensorRT 加速人脸识别的公平性,我们团队统一在 Tesla T4 上进行 FP32、FP16、INT8 的实验。另外有一点需要提到的是在不同的型号显卡上生成的 TensorRT 推理引擎文件 (TRT) 是不能通用的,比如说在 Tesla P40 上面生成的 TRT 文件并不能在 Tesla P100 上运行,反之同理。

3、人脸识别在经过 TensorRT 的加速后效果

测试集:由客流云系统前端摄像头采集的 506 张员工照片;

校准集:LFW,INT8 模式需要校准,FP16 模式无需校准;

测试平台: Nvidia Tesla T4;

相关设置: 校准 batch size 设置为 64;推理的 batch size 设置为 1,这个与我们实际业务场景一样,要求来一张处理一张,保证实时返回处理结果。

TensorRT如何加速人脸识别

上面图 15 所展示的为我们团队利用 TensorRT 加速人脸识别的推理效果,其中 MX 表示利用 MXNET 框架进行推理,TR 表示利用 TensorRT 进行推理,FP32、FP16、INT8 分别表示对应的推理模式。首先来看蓝色柱形部分,以 MX FP32 为基准,在 TensorRT 上以 FP32 的精度来进行推理,其推理速度是 MX FP32 模式下的 1.557 倍,该提速主要是得益于 TensorRT 对神经网络中的层和算子进行相应的融合及优化。利用 TensorRT 分别在 FP16 和 INT8 模式下获得的提速分别是 2.296 倍和 3.185 倍。再看橙色的柱形,TR FP16 和 TR INT8 相对于 TR FP32 的 1.475 倍的加速主要是得益于 FP16 和 INT8 相对于 FP32 计算获得更加高效的计算以及更高的通过率。INT8 加速的效果是非常喜人的,不仅是速度的提升,以及还有内存上占比的减少,带来的效果不光是服务的提升,同时也能减少相应的资源成本。

我们的目的是在尽量保持原有精度的情况下获得提速,经过后续的精度对比实验,其中 FP16 模式几乎无精度损失,甚至于部分情况下精度有略微提升,而 INT8 模式的精度损失稍微大了些。为此团队在综合考虑之后,拟线上部署 TensorRT FP16 模式加速推理,FP16 模式精度几乎无损、加速效果可以、使用也比较方便(无需校准),另外 FP16 模式也是 NVIDIA 何琨老师比较推荐的。

四、总结

为了提升客流云的服务速度以及降低相应的服务成本,我们团队在调研和实验相关的量化推理加速方案后,利用 TensorRT 在无损精度的情况下将人脸识别服务的推理速度提升为原来的 2.3 倍。统一推理后台为 TensorRT,同时也为后续融合多种不同神经网络框架模型带来可能,也相应的减少了业务部署上的成本和麻烦。主要需要注意的问题是,神经网络框架、ONNX、TensorRT 对算子的支持,此外一定要结合自身的业务场景实验量化推理,保证无损精度的情况下获得相应的加速,这也为我们后续加速其他的 AI 服务提供了宝贵经验。

 

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读