自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

揭秘老黃演講中關(guān)鍵技術(shù):PD分離!UCSD華人團隊力作,LLM吞吐量躍升4倍

人工智能 新聞
老黃GTC重點展示的PD分離技術(shù)為何成兵家必爭之地?UCSD全華人團隊力作,創(chuàng)新性地提出預(yù)填充-解碼分離技術(shù)。在嚴格的延遲約束下,相比現(xiàn)有最先進的服務(wù)系統(tǒng),可實現(xiàn)高達4.48倍的有效產(chǎn)出率或10.2倍更嚴格的SLO達成率。

現(xiàn)在,PD分離已經(jīng)成為兵家必爭之地。

前有Mooncake/DeepSeek等公司采用這種技術(shù)來優(yōu)化大模型的推理服務(wù),后有Nvidia/PyTorch基于該技術(shù)孵化下一代LLM服務(wù)系統(tǒng)。

甚至最近,黃仁勛也在2025 GTC的舞臺上提到了PD分離(Prefill-Decode Disaggregation)技術(shù),進一步證明了這一技術(shù)獲得的廣泛關(guān)注。

圖片

去年,來自UCSD的一個華人團隊發(fā)布的一篇博客,就深入剖析了這一技術(shù)的原理和它的應(yīng)用場景。

圖片

博客地址:https://hao-ai-lab.github.io/blogs/distserve/

如今,大語言模型應(yīng)用有著不同的延遲需求。

例如,聊天機器人需要快速響應(yīng)(比如低于0.2秒),而解碼速度可以較為適中,僅需與人類閱讀速度相匹配;代碼補全則要求快速生成,以便實時提供代碼建議。

文章中展示了現(xiàn)有的優(yōu)化吞吐量的服務(wù)系統(tǒng),在延遲標準下并不理想。

作者提議使用「有效吞吐量」(goodput)作為大模型服務(wù)性能的改進衡量標準,它不僅關(guān)注每秒完成請求的數(shù)量,而且符合服務(wù)級目標(SLO),更好地平衡成本和用戶體驗。

為了提升有效吞吐量,文章提出了「預(yù)填充-解碼分離」(prefill-decode disaggregation),即將預(yù)填充和解碼分配到不同的GPU上。

通過這個方法,作者搭建了一個系統(tǒng)原型DistServe,在保持嚴格的延遲約束下,達到了比現(xiàn)有系統(tǒng)高出4.48倍的有效吞吐量,或者10.2倍更嚴格的SLO。

圖片

一個請求通過一個具有分離預(yù)填充和解碼的LLM服務(wù)引擎

吞吐量與有效吞吐量

LLM正在改變行業(yè)對AI的應(yīng)用,但LLM服務(wù)成本仍然很高。

為了降低成本,很多公司專注于提升LLM系統(tǒng)的吞吐量,即每秒處理的請求數(shù)(rps),作為每個請求成本($/req)的替代指標。

大多數(shù)流行的LLM服務(wù)引擎,如vLLM和TensorRT-LLM,都用吞吐量來衡量性能。

然而,實際應(yīng)用對延遲的要求各不相同,因此服務(wù)級目標(SLO)也不同。常見的SLO包括:

  • 首次token延遲(TTFT):測量LLM生成第一個token的時間
  • 每個輸出token的時間(TPOT):測量兩個連續(xù)生成的token之間的平均延遲

圖片

應(yīng)用程序有著多樣的SLO要求

吞吐量只關(guān)注處理的請求或token數(shù),卻忽視了這些延遲需求。作者引入了有效吞吐量(goodput),它衡量每秒完成的符合SLO的請求數(shù)(同時滿足TTFT和TPOT要求)。這比吞吐量更能反映服務(wù)質(zhì)量,因為它考慮了成本和用戶體驗。

那么,到底什么是有效吞吐量?假設(shè)一個應(yīng)用要求90%的請求TTFT小于200毫秒,TPOT小于50毫秒,那么有效吞吐量就是每秒能完成的最大請求數(shù),且至少90%的請求同時滿足這兩個條件。

一個高吞吐量的應(yīng)用可能有低的有效吞吐量。雖然吞吐量是10個請求每秒,但因為延遲約束,只有3個請求符合SLO,最終的有效吞吐量只有每秒3個請求??梢韵胂?,盡管這種系統(tǒng)的吞吐量很高,但它的用戶服務(wù)將很差。

