六年前,我們踏上了開發 AI 推理服務解決方案的旅程,該解決方案專為高吞吐量和時間敏感型生產用例而設計。當時,ML 開發者正在部署定制的、框架特定的 AI 解決方案,這推高了他們的運營成本,并且無法滿足其延遲和吞吐量服務級別協議。
我們很早就決定構建一個多功能的開源服務器,能夠服務于任何模型,不管其AI后端框架如何。
今天,NVIDIA Triton Inference Server 是 NVIDIA 最受歡迎的開源項目之一,被一些世界領先的組織用于在生產環境中部署 AI 模型,包括 Amazon、Microsoft、Oracle Cloud、American Express、Snap、Docusign 等。
我們很高興地宣布,NVIDIA Triton 在配備 8 個 H200 GPU 的系統上運行,實現了一個重要的里程碑,與 MLPerf Inference v4.1 中的 Llama 2 70B 基準測試中的 NVIDIA 裸機提交相比,實現了幾乎相同的性能。這表明企業不再需要在功能豐富的生產級 AI 推理服務器和峰值吞吐量性能之間做出選擇,他們可以通過 NVIDIA Triton 同時實現這兩種性能。
本文將探討推動其快速采用的 NVIDIA Triton 主要功能,并提供我們 MLPerf Inference v4.1 結果的詳細見解。
NVIDIA Triton 的主要特性
NVIDIA Triton 是一個開源 AI 模型服務平臺,可簡化并加速生產中 AI 推理工作負載的部署,它幫助 ML 開發者和研究人員降低模型服務基礎設施的復雜性,縮短部署新 AI 模型所需的時間,并提高 AI 推理和預測能力。
NVIDIA Triton 的主要功能包括:
- 通用 AI 框架支持
- 無縫云集成
- 業務邏輯腳本
- 模型集成
- 模型分析器
通用 AI 框架支持
當 NVIDIA Triton 于 2016 年推出時,最初支持 NVIDIA TensorRT 后端,這是一個開源框架,用于在 NVIDIA GPU 上運行高性能 AI 模型。自那時起,它已將支持范圍擴大到包括 CPU,并涵蓋所有主要框架:
- TensorFlow
- PyTorch
- ONNX
- OpenVINO
- Python
- RAPIDS FIL
- TensorRT-LLM
- vLLM
如今,在生產環境中使用 NVIDIA Triton 的開發者使用它來加速 AI 應用程序的上市時間。您無需為每個新用例部署新的 AI 框架特定服務器,而是可以將新模型無縫加載到現有的 NVIDIA Triton 生產實例中,而不管其后端框架如何。這項功能將新用例的上市時間從幾個月縮短到僅僅幾分鐘。
NVIDIA Triton 還使您無需對多個 AI 框架特定的推理服務器進行修補、保護和維護,從而簡化操作,這種開銷的減少可提高效率,使您能夠更專注于 AI 創新,而不是維護任務。
無縫云集成
我們與每個主要云服務提供商密切合作,確保NVIDIA Triton可以在云端無縫部署,且無需或僅需少量代碼:
無論您使用什么,NVIDIA Triton 都能與您的 IT 團隊經過認證和訓練的 AI 工具深度集成,這種集成可節省寶貴的設置時間、降低成本并提高開發者的工作效率。
例如,如果您使用 OCI 數據科學平臺,部署 NVIDIA Triton 就像在模型部署期間將 Triton
作為環境變量傳入命令行參數一樣簡單,從而立即啟動 NVIDIA Triton 推理端點。
同樣,借助 Azure ML CLI,您可以通過將 triton_model
添加到 YAML 部署配置文件來部署 NVIDIA Triton。
GCP 通過其 GKE 管理的集群提供一鍵式部署選項,而 AWS 則在其 AWS 深度學習容器上提供 NVIDIA Triton。
NVIDIA Triton 還使用 KServe 等熱門服務協議,確保其自動擴展,以滿足在 Kubernetes 集群中用戶不斷發展的需求。
如果您的組織已對任何主要的CSP MLOps工具進行標準化,您會發現一種無代碼或低代碼部署方法,可以在您喜歡的云上部署NVIDIA Triton。
業務邏輯腳本
認識到組織需要將自定義邏輯和腳本整合到其 AI 工作負載中,以區分其用例并根據最終用戶進行定制,我們引入了業務邏輯腳本(Business Logic Scripting,BLS)。此實用程序函數集合使您能夠將自定義 Python 或 C++ 代碼無縫集成到生產流程中。
SNAP 等公司已使用腳本將工作負載從筆記本電腦無縫過渡到生產環境。
模型集成
針對在生產中運行集成 AI 流程而非獨立模型的用戶的反饋,我們開發了 Model Ensembles。這款無代碼開發工具使企業能夠毫不費力地將預處理和后處理工作流程連接到一致的流程中,而無需編程。
您可以選擇在 CPU 上運行預處理和后處理步驟,在 GPU 上運行 AI 模型,以優化基礎設施成本,也可以選擇在 GPU 上運行整個流程,以實現超低延遲應用程序。
模型分析器
作為 NVIDIA Triton 的一項突出功能,Model Analyzer 通過調整 GPU 上加載的并發模型的數量以及在推理運行期間批量處理的請求數量,使您能夠嘗試各種部署配置。然后,它可以在直觀的圖表上直觀地映射這些配置,從而有助于快速識別和部署用于生產的最高效設置。
對于部署 LLMs 的組織,我們推出了 GenA-Perf,這是一款新的生成式 AI 性能基準測試工具,專為提供生成式 AI 性能指標而設計,包括第一個令牌延遲和令牌到令牌延遲。
MLPerf 4.1 下的出色吞吐量結果
在今年由 MLCommons 主持的 MLPerf Inf v4.1 基準測試中,我們展示了 NVIDIA Triton 在 TensorRT-LLM 優化的 Llama-v2-70B 模型上的性能。我們希望證明,企業可以使用 NVIDIA Triton 的先進生產級功能,而不會產生通常與推理服務平臺相關的高延遲和吞吐量開銷。
在我們提交的作品中,NVIDIA Triton 的性能與我們提交的不使用 NVIDIA Triton(bare metal)的作品幾乎相同。這表明企業不再需要在功能豐富的生產級 AI 推理服務器和峰值吞吐量性能之間進行權衡和選擇。正如 MLPerf v4.1 中的出色性能所示,他們可以同時使用 NVIDIA Triton 完成這兩個任務。

