跳到内容

支持的功能

本文档总结了 vLLM Intel® Gaudi® 硬件插件当前支持的功能,列出了计划在未来版本中发布的功能,并概述了已停用的功能及其弃用原因。

支持的功能

功能 描述 参考
离线批处理推理 支持使用 vLLM Python API 中的 LLM 类进行离线推理。 快速入门, 示例
通过 OpenAI 兼容服务器进行在线推理 支持通过实现 OpenAI Chat 和 Completions API 的 HTTP 服务器进行在线推理。 文档, 示例
HPU 自动检测 在 vLLM 启动时,为 HPU 用户启用自动目标平台检测。 不适用
为 Intel® Gaudi® 加速器启用了算法的 Paged KV 缓存 提供了针对 Intel® Gaudi® 设备优化的自定义分页注意力(Paged Attention)和缓存运算符实现。 不适用
自定义 Intel® Gaudi® 运算符实现 提供了优化后的运算符实现,例如预填充注意力(prefill attention)、均方根层归一化(Root Mean Square Layer Normalization)和旋转位置编码(Rotary Positional Encoding)。 不适用
张量并行推理 支持通过张量并行和多进程进行多 HPU 推理。 文档, HCCL 参考
管道并行推理 支持通过管道并行进行多 HPU 推理。 文档, 运行管道并行
使用 HPU Graph 进行推理 通过使用 HPU Graph 减少主机开销,HPU Graph 提前记录执行图并在推理期间重放它们。 文档
使用 torch.compile 进行推理 支持使用 torch.compile 进行推理,这是 HPU 的默认设置。 vLLM HPU 后端执行模式
INC 量化 支持 FP8 模型、KV 缓存量化和使用 Intel Neural Compressor (INC) 进行校准。此功能与 torch.compile 执行模式不完全兼容。 文档
AutoAWQ 量化 支持使用 AutoAWQ 库量化的模型的推理。
AutoGPTQ 量化 支持使用 AutoGPTQ 库量化的模型的推理。
LoRA/MultiLoRA 支持 支持兼容模型上的 LoRA 和 MultiLoRA。 vLLM 支持的模型, 示例
完全异步模型执行器 允许模型运行器异步执行,并支持异步调度,重叠 CPU 操作(包括 prepare_inputs)和模型前向传播。它不支持推测性解码、PP 或引导式解码。预期速度提升为当前异步调度的 5-10%。 功能描述
自动前缀缓存 (APC) 提高预填充效率。此功能默认启用。 文档
推测性解码 (功能发布) 支持实验性推测性解码,这在某些情况下可以提高 token 之间的延迟。可以通过标准的 --speculative_model--num_speculative_tokens 参数配置此功能。此功能与 torch.compile 执行模式不完全兼容。 文档, 示例
多进程后端 vLLM 中的默认分布式运行时。 文档
多模态 支持多模态模型的推理。此功能与 t.compile 执行模式不完全兼容。 文档
引导式解码 支持引导式解码后端,用于生成结构化输出。 文档
指数分桶 支持指数分桶间隔而非线性间隔,自动化分桶机制的配置。此功能默认启用,可通过环境变量 VLLM_EXPONENTIAL_BUCKETING=false 禁用。 不适用
数据并行支持 将模型权重复制到多个实例或 GPU,以处理独立的请求批次。 文档, 示例

实验性功能

运行时比例缩放修补

由于量化模型层中不断变化的常量比例值会触发额外的图编译,FP8 模型的预热时间比 BF16 模型长得多。

您可以通过设置环境变量 RUNTIME_SCALE_PATCHING=1 并选择 INC JSON 配置 <json-options> 提供的硬件对齐的每张量 scale_method 来缩短 FP8 的预热时间。此功能推荐用于更大的模型,例如 70B 和 405B。当与 FP8 模型的 VLLM_EXPONENTIAL_BUCKETING 结合使用时,可以将预热时间缩短高达 90%。

注意

此功能可以缩短 FP8 的预热时间,但可能会降低模型吞吐量 5-20%。未来的版本将改进性能并扩展到更多选项。目前,该功能支持惰性模式 (PT_HPU_LAZY_MODE=1) 和 torch.compile。它支持使用 FP8 执行 Linear 和 FSDPA 层以及在 BF16 和 FP8 之间进行类型转换的 Llama 工作负载。MoE 和卷积选项尚不支持。

琐碎比例优化

PT_HPU_H2D_TRIVIAL_SCALES_MODE 标志控制在 RUNTIME_SCALE_PATCHING 模式下对琐碎比例(例如等于 1.0 的比例值)的优化。启用此优化可能会增加预热和编译时间,因为会生成额外的图,但通过减少乘法运算的数量可能会提高运行时性能。

支持以下值

  • 0:无优化 (默认)。
  • 1:在 cast_to_fp8_v2cast_from_fp8 中移除比例等于 1.0 的值,从而禁用相应的 mult_fwd (乘法) 节点。
  • 2:应用与模式 1 相同的优化,并额外移除 fp8_gemm_v2 中的倒数比例。

计划中的功能

未来的插件版本计划支持以下 vLLM 功能

  • 滑动窗口注意力
  • P/D 分离支持
  • 原地权重更新
  • 带统一注意力的 MLA
  • 多节点支持

已停用的功能

功能 描述 原因
多步调度 支持多步调度以减少主机开销。 已被异步调度取代,可通过 --async_scheduling 参数配置。
延迟采样 支持为异步执行进行延迟采样调度。 已被异步调度取代,可通过 --async_scheduling 参数配置。