闲社

标题: K8s+GPU算子优化:LLM推理部署的5个踩坑实录与性能提升方案 [打印本页]

作者: loveqq    时间: 昨天 21:01
标题: K8s+GPU算子优化:LLM推理部署的5个踩坑实录与性能提升方案
兄弟们,最近在给团队搭大模型推理服务,把Llama 2 70B塞进K8s,踩了不少坑。分享下实战经验,希望能帮到正在搞AI基础设施的同行。

先说痛点:直接裸用K8s默认调度,GPU利用率只有30%左右,频繁OOM。关键是显存碎片化严重,vLLM这种框架也扛不住。后来发现几个关键点:

1. **GPU MIG分区**:用NVIDIA MIG把A100切成7个1g.10gb实例,每个pod分配1个,避免显存争抢。实测吞吐量提升2.3倍,但注意需配合K8s device plugin v0.14+。

2. **算子融合与量化**:对LLM的attention层做FlashAttention-2优化,配合INT4量化(用bitsandbytes),单卡推理延迟从120ms降到45ms。但注意量化后精度损失<1%,需要校准数据集。

3. **节点亲和性调度**:用nodeAffinity把GPU节点和CPU节点隔开,避免CPU密集型pod抢带宽。再用taint限制非GPU任务,减少调度抖动。

4. **内存预分配**:设置vLLM的`--gpu-memory-utilization 0.9`和`--swap-space 8`,减少显存碎片,同时保留交换空间防止OOM。

5. **监控与QoS**:部署Prometheus+Grafana监控GPU显存、利用率、功耗,阈值告警。用K8s的Guaranteed QoS预留资源,别用Burstable。

最终效果:QPS从50提升到180,p99延迟稳定在200ms以内。建议用Llama.cpp跑离线批量推理,vLLM搞在线服务,别混用。

建议关注Hugging Face的TGI和Text Generation Inference,以及NVIDIA的TensorRT-LLM,这两个项目对LLM推理部署有原生优化。




欢迎光临 闲社 (https://www.xianshe.com/) Powered by Discuz! X5.0