吊牌VLM推理速度慢?TensorRT-LLM把延迟从2.2秒降到480毫秒

VLM能看懂吊牌上的语义关系------成分比例加起来是不是100%、尺码和品牌历史数据是否一致、洗涤符号描述有无矛盾------但推理速度是硬伤。一个VLM模型跑一张吊牌2-5秒,产线一秒要处理4-5张图,完全跟不上。

为什么VLM推理这么慢

VLM由视觉编码器(ViT)和语言模型(LLM)两部分组成。吊牌图片先经过视觉编码器变成视觉特征向量,再输入语言模型生成文本输出。视觉编码器处理的是高分辨率图像,计算量大。语言模型的解码过程是自回归的,生成每个词都需要一次前向传播,生成一句话需要多次前向传播。两者叠加,延迟自然高。

TensorRT-LLM做了什么事

TensorRT-LLM是NVIDIA的推理优化方案,做了三件事。一是层融合,把多个小运算合并成一个大运算,减少内核启动次数和内存读写。二是精度校准,把FP32降到FP16或INT8,计算量减少,速度提升。三是动态张量管理,根据输入动态调整内存分配,减少显存碎片。对于VLM,TensorRT-LLM还做了视觉编码器和语言模型的联合优化,不是分开优化再拼起来。

实测数据

用LLaVA-1.6-7B模型跑吊牌识别(输入384×384图像,输出40-80个token),硬件RTX 3060 12GB:

  • Python + HuggingFace原生推理:单张2200ms,显存7.8GB

  • Python + TensorRT-LLM(FP16):单张480ms,显存3.2GB

  • Python + TensorRT-LLM(INT8):单张350ms,显存2.1GB

速度提升4.5倍(FP16)到6.3倍(INT8),显存减少近60%到73%。

INT8量化会不会影响识别准确率

吊牌检测对准确率要求高,INT8量化后的精度损失会不会导致识别错误?实测数据:FP16方案相比原生FP32准确率下降0.3%(可以忽略);INT8方案相比FP32准确率下降1.8%。对于吊牌这种文字清晰、格式规整的场景,1.8%的准确率损失在可接受范围内。如果吊牌本身质量参差不齐(模糊、反光、破损),建议用FP16而不是INT8,避免精度损失叠加图像质量损失导致识别失败。