vllm offline pipeline v0.9.0 默认参数是怎么样的
我是部署InternVL3-78模型
同时升级到v1.0会有什么提升
vllm offline pipeline v0.9.0 默认参数是怎么样的
我是部署InternVL3-78模型
同时升级到v1.0会有什么提升
vLLM 离线推理(offline inference)默认参数主要由 LLM 类的构造参数决定,如 model、max_model_len、max_num_seqs 等,未指定时会采用模型自带或 vLLM 默认值。例如,max_model_len 默认为模型支持的最大长度,max_num_seqs 默认为 1,具体可参考官方文档和示例代码。对于 InternVL3-78B,建议根据显存适当设置 max_model_len 和 max_num_seqs。
从 v0.9.0 升级到 v1.0,vLLM V1 引入了统一调度器、KV cache 管理器等核心重构,提升了长上下文场景下的性能,并简化了配置,许多优化默认开启,减少了手动参数调整需求。具体提升包括更高性能、近零 CPU 开销和更易维护的架构,详见vLLM V1 用户指南。
需要更详细的参数说明或升级影响分析吗?
Sources:
升级到v1.0会有其他环境的版本冲突吗?是否有发生过这样的案例
目前官方文档和 issue 没有明确提到 vLLM v1.0 升级后与其他环境依赖(如 PyTorch、transformers 等)发生严重版本冲突的案例。vLLM 官方会在发布说明中列出兼容的依赖版本,建议严格按照推荐环境安装,避免冲突。
如遇到依赖冲突,常见原因多为 PyTorch、CUDA、transformers 版本不匹配,建议参考已知问题与环境建议。目前未见大规模因 v1.0 升级导致依赖冲突的公开案例。
需要具体依赖兼容性列表或实际冲突排查方法吗?
Sources:
同样的参数、模型、显卡,v1.0会比v0.9.0更快吗
vLLM v1.0 在长上下文和高并发场景下通常比 v0.9.0 更快,得益于统一调度器、KV cache 管理器等架构优化,且许多性能特性默认开启。但在部分模型或特定配置下,v1.0 也有用户反馈性能略低于 v0.9.0,具体表现与模型类型、推理参数和硬件环境有关,详见性能对比讨论和官方性能基准。
建议在自身业务场景下实际 benchmark,绝大多数情况下 v1.0 性能优于 v0.9.0,尤其是长文本和大批量推理。如果遇到性能下降,可参考 issue 讨论进行参数微调。
需要详细 benchmark 方法或调优建议吗?
Sources:
disable-custom-all-reduce
–dtype half
–max-model-len 32768
–trust-remote-code
–max-num-batched-tokens 65536
–max-num-seqs 128
–gpu-memory-utilization 0.95
–swap-space 0
–cpu-offload-gb 0
–block-size 32
–enable-chunked-prefill
–enable-prefix-caching
–max-seq-len-to-capture 8192
–limit-mm-per-prompt ‘{“image”: 1}’
–disable-log-requests
–disable-log-stats
–load-format auto
这些参数,默认都是怎么设置的
这些参数的默认值如下(如未手动指定):
需要更详细的参数解释或实际配置示例吗?
Sources:
–max-num-batched-tokens:未指定时,offline inference 默认 4096world_size,online serving 默认 2048world_size
–max-num-seqs:offline inference 默认 256world_size,online serving 默认 128world_size
这里面的4906 world_size是什么意思
–enable-chunked-prefill:
–enable-prefix-caching:
这两个参数,在v0.9.0的情况下是否会默认开启
world_size 指的是并行进程数,通常等于使用的 GPU 数量。例如 4 卡并行时,world_size=4。
–enable-chunked-prefill 和 –enable-prefix-caching 在 v0.9.0 下默认均为关闭,需手动指定才会开启,V1 版本才默认开启这两个特性。参数默认值说明 和 chunked prefill 机制说明。
需要详细解释 world_size 的作用或 chunked prefill、prefix caching 的原理吗?
Sources:
意思就是:
假设tp=8
–max-num-batched-tokens:未指定时,offline inference 默认 4096**8,online serving 默认 2048*8*
在vllm v0.9.0的情况下,offline pipeline
max-tokens默认是多少
我的理解是,在 vLLM v0.9.0 下,offline pipeline(即离线推理)模式下,max_tokens(最大生成 token 数)没有全局默认值,需在 SamplingParams 里为每次推理单独指定。如果未指定,通常会由模型 tokenizer 或 SamplingParams 的默认行为决定,但不是 vLLM 层面全局参数。相关文档和采样参数说明未显示有全局 max_tokens 默认值。
如果你指的是 max_num_batched_tokens(单批最大 token 数),offline inference 默认值为 4096 × world_size。官方说明。
需要更详细的参数说明或代码示例吗?
Sources:
以下是我在启动serve的参数
--served-model-name InternVL3-78B \
--port 6871 \
--host 0.0.0.0 \
--tensor-parallel-size 8 \
--distributed-executor-backend mp \
--disable-custom-all-reduce \
--dtype half \
--max-model-len 11000 \
--trust-remote-code \
--max-num-seqs 16 \
--gpu-memory-utilization 0.9 \
--swap-space 0 \
--cpu-offload-gb 0 \
--block-size 32 \
--enable-chunked-prefill \
--enable-prefix-caching \
--max-seq-len-to-capture 8192 \
--limit-mm-per-prompt '{"image": 1}' \
--disable-log-requests \
--disable-log-stats \
--load-format auto
我如果需要把serve转换成pipeline推理
我还需要设置哪几个参数,是否有部分不需要
将 serve 启动参数从在线服务(API server)转换为 pipeline 离线推理(offline pipeline inference),你只需保留与模型加载、并行度、显存等相关参数,去除 API server 专用参数(如 --port、–host、–served-model-name、–disable-log-requests、–disable-log-stats)。pipeline 离线推理无需 --port、–host、–served-model-name,也不需要日志相关参数。
核心参数建议保留:–model、–tensor-parallel-size、–distributed-executor-backend、–dtype、–max-model-len、–trust-remote-code、–max-num-seqs、–gpu-memory-utilization、–swap-space、–cpu-offload-gb、–block-size、–enable-chunked-prefill、–enable-prefix-caching、–max-seq-len-to-capture、–limit-mm-per-prompt、–load-format。具体可参考官方参数说明。
需要 pipeline 离线推理的具体命令模板或参数解释吗?
Sources: