大語言模型(LLM)提供異常強大的新功能,拓展了 AI 的應用領域。但由于其龐大的規模和獨特的執行特性,很難找到經濟高效的使用方式。
NVIDIA 一直在與 Meta、Anyscale、Cohere、Deci、Grammarly、Mistral AI、MosaicML(現已并入 Databricks)、OctoML、ServiceNow、Tabnine、Together AI 和 Uber 等頭部企業密切合作,共同加速和優化 LLM 推理性能。
這些創新已被集成到開源的 NVIDIA TensorRT-LLM 軟件中,可用于 Ampere、Lovelace 和 Hopper 架構 GPU,并將在未來幾周內發布。TensorRT-LLM 包含 TensorRT 深度學習編譯器,并且帶有經過優化的內核、前處理和后處理步驟,以及多 GPU/多節點通信原語,可在 NVIDIA GPU 上提供出類拔萃的性能。它使開發人員能夠嘗試新的 LLM,提供最頂尖的性能和快速自定義功能,而且不需要開發人員具備深厚的 C++ 或 NVIDIA CUDA 知識。
TensorRT-LLM 通過一個開源的模塊化 Python 應用編程接口(API)提高易用性和可擴展性,可隨 LLM 的發展定義、優化和執行新的架構和增強功能,并且可以輕松地進行自定義。
例如,MosaicML 在 TensorRT-LLM 的基礎上無縫添加了所需的特定功能,并將這些功能集成到推理服務中。Databricks 工程副總裁 Naveen Rao 就曾提到:“這已成為相當輕而易舉的事情。”
Rao 表示:“TensorRT-LLM 簡單易用,具有通證傳輸、in-flight 批處理、分頁關注、量化等豐富功能,而且效率很高。它為使用 NVIDIA GPU 的 LLM 服務提供了領先的性能,并使我們能夠將節省的成本回饋給我們的客戶。”
性能比較
文章摘要僅僅是 LLM 眾多應用之一。以下基準測試顯示了 TensorRT-LLM 為最新 NVIDIA Hopper 架構帶來的性能提升。
下圖比較了 NVIDIA A100 與 NVIDIA H100 運行 CNN/Daily Mai(著名的摘要性能評估數據集)時的文章摘要性能。

在圖 1 中,僅 H100 就比 A100 快 4 倍。在加入 TensorRT-LLM 及 in-flight 批處理等優勢功能后,總體性能提高了 8 倍,實現了最高吞吐量。
圖表腳注… 文本摘要,I/O 長度可變,CNN/Daily Mail 數據集 | A100 FP16 PyTorch eager 模式 | H100 FP8 | H100 FP8,in-flight 批處理,TensorRT-LLM
圖 1. A100 與 H100(使用 TensorRT-LLM 和不使用 TensorRT-LLM 時)運行 GPT-J-6B 時的性能比較
替代文本:此柱狀圖顯示了 A100 和 H100 在使用和不使用 TensorRT-LLM 時的 GPT-J 性能比較。
TensorRT-LLM 為 Llama 2(近期由 Meta 發布的一個流行的語言模型,被想要采用生成式 AI 的企業機構廣泛使用)帶來的推理性能比 A100 GPU 高出 4.6 倍。

