What is TensorRT?

    NVIDIA 的高效能深度學習推論優化器和執行時。

    Definition

    TensorRT 是 NVIDIA 的專有 SDK,用於優化和部署深度學習模型以在 NVIDIA GPU 上進行推論。它接收來自 PyTorch 或 TensorFlow 等框架的訓練模型,應用針對硬體的激進優化——包括層融合、精度校準、核心自動調優和記憶體優化——並產生從 NVIDIA 硬體中提取最大效能的高度優化推論引擎。

    對於 LLM 推論,TensorRT-LLM 是 NVIDIA 的專業擴展,添加了 Transformer 特定的優化。這些包括 flash attention 實作、動態批次處理(在其他請求仍在生成時處理新請求)、KV 快取管理、跨多個 GPU 的張量並行,以及用於注意力和前饋層的自訂 CUDA 核心。TensorRT-LLM 可以在相同硬體上為相同模型提供比標準推論框架高 2-5 倍的吞吐量。

    TensorRT 在不同於框架層級推論的層級運作。PyTorch 使用其急切執行模型逐一執行操作,而 TensorRT 分析整個計算圖、識別優化機會,並將圖編譯為針對特定 GPU 架構量身定制的整體執行計劃。這種整圖優化方法是 TensorRT 能夠實現如此顯著效能提升的原因——它消除了更靈活執行模型固有的開銷。

    Why It Matters

    對於生產 LLM 服務,推論成本通常是主要支出。一個使用標準推論每秒生成 50 個 token 但使用 TensorRT 優化每秒生成 200 個 token 的模型代表了每 token 服務成本的 4 倍降低。在大規模下,這轉化為每年數十萬美元的 GPU 節省。

    TensorRT 對於即時聊天、程式碼完成和語音助手等延遲敏感的應用尤其重要,使用者期望亞秒級的回應時間。優化核心、高效的記憶體管理和硬體特定調優的結合使 TensorRT 能夠實現通用推論框架不可能達到的延遲。

    How It Works

    TensorRT 優化遵循多階段管線。首先,模型從其原始格式(ONNX、PyTorch 或 TensorFlow)解析為 TensorRT 的內部圖表示。接下來,圖優化通道融合相容的相鄰操作——例如將卷積、偏差加法和啟用合併為單一核心啟動,消除中間記憶體分配和核心啟動開銷。

    然後精度校準確定每一層的最佳精度。TensorRT 可以在單一模型中混合 FP32、FP16 和 INT8 精度,在準確度關鍵的地方使用較高精度,在不關鍵的地方使用較低精度。最後,核心自動調優透過基準測試多種實作並選擇獲勝者來為目標 GPU 架構上的每個操作選擇最快的 CUDA 核心實作。結果是針對特定 GPU 型號優化的序列化引擎檔案。

    Example Use Case

    一家 SaaS 公司在 8 張 A100 GPU 上向數千個並行使用者提供 7B 參數模型。使用標準 vLLM 服務,他們實現每秒 800 個 token 的聚合吞吐量。經過 TensorRT-LLM 優化(FP8 精度、動態批次處理和張量並行)後,吞吐量增加到每秒 2,400 個 token——在不增加額外硬體的情況下將服務能力提高了三倍,每 token 成本降低了 67%。

    Key Takeaways

    • TensorRT 是 NVIDIA 的推論優化器,在 NVIDIA GPU 上最大化吞吐量。
    • TensorRT-LLM 添加了 Transformer 特定的優化,如 flash attention 和動態批次處理。
    • 它透過整圖優化實現比標準推論框架高 2-5 倍的吞吐量。
    • 混合精度支援和核心自動調優從特定 GPU 架構中提取最大效能。
    • 效能提升直接轉化為大規模下降低的每 token 推論成本。

    How Ertas Helps

    在 Ertas Studio 中微調的模型可以匯出為與 TensorRT-LLM 相容的格式以進行生產部署,使團隊能夠在本地微調並在 NVIDIA 基礎設施上以最大推論效能進行部署。

    Related Resources

    Ship AI that runs on your users' devices.

    Early bird pricing starts at $14.50/mo — locked in for life. Plans for builders and agencies.