圖片

高吞吐量≠高有效吞吐量

以下是在本小節(jié)中引入的術(shù)語:

  • 有效吞吐量:衡量LLM服務(wù)系統(tǒng)效能的指標,考慮了成本和用戶滿意度。它定義為每秒系統(tǒng)可以完成的請求數(shù)量,同時滿足指定的服務(wù)級目標(SLO)。
  • 吞吐量:LLM服務(wù)系統(tǒng)每秒處理的已完成請求數(shù)量。
  • 服務(wù)級目標(SLO):LLM服務(wù)系統(tǒng)必須滿足的目標,以提供令人滿意的用戶體驗。常見的SLO包括首次token延遲(TTFT)、每個輸出token時間(TPOT)、端到端延遲(E2E)和指數(shù)加權(quán)平均(EMA)延遲。
  • 預(yù)填充:LLM推理的第一階段,處理所有輸入token,填充KV緩存,并生成第一個輸出token。
  • 解碼:隨后的階段,通過自回歸方式生成token,直到完成。
  • 首次token延遲(TTFT):LLM服務(wù)系統(tǒng)響應(yīng)用戶請求時,生成第一個token所需的時間。
  • 每個輸出token的時間(TPOT):LLM服務(wù)系統(tǒng)響應(yīng)用戶請求時,生成后續(xù)token所需的平均時間。

為什么現(xiàn)有系統(tǒng)無法實現(xiàn)高有效吞吐量?

在深入分析之前,需要回顧一下LLM服務(wù)請求的流程。

下圖展示了這個過程:請求進入LLM推理引擎,系統(tǒng)首先處理用戶輸入生成的第一個token(預(yù)填充),然后通過自回歸生成后續(xù)token(解碼)。一個請求通常包括一個預(yù)填充步驟和多個解碼步驟,直到生成完成。

圖片

傳統(tǒng)LLM服務(wù)系統(tǒng)中請求的處理過程

LLM服務(wù)系統(tǒng)通常將預(yù)填充和解碼一起批處理,使用迭代調(diào)度或連續(xù)批處理技術(shù),使GPU能盡量大批量處理,從而提高吞吐量(每秒token數(shù)),vLLM和TensorRT-LLM等系統(tǒng)都廣泛采用這一方法。

然而,預(yù)填充和解碼在計算上有非常不同的特點。

預(yù)填充非常依賴計算,意味著即使是一個小批量的預(yù)填充,或者僅僅是一個足夠長的預(yù)填充,也會迅速飽和GPU計算資源。

另一方面,解碼需要更大的批量來達到計算瓶頸,且更容易受到GPU內(nèi)存帶寬限制的影響。

不過,預(yù)填充和解碼在計算上差異很大:預(yù)填充計算密集型,容易迅速飽和GPU;而解碼則需要更大批量才能達到計算瓶頸,同時也更受GPU內(nèi)存帶寬的限制。

由于它們的計算模式和SLO目標差異巨大,將這兩者一起處理并不有利于優(yōu)化有效吞吐量,原因有二:

  1. 預(yù)填充和解碼之間會互相干擾,導(dǎo)致性能下降
  2. 預(yù)填充和解碼的資源分配及并行策略會相互耦合,難以優(yōu)化

預(yù)填充和解碼的干擾

下圖展示了預(yù)填充和解碼之間的干擾。

  • 左:把兩個請求批量到一個GPU,結(jié)果看到解碼(R1)延遲顯著增加,預(yù)填充(R2)延遲稍微上升。
  • 右:穩(wěn)定請求流中,每次解碼遇到預(yù)填充請求時就會被「卡住」,解碼延遲因此意外增加。

圖片

連續(xù)批處理導(dǎo)致的干擾

這種干擾導(dǎo)致下圖中展示的情況:為了滿足TTFT和TPOT的SLO,系統(tǒng)必須過度配置資源以滿足延遲目標,尤其當某個SLO特別嚴格時。

圖片

為了滿足SLO,預(yù)填充和解碼共同處理的系統(tǒng)需要過度配置資源

此外,預(yù)填充和解碼的資源分配和并行策略是耦合的。由于計算模式和延遲目標不同,最優(yōu)的并行策略也不一樣。