圖表腳注… 文本摘要,可變 I/O 長度,CNN/Daily Mail 數據集 | A100 FP16 PyTorch eager 模式 | H100 FP8 | H100 FP8,in-flight 批處理,TensorRT-LLM
圖2. A100 與 H100(使用和不使用 TensorRT-LLM)運行 Llama 2 70B 模型時的性能對比
替代文本:此柱狀圖顯示了 A100 和 H100 在使用和不使用 TensorRT-LLM 時的 Llama 2 70B 模型性能比較。
總體擁有成本與能效提升
最小化數據中心的總擁有成本(TCO)和能源消耗是采用人工智能的客戶的關鍵目標,尤其是考慮到計算需求的爆炸式增長,LLM 更是如此。涉及到人工智能平臺支出時,客戶并不僅僅關注單個服務器的成本。相反,他們必須考慮總資本和運營成本。
資本成本包括 GPU 服務器、管理頭節點(協調所有 GPU 服務器的 CPU 服務器)、網絡設備(網絡架構、以太網和布線)和存儲的成本。運營成本包括數據中心的 IT 人員和軟件、設備維護以及數據中心租金和電費。從數據中心實際成本的整體層面來看,性能的大幅提升降低了設備和維護要求,從而節省了大量資本和運營費用。
以下圖表顯示,與 A100 基準相比,GPT-J-6B 等小語言模型的性能提升 8 倍,總擁有成本降低 5.3 倍,能耗(節省電費)降低 5.6 倍:

圖 3. 相比 A100 與使用 TensorRT-LLM 的 H100 運行 GPT-J-6B 模型,所顯示的總體擁有成本和能源成本效益。
替代文本:此柱狀圖顯示了 A100 和 H100 總擁有成本和能源效益之間的 GPT-J-6B 模型性能比較。
同樣,在最先進的 LLM(如 Llama2)上,即使有 700 億個參數,與 A100 基準相比,客戶也能將性能提高 4.6 倍,從而將總體擁有成本降低 3 倍,能耗降低 3.2 倍:

