hao86下載站:值得大家信賴的游戲下載站!

首頁 > 區(qū)塊鏈 > Llama2推理RTX3090勝過4090,延遲吞吐量占優(yōu),但被A800遠遠甩開

Llama2推理RTX3090勝過4090,延遲吞吐量占優(yōu),但被A800遠遠甩開

時間:2023-12-27 14:24:00
來源:hao86下載
區(qū)塊鏈

【#區(qū)塊鏈# #Llama2推理RTX3090勝過4090,延遲吞吐量占優(yōu),但被A800遠遠甩開#】

這是為數(shù)不多深入比較使用消費級 GPU(RTX 3090、4090)和服務器顯卡(A800)進行大模型預訓練、微調和推理的論文。

原文來源:機器之心

圖片來源:由無界 AI?生成

大型語言模型 (LLM) 在學界和業(yè)界都取得了巨大的進展。但訓練和部署 LLM 非常昂貴,需要大量的計算資源和內存,因此研究人員開發(fā)了許多用于加速 LLM 預訓練、微調和推理的開源框架和方法。然而,不同硬件和軟件堆棧的運行時性能可能存在很大差異,這使得選擇最佳配置變得困難。

最近,一篇題為《Dissecting the Runtime Performance of the Training, Fine-tuning, and Inference of Large Language Models》的新論文從宏觀和微觀的角度詳細分析了 LLM 訓練、微調、推理的運行時性能。

論文地址:https://arxiv.org/pdf/2311.03687.pdf

具體來說,該研究首先在三個 8-GPU 上對不同規(guī)模(7B、13B 和 70B 參數(shù))的 LLM,面向預訓練、微調、服務進行端到端的性能基準測試,涉及具有或不具有單獨優(yōu)化技術的平臺,包括 ZeRO、量化、重新計算、FlashAttention。然后,該研究進一步提供了子模塊的詳細運行時分析,包括 LLM 中的計算和通信運算符。

方法介紹

該研究的基準測試采用自上而下的方法,涵蓋 Llama2 在三個 8-GPU 硬件平臺上的端到端步驟時間性能、模塊級時間性能和運算符時間性能,如圖 3 所示。

三個硬件平臺分別為 RTX4090、RTX3090 和 A800,具體規(guī)格參數(shù)如下表 1 所示。

在軟件方面,該研究比較了 DeepSpeed 和 Megatron-LM 在預訓練和微調方面的端到端步驟時間。為了評估優(yōu)化技術,該研究使用 DeepSpeed 逐一啟用如下優(yōu)化:ZeRO-2、ZeRO-3、offloading、激活重計算、量化和 FlashAttention,以衡量性能改進以及時間和內存消耗方面的下降。

在 LLM 服務方面,存在三個高度優(yōu)化的系統(tǒng),vLLM、LightLLM 和 TGI,該研究在三個測試平臺上比較了它們的性能(延遲和吞吐量)。

為了保證結果的準確性和可重復性,該研究計算了 LLM 常用數(shù)據集 alpaca 的指令、輸入和輸出的平均長度,即每個樣本 350 個 token,并隨機生成字符串以達到 350 的序列長度。

在推理服務中,為了綜合利用計算資源并評估框架的魯棒性和效率,所有請求都以突發(fā)模式調度。實驗數(shù)據集由 1000 個合成句子組成,每個句子包含 512 個輸入token。該研究在同一 GPU 平臺上的所有實驗中始終保持「最大生成 token 長度」參數(shù),以保證結果的一致性和可比性。

端到端性能

該研究通過預訓練、微調和推理不同尺寸 Llama2 模型(7B、13B 和 70B)的步驟時間、吞吐量和內存消耗等指標,來衡量在三個測試平臺上的端到端性能。同時評估了三個廣泛使用的推理服務系統(tǒng):TGI、vLLM 和 LightLLM,并重點關注了延遲、吞吐量和內存消耗等指標。

模塊級性能

LLM 通常由一系列模塊(或層)組成,這些模塊可能具有獨特的計算和通信特性。例如,構成 Llama2 模型的關鍵模塊是 Embedding、LlamaDecoderLayer、Linear、SiLUActivation 和 LlamaRMSNorm。

預訓練結果

在預訓練實驗環(huán)節(jié),研究者首先分析了三個測試平臺上不同尺寸模型(7B、13B 和 70B)的預訓練性能(迭代時間或吞吐量、內存消耗),然后進行了模塊和操作層面的微基準測試。

端到端性能

研究者首先進行實驗來比較 Megatron-LM 和 DeepSpeed 的性能,二者在 A800- 80GB 服務器上預訓練 Llama2-7B 時沒有使用任何內存優(yōu)化技術(比如 ZeRO)。

他們使用的序列長度為 350,并為 Megatron-LM 和 DeepSpeed 提供了兩組批大小,從 1 到最大批大小。結果如下表 II 所示,以訓練吞吐量(tokens / 秒)和消費級 GPU 內存(單位 GB)為基準。

