「GPU貧民」即將告別困境!
剛剛,英偉達(dá)發(fā)布了一款開源軟件TensorRT-LLM,能夠加速H100上大型語言模型的推理。
那么,具體能提升多少倍?
在添加了TensorRT-LLM及其一系列優(yōu)化功能后(包括In-Flight批處理),模型總吞吐量提升8倍。
使用和不使用TensorRT-LLM的GPT-J-6B A100與H100的比較
另外,就拿Llama 2來說,相較于單獨(dú)使用A100,TensorRT-LLM可以將推理性能提高4.6倍。
使用和不使用TensorRT-LLM的Llama 2 70B、A100與H100的比較
網(wǎng)友表示,超強(qiáng)H100,再結(jié)合上TensorRT-LLM,無疑將徹底改變大型語言模型推理現(xiàn)狀!
TensorRT-LLM:大模型推理加速神器
當(dāng)前,由于大模型有著巨大的參數(shù)規(guī)模,使得「部署和推理」難度和成本一直居高不下。
而英偉達(dá)開發(fā)的TensorRT-LLM,旨在通過GPU來顯著提高LLM吞吐量,并降低成本。
具體來說,TensorRT-LLM將TensorRT的深度學(xué)習(xí)編譯器、FasterTransformer的優(yōu)化內(nèi)核、預(yù)處理和后處理以及多 GPU/多節(jié)點(diǎn)通信,封裝在一個簡單的開源Python API中。
英偉達(dá)對FasterTransformer進(jìn)行了進(jìn)一步的增強(qiáng),使其成為一個產(chǎn)品化的解決方案。
可見,TensorRT-LLM提供了一個易用、開源和模塊化的Python應(yīng)用編程接口。
碼農(nóng)們不需要深入的C++或CUDA專業(yè)知識,能夠部署、運(yùn)行、調(diào)試各種大語言模型,還能獲得頂尖性能表現(xiàn),以及快速定制化的功能。
根據(jù)英偉達(dá)官方博客,TensorRT-LLM通過四種方式優(yōu)化了Nvidia GPU上的LLM推理性能。
首先,為當(dāng)前10+大模型,引入TensorRT-LLM,讓開發(fā)者們能夠立即運(yùn)行。
其次,TensorRT-LLM作為一個開源軟件庫,允許LLM在多個GPU和多個GPU服務(wù)器上同時進(jìn)行推理。
這些服務(wù)器分別通過,英偉達(dá)的NVLink和InfiniBand互連連接。
第三,就是「In-flight批處理」,這是一種全新的調(diào)度技術(shù),允許不同模型任務(wù)獨(dú)立于其他任務(wù)進(jìn)入GPU和退出GPU。
最后,TensorRT-LLM經(jīng)過優(yōu)化,可以利用H100 Transformer Engine來降低模型推理時的內(nèi)存占用和延遲。
接下來,具體看看TensorRT-LLM如何提升模型性能。
支持豐富LLM生態(tài)
TensorRT-LLM對開源模型生態(tài)提供了非常好的支持。
規(guī)模最大、最先進(jìn)的語言模型,例如Meta推出的Llama 2-70B,需要多個GPU協(xié)同工作才能實(shí)時提供響應(yīng)。
此前,如果要實(shí)現(xiàn)LLM推理的最佳性能,開發(fā)人員必須重寫AI模型,并將其手動拆分為多個片段,并在GPU之間協(xié)調(diào)執(zhí)行。
TensorRT-LLM使用張量并行技術(shù)(tensor parallelism),將權(quán)重矩陣分配到各個設(shè)備上,從而簡化了這一過程,可以實(shí)現(xiàn)大規(guī)模高效推理。
每個模型可以在通過NVLink連接的多個GPU和多個服務(wù)器上并行運(yùn)行,無需開發(fā)人員干預(yù)或模型更改。
隨著新模型和模型架構(gòu)的推出,開發(fā)人員可以使用TensorRT-LLM中開源的最新NVIDIA AI內(nèi)核(Kernal)來優(yōu)化模型。
支持的內(nèi)核融合(Kernal Fusion),包括最前沿的FlashAttention實(shí)現(xiàn)和用于GPT模型執(zhí)行的上下文和生成階段的掩碼多頭注意力等。
此外,TensorRT-LLM還包括了目前流行的許多大語言模型的完全優(yōu)化、可立即運(yùn)行的版本。
其中包括Meta Llama 2、OpenAI GPT-2和GPT-3、Falcon、Mosaic MPT、BLOOM等10多個模型,所有這些模型都可以使用簡單易用的TensorRT-LLM Python API來調(diào)用。
這些功能可幫助開發(fā)人員更快、更準(zhǔn)確地搭建定制化的大語言模型,以滿足各行各業(yè)的不同需求。
In-flight批處理
現(xiàn)如今大型語言模型的用途極其廣泛。
一個模型可以同時用于多種看起來完全不同的任務(wù)——從聊天機(jī)器人中的簡單問答響應(yīng),到文檔摘要或長代碼塊的生成,工作負(fù)載是高度動態(tài)的,輸出大小需要滿足不同數(shù)量級任務(wù)的需求。
任務(wù)的多樣性可能會導(dǎo)致難以有效地批處理請求和進(jìn)行高效并行執(zhí)行,可能會導(dǎo)致某些請求比其他請求更早完成。
為了管理這些動態(tài)負(fù)載,TensorRT-LLM包含一種稱為「In-flight批處理」的優(yōu)化調(diào)度技術(shù)。
它的核心原理是,大語言模型的整個文本生成過程可以分解為模型上的多次執(zhí)行迭代。
通過in flight批處理,TensorRT-LLM運(yùn)行時會立即從批處理中釋放出已完成的序列,而不是等待整個批處理完成后再繼續(xù)處理下一組請求。
在執(zhí)行新請求時,上一批還未完成的其他請求仍在處理中。
In-flight批處理和額外的內(nèi)核級優(yōu)化可提高GPU使用率,可以使得H100上的LLM實(shí)際請求基準(zhǔn)的吞吐量至少增加一倍。
使用FP 8的 H100 Transformer引擎
TensorRT-LLM還提供了一個名為H100 Transformer Engine的功能,能有效降低大模型推理時的內(nèi)存消耗和延遲。
因?yàn)長LM包含數(shù)十億個模型權(quán)重和激活函數(shù),通常用FP16或BF16值進(jìn)行訓(xùn)練和表示,每個值占用16位內(nèi)存。
然而,在推理時,大多數(shù)模型可以使用量化(Quantization)技術(shù)以較低精度有效表示,例如8位甚至4位整數(shù)(INT8或 INT4)。
量化(Quantization)是在不犧牲準(zhǔn)確性的情況下降低模型權(quán)重和激活精度的過程。使用較低的精度意味著每個參數(shù)較小,并且模型在GPU內(nèi)存中占用的空間較小。
這使得能夠使用相同的硬件對更大的模型進(jìn)行推理,同時在執(zhí)行過程中花費(fèi)更少的時間在內(nèi)存操作上。
通過H100 Transformer Engine技術(shù),配合TensorRT-LLM的H100 GPU使戶能夠輕松地將模型權(quán)重轉(zhuǎn)換為新的FP8格式,并能自動編譯模型以利用優(yōu)化后的FP8內(nèi)核。
而且這個過程不需要任何的代碼!H100引入的FP8數(shù)據(jù)格式使開發(fā)人員能夠量化他們的模型并從大幅度減少內(nèi)存消耗,而且不會降低模型的準(zhǔn)確性。
與INT8或INT4等其他數(shù)據(jù)格式相比,F(xiàn)P8量化保留了更高的精度,同時實(shí)現(xiàn)了最快的性能并,而且實(shí)現(xiàn)起來最為方便。
如何獲取TensorRT-LLM
TensorRT-LLM雖然還沒有正式發(fā)布,但是用戶現(xiàn)在已經(jīng)可以進(jìn)行搶先體驗(yàn)了。
申請鏈接如下:
https://developer.nvidia.com/tensorrt-llm-early-access/join
英偉達(dá)也說會將TensorRT-LLM很快集成到NVIDIA NeMo框架中。
這個框架是英偉達(dá)前不久剛剛推出的AI Enterprise的一部分,為企業(yè)客戶提供了一個安全、穩(wěn)定、可管理性極強(qiáng)的企業(yè)級AI軟件平臺。
開發(fā)人員和研究人員可以通過英偉達(dá)NGC上的NeMo框架或GitHub上的項(xiàng)目訪問TensorRT-LLM。
但是需要注意的是,用戶必須注冊英偉達(dá)開發(fā)者計(jì)劃才能申請搶先體驗(yàn)版本。
網(wǎng)友熱議
Reddit上的網(wǎng)友對TensorRT-LLM的推出展開了激烈的討論。
難以想象專門針對LLM對硬件做出優(yōu)化之后,效果將會有多大的提升。
但也有網(wǎng)友認(rèn)為,這個東西的意義就是幫助老黃賣更多的H100。
不過有網(wǎng)友也不是很認(rèn)同,他覺得Tensor RT對于本地部署SD的用戶也是有幫助的,所以只要有RTX GPU,以后應(yīng)該都有可能在類似產(chǎn)品上獲益。
而從更加宏觀的角度,也許對于LLM來說,也會出現(xiàn)一系列的專門針對硬件級別的優(yōu)化,甚至未來會出現(xiàn)專門針對LLM設(shè)計(jì)的硬件來提升LLM的性能,這種情況其實(shí)已經(jīng)在很多流行的應(yīng)用中出現(xiàn)過了,LLM也不會例外。
https://developer.nvidia.com/blog/nvidia-tensorrt-llm-supercharges-large-language-model-inference-on-nvidia-h100-gpus/
聯(lián)系客服