bert 推理加速 使用tensorRt
之前对bert轻量化,显存占用减少一半。但是推理速度仍然没多大变化。因此 计划通过tensorRT完成模型的推理加速。
轻量化之前链接: https://www.cnblogs.com/dhName/p/12628828.html
1. 首先,了解一下tensorTR是干什么的,这篇文章写得很好。
https://www.cnblogs.com/qccz123456/p/11767858.html
https://arleyzhang.github.io/articles/7f4b25ce/
本人猜想,Nvidia官方提出tensorrt的目的是为了更好的融合深度学习框架和GPU.。tensorflow、pytorch等深度学习框架市场战场率太大,而GPU去靠近哪一个框架都是一种损失,因此他们挣了一个tensorRT,这个东西毕竟自己开发的,更能适合自己的GPU.在训练方面,仍使用tensorflow等深度学习框架,而推理阶段,只需要把模型build成tensorRT自己的类型,在GPu上申请一个空间,用于存放推理时候的占用,然后推理完后再递给GPU即可。
所以这个东西更像一个桥梁,使模型能更好的兼容GPU (毕竟tensorRT和Gpu都是人家的,兼容性肯定比谷歌的tensorflow对nvidia的gpu兼容好),在推理的时候加速。
1. https://github.com/NVIDIA/TensorRT
参照build流程,便可以完成我们的tensorRT的编译。环境踩坑环节不介绍。
2.
https://github.com/NVIDIA/TensorRT
参考官方文档,
https://github.com/NVIDIA/TensorRT/tree/master/demo/BERT 中便是对Bert的加速。
其中,
Quick Start Guide
章节,详细介绍了使用教程,3可以省略,替换为我们自己的bert模型。