第 4 章 环境变量
您可以使用环境变量来配置系统级别的安装、构建、记录 AI Inference Server 的行为。
VLLM_PORT
和 VLLM_HOST_IP
设置主机端口和 IP 地址,供 AI Inference Server 的内部使用。这不是 API 服务器的端口和 IP 地址。不要使用- host $VLLM_HOST_IP
和-- port $VLLM_PORT
来启动 API 服务器。
AI Inference 服务器使用的所有环境变量都以 VLLM_
前缀。如果您使用 Kubernetes,请不要命名服务 vllm
,否则 Kubernetes 设置的环境变量可能会与 AI Inference Server 环境变量冲突。这是因为 Kubernetes 为每个服务设置环境变量,使用大写服务名称作为前缀。如需更多信息,请参阅 Kubernetes 环境变量。
环境变量 | 描述 |
---|---|
|
支持 vLLM 的目标设备,支持 |
| 并行运行的最大编译作业数量。默认情况下,这是 CPU 数量。 |
|
nvcc 使用的线程数量。默认情况下,这是 1。如果设置, |
| 如果设置,AI Inference 服务器使用预编译的二进制文件(\*.so)。 |
| 是否强制在 Python 构建中使用 nightly wheel 进行测试。 |
| Cmake 构建类型。可用选项:"Debug", "Release", "RelWithDebInfo"。 |
| 如果设置,AI Inference 服务器在安装过程中打印详细日志。 |
| AI Inference 服务器配置文件的根目录。 |
| AI Inference 服务器缓存文件的根目录。 |
| 用于分布式环境来确定当前节点的 IP 地址。 |
| 用于分布式环境中的手动设置通信端口。 |
| 当 frontend API 服务器以多处理模式运行时,用于 IPC 的路径。 |
| 如果为 true,将从 ModelScope 而不是 Hugging Face Hub 加载模型。 |
| 环缓冲满时记录警告消息的时间间隔(以秒为单位)。 |
| cudatoolkit 主目录的路径,其应位于 bin、include 和 lib 目录下。 |
| NCCL 库文件的路径。由于 PyTorch 中的一个错误,对 NCCL >= 2.19 的版本需要。 |
|
当未设置 |
| 控制是否 wantAI Inference Server 使用 Triton Flash Attention 的标志。 |
| 强制 AI Inference 服务器使用特定的闪存版本(2 或 3),仅对闪存后端有效。 |
| 用于启用 Dynamo 完整捕获的内部标志。 |
| 分布式设置中进程的本地排名,用于确定 GPU 设备 ID。 |
| 用于控制分布式设置中的可见设备。 |
| 引擎中每个迭代的超时。 |
| AI Inference Server API 服务器的 API 密钥。 |
| S3 access key ID for tensorizer to load model from S3。 |
| S3 secret access key for tensorizer to load model from S3。 |
| 从 S3 加载模型的 S3 端点 URL,用于加载 S3 的模型。 |
| AI Inference Server usage stats server 的 URL。 |
| 如果为 true,则禁用使用统计的集合。 |
| 如果为 true,则禁用对 AI Inference Server usage stats 的跟踪。 |
| 使用统计集合的源。 |
| 如果设置为 1,AI Inference 服务器使用默认配置或指定的配置路径配置日志。 |
| 日志配置文件的路径。 |
| vLLM 的默认日志记录级别。 |
| 如果设置,AI Inference 服务器会将这个前缀添加到所有日志消息中。 |
| 用于自定义日志处理器的线程数。 |
| 如果设置为 1,AI Inference 服务器追踪调试的功能调用。 |
| 用于关注计算的后端,如 "TORCH_SDPA", "FLASH_ATTN", "XFORMERS")。 |
| 如果设置,AI Inference 服务器则使用 FlashInfer sampler。 |
| 强制 FlashInfer 使用十个内核;否则使用 heuristics。 |
| Pipeline 阶段分区策略。 |
| CPU 键值缓存空间(默认为 4GB)。 |
| OpenMP 线程绑定的 CPU 内核 ID。 |
| 是否在不支持的 CPU 上对 MoE 层使用 prepack。 |
| OpenVINO 设备选择(默认为 CPU)。 |
| OpenVINO 键值缓存空间(默认为 4GB)。 |
| OpenVINO KV 缓存的精度。 |
| 使用 HF Optimum 在模型导出期间启用权重压缩。 |
| 启用 Ray SPMD worker 以便在所有 worker 上执行。 |
| 使用 Ray 提供的编译 Graph API 来优化 control plane 开销。 |
| 在 Ray 提供的编译图形中启用 NCCL 通信。 |
| 在 Ray 提供的 Compiled Graph 中启用 GPU 通信重叠。 |
| 指定多进程 worker 的方法,如 "fork"。 |
| 用于存储下载资产的缓存路径。 |
| 在提供多模式模型时获取镜像的超时(默认为 5 秒)。 |
| 在提供多模式模型时获取视频的超时(默认为 30 秒)。 |
| 在提供多模式模型时获取音频的超时(默认为 10 秒)。 |
| 用于多模式输入缓存的缓存大小(默认为 8GiB)。 |
| XLA 持久缓存目录的路径(仅适用于 XLA 设备)。 |
| 如果设置,在每个执行步骤后,在 XLA 重新编译后。 |
| fused MoE 层的块大小(默认为 32768)。 |
| 如果为 true,则跳过弃用警告。 |
| 如果为 true,在引擎错误后保持 OpenAI API 服务器处于活动状态。 |
| 允许指定大于模型的默认长度的最大序列长度。 |
| 无论硬件支持如何,都强制 FP8 Marlin 进行 FP8 量化。 |
| 强制特定的负载格式。 |
| 从后端服务器获取响应的超时。 |
| 要载入的插件列表。 |
| 用于保存 Torch 配置集追踪的目录。 |
| 如果设置,则使用 AWQ 的 Triton 实施。 |
| 如果设置,允许在运行时更新 Lora 适配器。 |
| 跳过对等功能检查。 |
| 为性能比较禁用的量化内核列表。 |
| 如果设置,则使用 V1 代码路径。 |
| 对于 ROCm,平板的 FP8 权重为 256 字节。 |
| FP8 KV Cache 的动态查询缩放因子计算。 |
| FP8 KV Cache 的动态关键规模因子计算。 |
| FP8 KV Cache 的动态值扩展因素计算的 divisor。 |
| 如果设置,请在 LLM 中为 V1 代码路径启用多处理。 |
| 日志批处理大小的时间间隔。 |
|
如果设置,AI Inference 服务器以开发模式运行,为调试启用额外的端点,如 |
VLLM_V1_OUTPUT_PROC_CHUNK_SIZE | 控制在单个 asyncio 任务中处理的最大请求数,以在 V1 AsyncLLM 接口中处理每个令牌输出。它会影响高级用户流请求。 |
| 如果设置,AI Inference 服务器将禁用 MLA 关注优化。 |
|
如果设置,AI Inference 服务器使用 |
| Ray 中每个 worker 的 GPU 数。可以是一个部分,允许 Ray 在单个 GPU 上调度多个参与者。 |
| 指定用于每个 worker 的 Ray 捆绑包的索引。格式:以逗号分隔的整数列表(如 "0,1,2,3")。 |
|
指定 |
| 启用连续缓存获取,以避免在 Gaudi3 上进行昂贵的收集操作。仅适用于 HPU 连续缓存。 |
| 数据并行设置中的进程的排名。 |
| 数据并行设置全局大小。 |
| 数据并行设置中 master 节点的 IP 地址。 |
| 数据并行设置中 master 节点的端口。 |
| 是否使用 S3 路径使用 RunAI Streamer 在 CI 中进行模型加载。 |
| 是否在 gptq/awq marlin 内核中使用 atomicAdd。 |
| 是否打开 V0 的概述缓存。这个缓存是未绑定的,在磁盘上,对于具有恶意用户的环境会变得不安全。 |
| 如果设置,请禁用 top-k 和 top-p 抽样的特定于 TPU 的优化。 |