中等serving推理系统vLLM面试高频
gpu-memory-utilization 参数设置为什么不能设成 1.0?
9 0 0
参考答案
`--gpu-memory-utilization` 控制 vLLM 用多少比例的 GPU 显存来放 **KV Cache 池**(在模型权重加载之后的剩余显存里划分)。 **为什么不能设 1.0(或过高)**: 除了权重和 KV Cache,GPU 显存还需要留给: 1. **激活值(activations)**:前向计算过程中的中间张量,尤其 prefill 时处理大量 token,激活占用可观且动态变化。 2. **CUDA context / 运行时开销**:CUDA 上下文、cuBLAS/cuDNN 工作区、通信 buffer(NCCL)等。 3. **临时 buffer**:采样、量化反量化、attention kernel 的中间空间等。 4. **碎片余量**:分配器需要一些余量避免 OOM。 如果设成 1.0,KV 池吃掉几乎全部剩余显存,一旦 prefill 遇到长 prompt 或并发激活峰值,就会 OOM 崩溃。 **推荐**: - 独占 GPU 的裸机:0.9~0.95(0.95 已是较激进上限)。 - 与其他进程共享 GPU:设更低,给别的进程留空间。 - 设得越高,KV 池越大、能容纳的并发越多,但 OOM 风险和抢占也可能变化,需压测验证。
讨论区(0)
还没有评论,来做第一个发言的人吧