Optimum-NVIDIA 发布说明

Hugging Face 推出了 Optimum-NVIDIA,这是一款旨在显著加速 NVIDIA 硬件上大语言模型(LLM)推理的推理库。通过集成 NVIDIA TensorRT-LLM 软件并支持 float8(FP8)格式,该库使用户能够在几乎不修改代码的情况下实现最高 28 倍的吞吐量提升和每秒 1,200 个 token 的速度。

技术基础:FP8 与 TensorRT-LLM

Optimum-NVIDIA 是首个利用 float8 格式的 Hugging Face 推理库,该格式在 NVIDIA Ada Lovelace 和 Hopper 架构上受支持。该格式结合 NVIDIA TensorRT-LLM 的高级编译能力,能够显著降低计算开销并提升推理速度。

用户可以通过单个标志 (use_fp8=True) 启用 FP8 量化。这使得在单个 GPU 上以更高速度部署更大的模型成为可能,且不会牺牲精度。库默认使用预定义的校准策略,用户也可以提供自定义校准数据集和分词方式,以针对特定使用场景优化量化。

性能基准

性能通过两个主要指标进行衡量:首 token 延迟(First Token Latency)和吞吐量(Throughput)。

首 Token 延迟

首 Token 延迟(或首次 token 时间/预填充延迟)决定模型的响应速度。与原生 Hugging Face transformers 相比,Optimum-NVIDIA 提供最高 3.3 倍的首 Token 延迟加速。

吞吐量

吞吐量衡量 token 生成的速度,尤其是在批量生成时。其计算方式为端到端延迟除以总序列长度(所有批次的输入和输出 token 总和),Optimum-NVIDIA 的吞吐量最高可比原生 transformers 提升 28 倍。

在 NVIDIA H200 Tensor Core GPU 上的初步评估显示,与 NVIDIA H100 Tensor Core GPU 相比,LLaMA 模型的吞吐量可额外提升至 2 倍。

实现与 API

Optimum-NVIDIA 旨在与 Hugging Face 生态系统实现即插即用的兼容性。用户只需修改一行代码,即可从标准的 transformers 库迁移到 optimum-nvidia

  • Pipeline API:用户可以将 from transformers.pipelines import pipeline 替换为 from optimum.nvidia.pipelines import pipeline,并设置 use_fp8=True 以启用加速。
  • Model API:若需对采样参数进行细粒度控制,用户可以将 from transformers import AutoModelForCausalLM 替换为 from optimum.nvidia import AutoModelForCausalLM

模型支持与路线图

目前,Optimum-NVIDIA 为 LLaMAForCausalLM 架构和任务提供最佳性能。这意味着所有基于 LLaMA 的模型,包括微调版本,均可开箱即用。

库的未来更新将包括:

  • 扩展对其他文本生成模型架构和任务的支持。
  • 集成 In-Flight Batching,以在提示流式传输期间提升吞吐量。
  • 支持 INT4 量化,使单个 GPU 上能够运行更大的模型。

Sources