一句话10个token和200个token——BERT必须同时处理好,这才是NLP推理的真功夫
前言
BERT的推理不像YOLO那样整齐划一——图片可以resize到固定尺寸,但文本序列的长度天然不同。一条推文可能只有20个token,而一篇长文档可能有512个token。直接把所有输入padding到最大长度是对算力和显存的巨大浪费。
这一节,我们将完成BERT的TensorRT部署,重点处理动态序列长度的优化:如何配置Optimization Profile、如何避免padding计算浪费、以及如何在实际服务中匹配变长输入。
一、BERT模型导出到ONNX
1.1 PyTorch BERT导出
importtorchfromtransformersimportBertModel,BertTokenizerdefexp