Nvidia近日宣布推出一款名為TensorRT-LLM的新開源軟體套件,擴展了Nvidia GPU上大型語言模型優化的功能,並突破了部署之後人工智慧推理性能的極限。
生成式AI大語言模型因其令人印象深刻的功能而變得流行,而且擴大了人工智慧的可能性,被廣泛應用於眾多行業,讓用戶能夠通過聊天機器人「與數據對話」、總結大型文檔、編寫軟體代碼、以及發現理解資訊的新方法。
Nvidia公司超大規模和高性能計算副總裁Ian Buck表示:「大型語言模型推理變得越來越難。模型的複雜性不斷增加,模型變得越來越智能,也變得越來越大,這是很自然的,但當模型擴展到單個GPU之外並且必須在多個GPU上運行的時候,就成了一大難題。」
在人工智慧方面,推理是模型處理那些前所未見的新數據的一個過程,例如用於總結、生成代碼、提供建議或者回答問題,是大型語言模型的主力。
隨著模型生態系統的迅速擴展,模型也變得越來越大,功能越來越多,這也意味著模型變得如此之大以至於無法同時運行在單個GPU上,而必須將其分開。開發人員和工程師必須手動將工作負載分開或分段,協調執行,以便實時獲得響應。TensorRT-LLM就是通過「張量並行性」幫助解決這個問題的,允許跨多個GPU進行大規模的高效推理。
除此之外,由於當今市場中有各種各樣的大型語言模型,所以Nvidia針對目前主流的大型語言模型對核心進行了優化。該軟體套件包括了完全優化的、可立即運行的大型語言模型版本,包括Meta Platform的Llama 2、OpenAI的GPT-2和GPT-3、Falcon、MosaicMPT和BLOOM。
應對動態工作負載的「運行中批處理」機制
由於大型語言模型本身的性質,模型的工作負載可能是高度動態的,工作負載的需求和任務使用情況也可能會隨著時間的推移而發生變化,單個模型可以同時用作聊天機器人來提問和回答,也可以用於總結大型文檔和簡短文檔。因此,輸出大小可能會出現完全不同的數量級。
為了應對這些不同的工作負載,TensorRT-LLM引入了一種稱為「運行中批處理」的機制,這是一個優化調度的過程,把文本生成過程分解為多個片段,以便可以將移入或者移出GPU,這樣在開始新一批之前就不需要完成整批工作負載了。
以前,如果有大型請求的話,例如對非常大的文檔進行摘要提取,那麼後面所有的內容都必須等待該過程完成才能使隊列繼續前進。
Nvidia一直在與眾多廠商合作優化TensorRT-LLM,包括Meta、Cohere、Grammarly、Databricks和Tabnine。在他們的幫助下,Nvidia不斷簡化軟體套件中的功能和工具集,包括開源Python應用用戶界面,用於定義和優化新架構以定製大型語言模型。
例如,MosaicML在將TensorRT-LLM與其現有軟體堆棧集成時在TensorRT-LLM之上添加額外的功能。Databricks公司工程副總裁Naveen Rao表示,這是一個簡單的過程。
「TensorRT-LLM易於使用,功能豐富,包括令牌流、動態批處理、分頁注意力、量化等,而且效率很高,為使用 NVIDIA GPU的大型語言模型服務提供了最佳性能,並使我們能夠將節省的成本回饋給我們的客戶。」
Nvidia稱,TensorRT-LLM及其帶來的好處(包括運行中批處理功能)可以讓使用Nvidia H100提取文章摘要的推理性能提高1倍多。在使用GPT-J-6B模型進行對CNN/每日郵報文章摘要的A100測試中,僅H100就要比A100快4倍,啟用TensorRT-LLM優化後,速度快了8倍。
TensorRT-LLM為開發人員和工程師提供了深度學習編譯器、優化的大型語言模型核心、預處理和後處理、多GPU/多節點通信功能、以及簡單的開源API,使他們能夠快速優化和執行大型語言模型生產的推理。隨著大型語言模型繼續重塑數據中心,企業需要更高的性能就意味著開發人員比以往任何時候都更需要能夠為他們提供具備功能和訪問權限的工具,以提供更高性能的結果。
TensorRT-LLM軟體套件現已可供Nvidia開發人員計劃中的開發人員搶先體驗,並將於下個月集成到用於生產型AI端到端軟體平台Nvidia AI Enterprise的NeMo框架中。