兄弟们,最近群里不少人在问模型部署后推理慢怎么破。我正好把几个主流加速方案跑了一遍,直接说干货。
先说ONNX Runtime,兼容性是真的强,PyTorch、TF模型一步导出,CPU/GPU都能跑。但优化深度有限,大模型上提升大概20-30%,小模型还行。适合快速上线、不想太折腾的情况。
TensorRT就狠了,N卡专属,算子融合+量化拉满,FP16下推理能快2-3倍,显存占用少一半。但缺点也明显:动态shape支持差,模型结构稍微改点就得重新编译,踩坑无数。适合固定batch、生产环境稳定的场景。
vLLM是最近新秀,专门怼LLM推理。PagedAttention显存管理骚操作,连续批处理吞吐量直接起飞。实测LLaMA-7B,QPS比HuggingFace原生高5倍+。但只支持Decode-only模型,非自回归的别想。
总结:小模型上ONNX,固定场景上TensorRT,LLM冲刺选vLLM。没有银弹,按需选。
最后问一句:你们有没有遇到过TensorRT动态shape炸显存或者vLLM显存碎片化的问题?怎么解的?评论区聊聊。 |