MLPerf Inference v4.1 已關閉,數據中心。檢索結果的網址為 www.mlperf.org,日期為 2024 年 8 月 28 日。所有結果均使用八個 GPU 并檢索自以下條目:4.1-0048、4.1-0050。MLPerf 名稱和徽標均為 MLCommons Association 在美國和其他國家地區的注冊商標和未注冊商標。保留所有權利。嚴禁未經授權使用。有關更多信息,請參閱 www.mlcommons.org。
MLPerf 基準測試提交詳細信息
我們提交了工作,其中包括以下場景:
- 離線:工作負載的所有輸入將作為單個批量一次性傳遞給推理服務系統。
- 服務器:輸入請求以離散方式發送到推理服務系統,以模擬真實的生產部署。這一情況更具挑戰性,因為它對第一個令牌延遲和令牌間延遲實施了嚴格的限制,對推理系統的響應速度和速度提出了嚴格的期望。
基準測試的 NVIDIA Triton 實現包括客戶端和服務器。對于客戶端,我們使用 NVIDIA Triton gRPC 客戶端與 NVIDIA Triton 服務器實例和基準測試的負載生成器進行通信。這使得 LLM 推理服務器中的 Python 接口簡單易讀。
對于服務器,我們使用 NVIDIA Triton 推理服務器提供一個 gRPC 端點,以便與 TensorRT-LLM 進行交互,并與 TensorRT-LLM 后端松散耦合。服務器與 TensorRT-LLM 版本無關,因為實現細節被抽象到后端以提供峰值性能。
對于 v4.1 回合,我們提交了基準測試的 NVIDIA Triton 實現,該實現在封閉分割下進行,這意味著客戶端和服務器都在同一節點上運行,通過回環接口進行通信。此實現可以輕松擴展到多節點場景,客戶端在與服務器不同的節點上運行,并使用 gRPC 相互通信。
NVIDIA Triton 也支持一種可用于生成式 AI 工作負載的 HTTP 通信選項。
下一次線下用戶見面會
雖然我們對目前取得的成就感到興奮,但NVIDIA Triton之旅仍在繼續。
為了促進持續的開源創新,我們很高興地宣布,下一次 NVIDIA Triton 用戶見面會將于 2024 年 9 月 9 日在舊金山的 Fort Mason 藝術文化中心舉行,屆時我們將分享新的 LLM 功能,共同展望未來。立即注冊參加 NVIDIA Triton 見面會。
我們期待在 NVIDIA Triton 之旅的下一階段與您相見。
?