在使用vLLM引擎时,我们可以通过一系列丰富的参数进行细致的配置以优化模型性能和资源利用。以下是对每个关键引擎参数的详细解释:
-
--model <model_name_or_path>:指定要使用的HuggingFace模型的名称或路径。 -
--tokenizer <tokenizer_name_or_path>:设置所使用的HuggingFace分词器的名称或路径。 -
--revision <revision>:选择特定的模型版本,可以是分支名、标签名或提交ID。如果不指定,则默认使用最新版本。 -
--tokenizer-revision <revision>:指定特定的分词器版本,同样支持分支名、标签名或提交ID,默认使用默认版本。 -
--tokenizer-mode {auto,slow}:设置分词器模式。“auto”模式会优先选用快速分词器(若可用),“slow”模式始终使用慢速分词器。 -
--trust-remote-code:信任来自HuggingFace的远程代码。 -
--download-dir <directory>:定义权重下载和加载的目录,默认为HuggingFace的默认缓存目录。 -
--load-format {auto,pt,safetensors,npcache,dummy}:设置模型权重加载格式。"auto"会尝试以safetensors格式加载并降级到PyTorch二进制格式;其他选项分别对应不同的加载方式,包括PyTorch二进制、safetensors格式、带有numpy缓存的PyTorch格式以及随机初始化权重(主要用于性能分析)。 -
--dtype {auto,half,float16,bfloat16,float,float32}:设定模型权重和激活的数据类型。“auto”会根据模型类型自动选择精度;其他选项则对应不同的浮点数精度。 -
--max-model-len <length>:模型上下文长度,未指定时将根据模型配置自动确定。 -
--worker-use-ray:使用Ray进行分布式服务,当使用超过1个GPU时会自动启用。 -
--pipeline-parallel-size (-pp) <size>:管道并行阶段的数量。 -
--tensor-parallel-size (-tp) <size>:张量并行副本的数量。 -
--max-parallel-loading-workers <workers>:通过分批次加载模型以避免在使用张量并行和大型模型时出现内存溢出问题。 -
--block-size {8,16,32}:连续令牌块大小。 -
--enable-prefix-caching:开启自动前缀缓存功能。 -
--seed <seed>:用于操作的随机种子。 -
--swap-space <size>:每块GPU的CPU交换空间大小(以GiB计)。 -
--gpu-memory-utilization <fraction>:设置模型执行器使用的GPU内存比例,范围从0到1,如0.5表示使用50%的GPU内存。 -
--max-num-batched-tokens <tokens>:每迭代的最大批处理令牌数量。 -
--max-num-seqs <sequences>:每迭代的最大序列数量。 -
--max-paddings <paddings>:每批数据中的最大填充数量。 -
--disable-log-stats:禁用统计日志记录。 -
--quantization (-q) {awq,squeezellm,None}:指定权重量化的方法,可以选择自适应权重量化(AWQ)、SqueezeLLM或其他无量化方法。