bert 推理加速 使用tensorRt

2022-06-18 07:03:13 字數 832 閱讀 3117

之前對bert輕量化,視訊記憶體占用減少一半。但是推理速度仍然沒多大變化。因此 計畫通過tensorrt完成模型的推理加速。

1. 首先,了解一下tensortr是幹什麼的,這篇文章寫得很好。

本人猜想,nvidia官方提出tensorrt的目的是為了更好的融合深度學習框架和gpu.。tensorflow、pytorch等深度學習框架市場戰場率太大,而gpu去靠近哪乙個框架都是一種損失,因此他們掙了乙個tensorrt,這個東西畢竟自己開發的,更能適合自己的gpu.在訓練方面,仍使用tensorflow等深度學習框架,而推理階段,只需要把模型build成tensorrt自己的型別,在gpu上申請乙個空間,用於存放推理時候的占用,然後推理完後再遞給gpu即可。

所以這個東西更像乙個橋梁,使模型能更好的相容gpu (畢竟tensorrt和gpu都是人家的,相容性肯定比谷歌的tensorflow對nvidia的gpu相容好),在推理的時候加速。

1.  

參照build流程,便可以完成我們的tensorrt的編譯。環境踩坑環節不介紹。

2.參考官方文件,

/tree/master/demo/bert  中便是對bert的加速。

其中,章節,詳細介紹了使用教程,3可以省略,替換為我們自己的bert模型。

如何給深度學習加速 模型壓縮 推理加速

深度學習模型往往受到端計算力的限制,無法很好的部署在移動端或無法降低端的計算成本。例如自動駕駛的模型就過於巨大,而且往往是很多模型並行,所以一般會用一些加速的方法來降低推算的計算力要求。加速方法有多種不同角度 網路結構,模型推理加速,模型剪枝,引數量化等。table of contents 網路結構...

如何使用bert

bert原文中文翻譯版,位址。uer py全稱是universal encoder representations,uer py是乙個在通用語料預訓練以及對下游任務進行微調的工具包。github專案位址。uer的一些教程,知乎教程 bert做情感分類 序列標註 uer分類 的介紹,參考uer py ...

伺服器推理加速工作 6 17

1.解決標頭檔案互相引用問題 使用 parama once,和 ifndef.define endif功能一樣。詳細區別 2.requantizeoutput初始化失敗,原因是column offsets 型別為std shared ptr column offsets 並沒有初始化,因此呼叫emp...