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 延遲與吞吐量。

首 Token 延遲

首 Token 延遲(亦稱首 token 時間/預填延遲)決定模型的回應速度。相較於原生 Hugging Face transformers,Optimum-NVIDIA 可提供最高 3.3 倍更快的首 Token 延遲。

吞吐量

吞吐量衡量 token 產生的速度,特別是在批次生成時。其計算方式為端到端延遲除以總序列長度(所有批次的輸入與輸出 token 總和),Optimum-NVIDIA 的吞吐量最高可比原生 transformers 提升 28 倍。

在 NVIDIA H200 Tensor Core GPU 上的初步評估顯示,對於 LLaMA 模型而言,其吞吐量較 NVIDIA H100 Tensor Core GPU 可額外提升最高 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