比如,當TTFT要求嚴格時,預(yù)填充階段適合用張量并行(TP)來滿足緊湊的延遲目標,而解碼則更傾向于數(shù)據(jù)并行或流水線并行來提升吞吐量。

分離預(yù)填充和解碼

直覺很簡單:將預(yù)填充(Prefill)和解碼(Decode)分配到不同的GPU,并為每個階段定制并行策略。

這自然解決了上面提到的兩個問題:

  1. 預(yù)填充和解碼之間沒有干擾,使得兩個階段都可以更快完成,并更容易滿足各自的SLO(服務(wù)水平目標)
  2. 資源分配和并行策略解耦,優(yōu)化可以針對預(yù)填充和解碼分別進行

下圖展示了在這種分離系統(tǒng)中請求的處理方式。

圖片

預(yù)填充/解碼分離時請求的處理過程

當請求到達系統(tǒng)時:

  1. 首先進入預(yù)填充工作節(jié)點并完成預(yù)填充階段
  2. 然后,系統(tǒng)將其中間狀態(tài)(主要是KV緩存)遷移到解碼工作節(jié)點,并進行多個解碼步驟以生成后續(xù)token
  3. 請求在生成完成后離開系統(tǒng)

通過一個簡單的實驗,即可驗證Prefill-Decode分離的效果。

在單個A100-80GB GPU上運行一個13B的LLM,使用一個輸入長度為512、輸出長度為64的合成工作負載,并假設(shè)請求按泊松分布到達。

逐漸增加請求速率(x軸),并測量這兩種延遲(P90 TTFT和P90 TPOT,y軸)中的變化。

假設(shè)將SLO設(shè)置為P90 TTFT小于0.4秒,P90 TPOT小于0.04秒,作者觀察到,現(xiàn)有系統(tǒng)使用1個GPU時,大約支持3個rps(Request rate per second),而TPOT則支持1.6個rps。

由于需要同時滿足這兩個約束,現(xiàn)有共同處理系統(tǒng)的有效吞吐量為:有效吞吐量(同時滿足) = min(3, 1.6) = 1.6 rps(每個GPU)。

圖片

共同處理(a)相較于分離(b),后者在為預(yù)填充分配2個GPU、為解碼分配1個GPU(2P1D)時更具靈活性

分離后,性能顯著提升。

預(yù)填充工作節(jié)點和解碼工作節(jié)點在僅處理單個階段時,可以分別達到比之前更好的rps——預(yù)填充工作節(jié)點大約可以達到5.6 rps,解碼工作節(jié)點大約可以達到10 rps。

更重要的是,現(xiàn)在我們可以靈活地分配2個預(yù)填充工作節(jié)點與1個解碼工作節(jié)點(記作2P1D),總共使用3個GPU。此時的有效吞吐量變?yōu)椋?/span>

有效吞吐量(2P1D) = min(5.6 x 2, 10) = 10 reqs/s / 3 GPUs ≈ 3.3 reqs/s(平均每個GPU)。

這個實驗表明,簡單的分離方法在沒有任何并行化的情況下就能實現(xiàn)2倍的有效吞吐量(3.3rps VS 1.6rps)。

額外的好處是,預(yù)填充與解碼的分離還能夠為每個階段選擇最佳的并行策略來優(yōu)化有效吞吐量(作者稱之為「定制并行tailored parallelism」)。

KV緩存?zhèn)鬏?/h3>

分離的一個代價是需要在預(yù)填充和解碼GPU之間傳輸中間狀態(tài)(即KV緩存)。

乍一看,KV緩存是LLM推理中一個大的內(nèi)存開銷,而在GPU之間傳輸KV緩存似乎是一個瓶頸。

但相反,通過合理的放置,KV緩存?zhèn)鬏數(shù)拈_銷可以被有效地最小化,低至小于一個解碼步驟的時間,這得益于今天高速的網(wǎng)絡(luò)技術(shù),如NVLink和PCI-e 5.0。

為了驗證這一點,假設(shè)有8通道PCIe 5.0 x 16(每個鏈路64GB/s)作為GPU之間的節(jié)點內(nèi)網(wǎng)絡(luò)。

給定一個2048token的請求,可以估算在服務(wù)OPT-175B(OPT,即Open Pre-trained Transformer由Meta AI開發(fā))時,傳輸KV緩存的延遲為:

延遲 = 2048token *(4.5 MB/token)/(64GB/s * 8) = 17.6毫秒

這個延遲小于OPT-175B的單個解碼步驟的時間(約30-50毫秒,使用A100)。

對于更大的模型、更長的序列或更先進的網(wǎng)絡(luò)(例如,具有600GB/s帶寬的A100-NVLink),如下圖所示,KV緩存?zhèn)鬏數(shù)谋容^開銷與單個解碼步驟相比變得更加微不足道。

圖片

KV緩存?zhèn)鬏旈_銷可以被有效最小化,低于一個解碼步驟的時間

精心放置預(yù)填充和解碼工作節(jié)點以利用高帶寬網(wǎng)絡(luò),可以有效地隱藏KV緩存?zhèn)鬏數(shù)拈_銷。

DistServe:評估分離的效果

作者在一個名為DistServe的系統(tǒng)原型中實現(xiàn)了所提出的技術(shù),并在三個具有不同延遲約束的工作負載和數(shù)據(jù)集上與現(xiàn)有系統(tǒng)進行了比較:聊天機器人、代碼補全和摘要,詳細信息見下表。

圖片

下圖展示了DistServe與vLLM的對比結(jié)果:

圖片

在各種數(shù)據(jù)集上評估DistServe與vLLM的表現(xiàn)

  • 聊天機器人:DistServe的有效吞吐量比vLLM高2.0倍到3.41倍。
  • 代碼補全:DistServe的有效吞吐量比vLLM高3.2倍,并且SLO比vLLM嚴格1.5倍。作為實時編碼助手,代碼補全任務(wù)比聊天機器人要求更低的TTFT,這使得兩個系統(tǒng)最終都受到TTFT要求的限制。然而,通過消除解碼任務(wù)的干擾,并為預(yù)填充定制張量并行策略,DistServe減少了預(yù)填充任務(wù)的平均延遲,從而滿足更多請求的TTFT要求。
  • 摘要:DistServe的有效吞吐量比vLLM高4.48倍,并且SLO比vLLM嚴格10.2倍。如預(yù)期的那樣,由于vLLM將預(yù)填充和解碼放在一起,它在解碼階段的減速更大,未能滿足TPOT要求。

團隊成員介紹

以上研究出自加州大學圣地亞哥分校的Hao AI實驗室,全部來自于華人研究者。

圖片

Junda Chen

圖片

2023年秋季入學的計算機科學博士生。研究興趣:高效的LLM服務(wù)系統(tǒng)、推理系統(tǒng)和算法。

Yinmin Zhong

圖片

北京大學計算機系統(tǒng)研究組的一名三年級博士生,導(dǎo)師是金鑫。在此之前,在北京大學獲得了計算機科學學士學位。對構(gòu)建高效的系統(tǒng)來訓練和提供深度學習模型有廣泛的興趣,目前主要關(guān)注大語言模型。

Hao Zhang

圖片

加州大學圣地亞哥分校計算機科學與工程系的助理教授。在UCSD領(lǐng)導(dǎo)Hao AI實驗室,對設(shè)計強大、高效和安全的機器學習模型和算法,以及構(gòu)建可擴展、實用的分布式系統(tǒng)以支持現(xiàn)實世界的機器學習工作負載感興趣。

責任編輯:張燕妮 來源: 新智元
相關(guān)推薦

2023-12-01 14:36:33

模型數(shù)據(jù)

2024-11-02 10:28:03

2024-01-19 13:42:00

模型訓練

2024-11-01 20:25:28

2022-05-26 15:17:54

訓練模型

2009-02-24 09:28:00

2023-08-03 14:18:29

Rust阻塞函數(shù)

2023-12-07 06:51:18

AI模型

2024-12-13 13:58:53

2013-04-19 09:45:20

AMPLabHadoopHDFS

2024-05-23 16:41:40

2024-11-01 13:30:56

2013-04-25 10:38:40

思科存儲交換機

2023-11-07 15:11:46

Kafka技巧

2023-02-09 08:57:11

Callable異步java

2010-04-14 16:02:09

IDF

2011-09-13 10:05:43

無線技術(shù)網(wǎng)絡(luò)

2025-03-04 01:00:00

LLM架構(gòu)數(shù)據(jù)訓練

2023-09-27 12:56:56

AI模型
點贊
收藏

51CTO技術(shù)棧公眾號