圖 4. 相比 A100 與使用 TensorRT-LLM 的 H100 運行 Llama 2 70B 模型的 TCO 和能源成本效益比較。
替代文本:此柱狀圖顯示了運行 Llama 2 70B 模型的A100 和 H100 總擁有成本和能源效益之間的性能比較。
除上述總體擁有成本外,與軟件開發相關的大量人力成本也很容易超過基礎設施本身的成本。NVIDIA 在 TensorRT、TensortRT-LLM、Triton 推理服務器和 NeMo 框架方面的投資為開發人員節省了大量時間,并縮短了產品上市時間。客戶需要將這些人工成本考慮在內,以了解其 AI 總支出的真實情況——人工成本很容易超過資本和運營成本。
LLM 生態飛速擴張
該生態正在快速創新,開發各種各樣的新模型架構。更大的模型解鎖了新的功能和用例。一些最大、最先進的語言模型,比如 Meta 的 700 億參數 Llama 2 等需要多個 GPU 協同工作才能作出實時回復。以前,開發人員如果想要獲得 LLM 推理的最佳性能,必須重寫并手動將 AI 模型分割成多個片段,然后協調各個 GPU 之間的執行。
TensorRT-LLM 使用的張量并行是一種將各個權重矩陣分割到不同設備上的模型并行模式,可實現大規模的高效率推理,每個模型在通過 NVLink 連接的多個 GPU 以及多個服務器上并行運行,無需開發人員干預或更改模型。
隨著新模型和模型架構的推出,開發人員可以使用 TensorRT-LLM 中的最新 NVIDIA 開源 AI 內核優化他們的模型。支持的內核融合包括用于 GPT 模型執行中的上下文和生成階段的最新版本 FlashAttention 和掩碼多頭注意力機制等等。
此外,TensorRT-LLM 還內置許多目前被廣泛用于生產的 LLM,而且提供的是經過全面優化且可直接運行的版本,包括 Meta Llama 2、OpenAI GPT-2 和 GPT-3、Falcon、Mosaic MPT、BLOOM 以及其他十幾種 LLM,所有這些都可以通過簡單易用的 TensorRT-LLM Python API 實現。
這些功能幫助開發人員更加快速、精準地創建自定義 LLM,滿足幾乎所有行業的需求。
In-flight 批處理
當今的大語言模型用途極為廣泛。一個模型可以同時用于多種看起來截然不同的任務。從使用聊天機器人簡單回答問題,到文檔摘要或生成長代碼,工作負載十分多變,輸出結果的大小會相差幾個數量級。
這種多變性會導致難以有效批量處理和并行執行請求(一項常見的神經網絡優化措施),而這可能導致某些請求比其他請求更早完成。
為了應對這些多變的負載,TensorRT-LLM 采用了一種稱為“in-flight 處理”的優化調度技術,充分利用了 LLM 的整個文本生成過程可以分割成模型的多個執行迭代這一特點。
通過 in-flight 批處理,TensorRT-LLM 運行時不會等待整個批處理完成后再繼續處理下一組請求,而是會立即驅逐批中已完成的序列。然后,它會在其他請求仍在傳輸時就開始執行新的請求。在 H100 Tensor Core GPU 上進行的實際 LLM 請求基準測試中,in-flight 批處理和增加的內核級優化措施不僅提高了 GPU 的使用率,還使吞吐量至少提高了一倍,幫助降低能源成本,最小化總體擁有成本。
使用 FP8 格式的 H100 Transformer 引擎
LLM 包含數十億個模型權值和激活值,通常使用 16 位浮點(FP16 或 BF16)值進行訓練和表示,每個值占用 16 位內存。但在推理時,大多數模型都可以通過現代量化技術,以較低的精度有效表示,比如 8 位甚至 4 位整數(INT8 或 INT4)。
量化是在不影響準確性的前提下,降低模型權值和激活值精度的過程。使用更低的精度意味著每個參數都更小,因此模型在 GPU 內存中占用的空間也就更小。這樣就能在相同的硬件條件下實現更大模型上的推理,同時在執行過程中減少內存運行時間。
帶有 TensorRT-LLM 的 NVIDIA H100 GPU 使用戶能夠輕松地將模型權值轉換成新的 FP8 格式,并通過編譯模型自動利用經過優化的 FP8 內核。這都是通過 Hopper Transformer 引擎技術實現的,不需要更改任何模型代碼。
H100 引入的 FP8 數據格式使開發人員能夠量化模型,并在不降低模型準確性的前提下大幅減少內存消耗。與 INT8 或 INT4 等其他數據格式相比,FP8 量化在保持更高準確性的同時,實現了最快的性能并提供了最簡單的實現方式。
總結
LLM 的發展日新月異。每天都有不同的模型架構被開發出來,促進生態的不斷發展。而更大的模型又會解鎖新的功能和用例,推動各行各業的采用。
LLM 推理正在重塑數據中心。更強大的性能與更高的準確性優化了企業的總體擁有成本。模型創新提升了客戶體驗,進而提高收入和盈利。
在規劃推理部署項目時,除了要使用最先進的 LLM 實現最高性能之外,還需要考慮許多其他因素。優化很少自動產生,用戶必須考慮并行性、端到端流程和高級調度技術等微調因素,并且還需要一個在不降低準確性的前提下處理混合精度的計算平臺。
TensorRT-LLM 將 TensorRT 的深度學習編譯器、經過優化的內核、前處理和后處理以及多 GPU/多節點通信囊括到一個簡單的開源 Python API 中,可定義、優化和執行用于生產級推理的 LLM。
開始使用 TensorRT-LLM
NVIDIA TensorRT-LLM 現已推出搶先體驗版本,很快就將集成到 NVIDIA NeMo 框架中,該框架是 NVIDIA AI Enterprise 這一兼具安全性、穩定性、可管理性和支持性的企業級 AI 軟件平臺的一部分。開發人員和研究人員可以通過 NGC 上的 NeMo 框架或 GitHub 上的源代碼庫接入 TensorRT-LLM。
請注意,您必須先在 NVIDIA 開發者計劃中注冊,才能申請使用搶先體驗版本。請使用貴司的電子郵件地址登錄。暫不接受使用 Gmail、Yahoo、QQ 或其他個人電子郵件帳戶提交的申請。
如欲申請,請填寫簡短的申請表并告知詳細用途。