显存使用较高时优先调整-gpu-memory-utilization和-block-size 多GPU环境严格保证tensor-parallel-size与GPU数量一致 高安全场景必须设置-api-key和-allowed-origins白名单 性能关键控制点: CPU换页大小 (swap-space) 与批处理容量 (max-num-seqs) 的平衡 权重量化 (quantization) 和KV缓存量化 (kv-cache-dtype) 的组合选择 Token块大小 (block-size) 对内存利用率和吞吐量的影响
vllm会预先分配显存,默认值是0.9,这和输入的batch size大小无关。 gpu_memory_utilization设置越大,可占用显存越大,就有更多显存可用于 KV 缓存,推理速度也会越快。在显存足够的情况下,gpu_memory_utilization可以设置为0.95。 max_num_seqs 一次推理最多能处理的sequences数量,默认值是256。 max_num_seqs越大,...
说明:指定 GPU 内存利用率,值为 0-1 的小数。 默认值:0.9 示例: --gpu-memory-utilization 0.8 1. --max-model-len 说明:模型的最大上下文长度(序列长度)。 示例: --max-model-len 16384 1. --max-num-batched-tokens 说明:每批次处理的最大 token 数量。适用于优化吞吐量。 示例: --max-num-batc...
0.1.0 -m vllm.entrypoints.openai.api_server \ --port=$port \ --host=0.0.0.0 \ --model=NumbersStation/nsql-llama-2-7B \ --seed 1234 \ --trust-remote-code \ --max-num-batched-tokens $tokens \ --gpu-memory-utilization 0.6 \ --max-model-len=$tokens \ --download-dir=/...
# max_model_len: 模型上下文长度的最大值 # dtype: 模型权重和激活的数据类型 "half" 表示使用 FP16 精度,可以减少内存占用,加快推理速度 # gpu_memory_utilization: vllm 引擎使用的 GPU 内存比例0.7 表示使用 70% 的 GPU 内存 # trust_remote_code: 是否信任远程代码对于某些模型,需要设置为 True ...
num_lookahead_slots=0, seed=0, swap_space=4, cpu_offload_gb=0, gpu_memory_utilization=0.25, num_gpu_blocks_override=None, max_num_batched_tokens=None, max_num_seqs=256, max_logprobs=20, disable_log_stats=False, quantization=None, rope_scaling=None, rope_theta=None, hf_overrides=None...
run the model in eager mode,set'enforce_eager=True' or use '--enforce-eager'in the CLI.If out-of-memory error occurs during cudagraph capture, consider decreasing `gpu_memory_utilization` or switching to eager mode.You can also reduce the `max_num_seqs` as needed to decrease memory ...
[--num-lookahead-slots NUM_LOOKAHEAD_SLOTS][--seed SEED][--swap-space SWAP_SPACE][--gpu-memory-utilization GPU_MEMORY_UTILIZATION][--num-gpu-blocks-override NUM_GPU_BLOCKS_OVERRIDE][--max-num-batched-tokens MAX_NUM_BATCHED_TOKENS][--max-num-seqs MAX_NUM_SEQS][--max-logprobs MAX_...
num_gpu_blocks = int( (total_gpu_memory * gpu_memory_utilization - peak_memory) // cache_block_size):gpu_memory_utilization: 默认值是 0.9,表示 GPU 内存利用率是 90%,这挺高的了。所以最终的可用 GPU block 数量等于剩余 GPU 内存大小除以每个 block 的大小...
(total_gpu_memory * gpu_memory_utilization - peak_memory) // cache_block_size) num_cpu_blocks = int(cpu_swap_space // cache_block_size) num_gpu_blocks = max(num_gpu_blocks, 0) num_cpu_blocks = max(num_cpu_blocks, 0) if self.model_runner.lora_manager: self.model_runner.remove_...