新聞中心

TensorRT-LLM 低精度推論:FP8 與 INT8 的速度與精度比較 NEWS DETAIL

當前位置:首頁 > 新聞中心
資訊分類 · 新聞中心 作者 · 中科新遠內容團隊 審核人 · 中科新遠技術內容組 發佈時間 · 2025-01-13 更新時間 · 2026-07-22 來源 · 原頁面資料;原廠資訊待核驗
TensorRT-LLM 低精度推論:FP8 與 INT8 的速度與精度比較

若部署環境具備支援 FP8 的 NVIDIA Hopper 架構硬體,且目標是在 TensorRT-LLM 中兼顧低精度推論速度與模型精度,來源內容的測試結論傾向優先評估純 FP8 路徑。不過,FP8 與 INT8 的結果會受到 GPU、模型、序列長度、量化範圍、校準資料及 TensorRT-LLM 設定影響;文中數字與觀察應作為評估方向,而非所有專案都可直接套用的保證。

FP8 與 INT8 的核心差異

來源指出,Hopper 架構的 FP8 包含 E5M2 與 E4M3 兩種資料格式,而文中討論的 TensorRT-LLM 支援情境為 E4M3。對 Tensor Core 而言,FP8 相較 FP32 或 FP16 可降低輸入資料傳輸量,並可直接以 8 位元進行 GEMM 計算。推論圖中可量化的範圍包括 Transformer 內多個 GEMM、Multi-Head Attention 相關運算,以及 KV-cache。

INT8 並非單一配置。來源比較了 INT8 SmoothQuant、INT8 weight-only 搭配 FP16 KV-cache,以及 INT8 KV-cache 等方案。這些方案的實際效果取決於量化粒度與縮放參數;不能只因資料型別同為 8 位元,就預期其精度與延遲表現相同。

比較面向FP8INT8
文中主要定位支援 Hopper Tensor Core 的低精度 GEMM、FMHA 與 FP8 KV-cache 路徑可用於 SmoothQuant、weight-only 與 KV-cache 等不同量化配置
精度觀察文中純 FP8 方案較能維持所測模型精度部分 INT8 配置在文中評估中精度保持較弱
實作複雜度來源稱 per-tensor 量化參數即可處理部分 FP8 情境來源提及某些 INT8 路徑可能涉及 per-token 與 per-channel 設定
驗證必要性仍須以目標模型與工作負載校準、建置及測試同樣須逐一驗證量化範圍、KV-cache 和 Attention 設定

速度與精度:應如何解讀來源測試

來源以 MMLU 的 78 個子資料集進行精度評估,並比較 FP16 baseline、FP8 與多種 INT8 組合。其描述顯示,純 FP8 在所列比較中有較佳的精度保持;INT8 SmoothQuant,或 INT8 weight-only 搭配 INT8 KV-cache 的精度表現則未如純 FP8。效能部分,文中提到 FP8 相對 FP16 的加速比為 1.5 至 1.7 倍,且高於所測的其他低精度方式。

這些結果有明確邊界:來源未提供完整硬體型號、TensorRT-LLM 版本、批次設定、每項測試的完整數據表與可重現命令。因此,採購或架構決策不應將該加速比視為專案承諾。應在預定 GPU、模型版本、上下文長度、輸入分布與併發條件下,重跑端到端首 token 延遲、每 token 延遲、吞吐量、顯存使用量及任務品質測試。

Attention 與 KV-cache 的取捨

在 context phase,來源說明 Fused Multi-Head Attention(FMHA)中的 batch GEMM 可使用 FP8 Tensor Core;softmax 因涉及累加,仍需以較高精度處理。若 FMHA 後緊接 FP8 project GEMM,FP8 輸出可減少一次量化操作。文中指出,開啟 FP8 FMHA 的效益主要針對首 token,且在 Llama2 7B 的測試描述中,輸入序列愈長,效能增益愈明顯。

generation phase 的 Masked Multi-Head Attention(MMHA)則不同。來源認為其矩陣乘尺寸使該部分不屬於明顯的計算密集型工作,因此直接改用 FP8 的收益有限;較實際的優化點是以 FP8 KV-cache 降低記憶體占用。文中亦指出,在其 Hopper 觀察中,FP8 KV-cache 的轉換路徑比 INT8 KV-cache 較不易受 INT8 數值轉換管線限制。是否開啟 FP8 KV-cache,仍應以可接受的品質、長上下文顯存需求與實測延遲共同判定。

以 ModelOpt 建立可驗證的評估流程

來源將 NVIDIA TensorRT Model Optimizer 稱為 ModelOpt,並將 FP8 PTQ 流程概括為三步:先校準 PyTorch 模型,再產生 model_config 與權重檔,最後載入設定建立 TensorRT-LLM engine。量化校準會針對 activation 統計 A-max 並產生 Scaling Factor,不是單純把 FP16 資料直接轉型為 FP8。

  1. 定義候選方案:至少保留 FP16 baseline、純 FP8,以及與業務限制相關的 INT8 配置。
  2. 選用代表正式流量的校準資料,確認資料量、序列長度與輸入分布;來源提到 512 筆資料可作為其測試情境的參考,但不等於所有模型的充分校準量。
  3. 建置 engine 後,同時測量品質、首 token、生成階段延遲、吞吐量與 KV-cache 顯存占用。
  4. 發生輸出異常時,依來源建議註冊並輸出目標 tensor;GEMM 問題可檢查權重通道一致性,Attention 問題可檢查 plugin 參數。

FAQ

FP8 是否一定優於 INT8?

不一定。來源是在特定測試配置下觀察到純 FP8 有較佳的速度與精度平衡,並說明其與 Hopper 硬體及軟體實作有關。目標 GPU 是否支援 FP8、模型是否包含敏感層、INT8 使用何種量化方法,以及實際服務的序列長度,都可能改變結論。

只要加入 FP8 參數就可以直接上線嗎?

不宜直接上線。來源列出量化、產生 model_config、建立 engine 與 debug 的流程,但未提供適用於所有模型的完整命令、版本矩陣或品質門檻。部署前應查核對應日期的 NVIDIA 官方 TensorRT-LLM 與 ModelOpt 文件、完整 SKU/BOM 及相容性資訊,並完成專案測試。

結論

來源內容支持將 FP8 視為 Hopper 上 TensorRT-LLM 低精度推論的重要候選方案,尤其適合需要同時評估 GEMM、FMHA 與 KV-cache 的部署工作負載。INT8 仍可作為比較選項,但不應以單一位元寬度判斷優劣;以相同模型、校準資料、引擎設定與正式流量條件完成對照測試,才是選擇量化方案的依據。

圍繞「TensorRT-LLM 低精度推論:FP8 與 INT8 的速度與精度比較」繼續瞭解 採購與選型問答