兄弟们,最近Meta的Llama 3.1 8B开源模型火了,我特意在本地搭了一套推理环境,分享点干货。
先说配置:单台A100 80GB,用了vLLM 0.5.0版本,FP16精度。关键操作是调了`--max-model-len 8192`和`--gpu-memory-utilization 0.95`,这样能塞满显存,把batch size撑到256而不OOM。实测输入512 token、输出128 token时,首token延迟18ms,后续token吞吐接近1500 tokens/s,比Hugging Face的Transformers基线快了近4倍。
部署时有个坑:vLLM默认用PagedAttention,但如果你不设`--block-size 16`,短序列时会浪费显存碎片。我改成16后,利用率从82%提到94%。建议用Docker跑官方镜像,省去编译CUDA的麻烦,一行`docker run --gpus all -p 8000:8000 vllm/vllm-openai:latest`就能拉起OpenAI兼容API。
注意,8B模型对CPU内存带宽敏感,如果你的机器是PCIe 3.0,建议用`--num-scheduler-steps 8`减少拷贝开销。实测PCIe 4.0下吞吐能再涨10%。
最后提醒:别盲目追求“超大batch”,初始设64测下显存峰值,再慢慢加,避免OOM后重新加载模型浪费时间。有兴趣的可以跑下官方benchmark,数据我贴在附件了。 |