結果表明,當批大小都為 1 時,Megatron-LM 稍快于 DeepSpeed。不過當批大小達到最大時,DeepSpeed 在訓練速度上最快。當批大小相同時,DeepSpeed 消耗了比基于張量并行的 Megatron-LM 更多的 GPU 內存。即使批大小很小,這兩個系統(tǒng)都消耗了大量的 GPU 內存,導致 RTX4090 或 RTX3090 GPU 服務器的內存溢出。

在訓練 Llama2-7B(序列長度為 350,批大小為 2)時,研究者使用了帶有量化的 DeepSpeed 來研究不同硬件平臺上的擴展效率。結果如下圖 4 所示,A800 幾乎是線性擴展,RTX4090 和 RTX3090 的擴展效率略低,分別為 90.8% 和 85.9%。在 RTX3090 平臺上,NVLink 連接比沒有 NVLink 時的擴展效率提升了 10%。

研究者使用 DeepSpeed 來評估不同內存和計算高效方法下的訓練性能。為公平起見,所有評估設置成序列長度為 350,批大小為 1,默認加載模型權重為 bf16。

對于具有卸載功能的 ZeRO-2 和 ZeRO-3,他們分別將優(yōu)化器狀態(tài)和優(yōu)化器狀態(tài) + 模型卸載到 CPU RAM。對于量化,他們使用了具有雙重量化的 4bits 配置。此外報告了 NVLink 失效時 RTX3090 的性能(即所有數(shù)據通過 PCIe 總線傳輸)。結果如下表 III 所示。

研究者通過最大化每種方法的批大小以獲得最大吞吐量,進一步利用不同 GPU 服務器的計算能力。結果如下表 IV 所示,表明了增加批大小可以很容易改進訓練過程。因此,具有高帶寬和大內存的 GPU 服務器比消費級 GPU 服務器更適合做全參數(shù)混合精度訓練。

模塊級分析

下表 V 展示了單步預訓練 Llama2-7B 模型的前向、后向和優(yōu)化器的整體及計算核心時間成本。對于后向階段,由于總時間包含了非重疊時間,計算核心時間遠遠小于前向階段和優(yōu)化器。如果非重疊時間從后向階段中移除,該值變成 94.8。

重計算和 FlashAttention 的影響

加速預訓練的技術大致可以分為兩類:節(jié)省內存增加批大小、加速計算核心。如下圖 5 所示,GPU 在前向、后向和優(yōu)化器階段有 5-10% 的時間處于閑置狀態(tài)。

研究者認為這種閑置時間是批大小較小造成的,因此他們測試了所有技術可以使用的最大批大小。最終利用重計算來增加批大小,利用 FlashAttention 來加速計算核心分析。

如下表 VII 所示,隨著批大小的增加,前向和后向階段的時間大幅增加,GPU 閑置時間幾乎沒有。

下表 VIII 顯示出,F(xiàn)lashAttention 分別可以將前向和后向的注意力模塊加速 34.9% 和 24.7%。

微調結果

在微調環(huán)節(jié),研究者主要討論參數(shù)高效微調方法(PEFT),展示 LoRA 和 QLoRA 在各種模型大小和硬件設置下的微調性能。使用序列長度為 350,批大小為 1,默認將模型權重加載到 bf16。

結果如下表 IX 所示,使用 LoRA 和 QLoRA 微調 Llama2-13B 的性能趨勢與 Llama2-7B 保持一致。與 lama2-7B 相比,微調 Llama2-13B 的吞吐量下降了約 30%。

不過當結合所有優(yōu)化技術時,即使 RTX4090 和 RTX3090 也可以微調 Llama2-70B,實現(xiàn) 200 tokens / 秒的總吞吐量。

推理結果

端到端性能

下圖 6 顯示了各種硬件平臺和推理框架下吞吐量的全面分析,其中省略了 Llama2-70B 的相關推理數(shù)據。其中 TGI 框架展現(xiàn)了卓越的吞吐量,尤其是 RTX3090 和 RTX4090 等具有 24GB 內存的 GPU。此外 LightLLM 在 A800 GPU 平臺上的性能顯著優(yōu)于 TGI 和 vLLM,吞吐量幾乎翻倍。

這些實驗結果表明,TGI 推理框架在 24GB 內存 GPU 平臺上具有卓越的性能,而 LightLLM 推理框架在 A800 80GB GPU 平臺上表現(xiàn)出最高的吞吐量。這一發(fā)現(xiàn)表明 LightLLM 專門針對 A800/A100 系列高性能 GPU 進行了優(yōu)化。

不同硬件平臺和推理框架下的延遲表現(xiàn)如下圖 7、8、9、10 所示。

綜上所示,A800 平臺在吞吐量和延遲方面均顯著優(yōu)于 RTX4090 和 RTX3090 兩款消費級平臺。并且在兩款消費級平臺中,RTX3090 比 RTX4090 略有優(yōu)勢。當在消費級平臺上運行時,TGI、vLLM 和 LightLLM 三個推理框架在吞吐量方面沒有表現(xiàn)出實質性差異。相比之下,TGI 在延遲方面始終優(yōu)于其他兩個。在 A800 GPU 平臺上,LightLLM 在吞吐量方面表現(xiàn)最好,其延遲也非常接近 TGI 框架。

小編推薦下載

相關文章

更多>>

同類軟件下載