技術盛宴|淺談LLM推理效能的影響因子——HBDSize

隨著LLM(大語言模型)技術的飛速發展,市面上出現越來越多的AGI應用,對話式機器人作為最普遍的應用已經深入普羅大眾的工作和學習中。最顯著的改變就是從搜尋引擎查詢問題,轉變為開啟多款對話式機器人的APP進行查詢,然後再綜合多個解答進行自己的判斷。
那麼,“對話式機器人”這類應用是如何根據使用者的輸入,來進行有邏輯的高質量內容輸出的呢?其本質是:先透過大量的“訓練”任務使其具備能夠理解使用者語言、邏輯和思維的能力,再透過使用者給出的輸入進行“推理”運算,進而輸出對應的內容與使用者進行高質量互動。
一、訓練與推理的關係
LLM(大型語言模型)的訓練和推理是模型生命週期中的兩個關鍵階段,我們可以類比成理論學習和應用實踐的結合。
1.訓練階段(學習階段):
該階段是模型構建的基礎,決定了模型的質量和應用效果。
1)在訓練階段,LLM透過大量的文字資料學習語言的模式、語法、語義和上下文資訊。
2)使用深度學習技術,如神經網路,模型在訓練過程中不斷最佳化其引數,以提高對文字資料的建模能力。
2.推理階段(應用階段):
該階段不涉及引數更新,將訓練學到的知識應用到實際問題上。
1)推理階段是指使用訓練好的模型對新的輸入資料進行處理,以生成輸出或做出決策的過程。
2)在推理過程中,模型會接收新的文字輸入,預測或生成文字,執行翻譯,或者完成其他特定的NLP任務。
3.差異性
1)目標:訓練和推理都旨在實現模型的最佳效能,但訓練側重於學習,推理側重於應用。
2)可用性:訓練階段的效果會直接影響推理階段結果的可用性。
3)資源消耗:訓練通常需要大量的計算資源和資料,而推理則更注重即時性、成本和可擴充套件性。
4)持續學習:推理階段的反饋可以用於改進模型,透過持續學習或增量學習的方式,使模型適應新的資料和場景。
二、推理的過程
主流 LLM 基本都是 Decoder Only 的 Transformer 模型,推理過程可以分為兩個階段:
Transformer 模型結構圖
1.“預填充(Prefill)”階段:
Prefill階段是模型根據使用者輸入的Tokens透過一次前向傳播來生成第一個輸出 Token。在前向傳播過程中,輸入的Tokens之間以並行方式執行運算,所以具備比較高的執行效率。
2.“解碼(Decoding)”階段:
在Prefill階段生成第一個 Token(A)之後開始進入Decoding階段。在Decoding階段中,解碼器會以自迴歸的方式逐個生成輸出序列的詞元。在每一步,它基於已生成的詞元和之前的狀態來預測下一個詞元,直到生成一個特殊的 Stop Token(或者滿足使用者設定的某個限制條件,比如超過一定的長度) 生成過程就會停止。Decoding階段需要執行多次前向傳播,而且只能以序列的方式執行,因此效率相對比較低。
兩個階段對算力晶片的要求也不同,Prefill階段為計算密集型,適合選用高算力 GPU;Decoding階段為訪存密集型,相應的可以使用算力不是特別強而訪存頻寬比較大的 GPU。
三、推理的評估指標
針對 LLM 推理服務通常有兩種呼叫模式,如下表所述:
類似ChatGPT 一樣的 Streaming 方式,目前應用比較廣泛,主要因為可以給使用者帶來更好的互動體驗,不需要長時間等待即可獲得系統反饋,因此本文以Streaming模式下的評估指標來進行分析。
1.首個詞元生成時間(Time To First Token,簡稱TTFT):
在使用者輸入查詢的內容後,模型生成第一個輸出token所需要的時間。
2.單個輸出詞元的生成時間(Time Per Output Token,簡稱TPOT):
推理系統根據使用者請求生成後續詞元所需要的平均時間。在人機即時互動的過程中,讓使用者得到快速的響應至關重要,延時較高會讓客戶陷入較長的等待時間,大大影響互動體驗,但只要生成速度大於人類的閱讀速度就能獲得很好的使用者體驗。
3.Decoding吞吐:
通常用來衡量推理伺服器在decoding階段的輸出效率,即decoding階段的所有Token數量除以該階段所需要的耗時。
4.單卡吞吐:
通常用來衡量推理伺服器完成本次推理任務的輸出效率,即在Prefill階段以及decoding階段總共生成的Token數量除以整個推理任務所需要的耗時。
四、推理效能的影響因素
影響LLM推理效能的因子有許多,本文重點分析不同HBD Size域在不同叢集規模以及不同計算精度下對推理效能的影響。
1.計算精度:
指浮點數(Floating Point Numbers)的不同精度,比如FP16、FP8、FP4。
2.例項規模:
完成本次推理任務所需要的GPU卡數量。
3.HBD (High Bandwidth Domain)Size:
一個推理例項內,透過獨立的高速通道形成全聯接的GPU卡的數量。(跨伺服器透過交換櫃互聯也算同一個HBD)
我們基於理論建模的和模擬演算法,透過控制變數的對比方式,在保證單一因子變化的前提下去分析計算精度、叢集規模以及HBD Size對推理效能的影響。
測試模型採用B200算力卡進行模擬模擬,基於QWen 110B的基礎上擴充套件16個MoE專家,Batch Size為16,Token輸入序列為32K,同時假設HBD內透過1.8TB/s的雙向頻寬互聯。
如上圖資料所示,發現以下現象:
64張B200的GPU卡規模下,組成該推理例項時。在上述模型推理中,HBD Size從8提升至64,TTFT最大下降46%,單卡吞吐最大提升41%。
因此可以得出結論:HBD Size對推理效能有正面作用,即高速互聯的GPU卡數量越多,推理效能越強。
如上圖資料所示,發現以下現象:
128張B200卡的GPU規模組成推理例項時,在上述模型推理中,HBD Size從8提升至128,TTFT最大下降57%,單卡吞吐最大提升59%;同樣證明HBD Size的提升對推理效能有正面作用。
對比上述兩份資料,發現以下現象:
從64卡擴充套件到128卡規模時,TTFT指標從下降46%變化為下降57%,收益更明顯;再如單卡吞吐從提升41%變化為提升59%,收益更明顯。
因此可以得出結論:當採用更大規模GPU卡時,HBD Size擴增時效能收益提升趨於明顯。
從上述表格資料中,我們發現以下現象:
同為128卡規模下,FP16精度下隨著HBD Size提升,Prefill與Decoding階段的通訊時間佔比逐步下降,這種現象在FP8和FP4精度下也同樣存在。
當採用更低計算精度時,FP16精度下從8卡提升到128卡,單卡吞吐提升倍率為1.36;而在FP4精度下從8卡提升到128卡,單卡的吞吐提升倍率為1.63。
因此可以得出結論:在更低的計算精度下,HBD Size擴增時效能收益提升趨於明顯。
五、結論
1、在相同叢集規模和同樣的計算精度下,隨著HBD Size的提升,推理效能也隨之提升。具體表現為TTFT降低,Decoding吞吐及單卡吞吐提升。
2、在相同計算精度下,叢集規模越大,HBD Size的提升收益愈發明顯。具體表現為TTFT降低幅度更大,Decoding吞吐及單卡吞吐提升幅度更大。
3、在相同叢集規模下,計算精度越低,HBD Size的提升收益愈發明顯。具體表現為Prefill與Decoding階段的通訊時間佔比逐步下降幅度越慢,單卡吞吐提升倍率幅度越大。
銳捷網路,作為GenAI時代的全棧服務專家,致力於為企業提供覆蓋IaaS到PaaS的全棧產品及解決方案。我們的產品覆蓋高效能網路與GPU算力最佳化排程,旨在透過創新技術解決方案,幫助客戶實現生產效率的飛躍與運營成本的最佳化。我們堅信,透過我們的努力,能夠為客戶打造一個更加智慧、高效和可靠的未來。讓我們攜手,共同探索GenAI時代的每一個機遇。

相關閱讀


相關文章