成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

吞吐量提升5倍,聯(lián)合設(shè)計后端系統(tǒng)和前端語言的LLM接口來了

人工智能 新聞
開源社區(qū)的研究者們面向 LLM 提出了一種結(jié)構(gòu)化生成語言(Structured Generation Language)——SGLang。SGLang 能夠增強(qiáng)與 LLM 的交互,通過聯(lián)合設(shè)計后端運(yùn)行時系統(tǒng)和前端語言,使 LLM 更快、更可控。

大型語言模型 (LLM) 越來越多地用于需要多個鏈?zhǔn)缴烧{(diào)用、高級 prompt 技術(shù)、控制流以及與外部環(huán)境交互的復(fù)雜任務(wù)。然而,用于編程和執(zhí)行這些應(yīng)用程序的現(xiàn)有高效系統(tǒng)存在著明顯的缺陷。

現(xiàn)在,開源社區(qū)的研究者們面向 LLM 提出了一種結(jié)構(gòu)化生成語言(Structured Generation Language)——SGLang。SGLang 能夠增強(qiáng)與 LLM 的交互,通過聯(lián)合設(shè)計后端運(yùn)行時系統(tǒng)和前端語言,使 LLM 更快、更可控。機(jī)器學(xué)習(xí)領(lǐng)域知名學(xué)者、CMU 助理教授陳天奇還轉(zhuǎn)發(fā)了這項研究。

圖片

總的來說,SGLang 的貢獻(xiàn)主要包括:

  • 在后端,研究團(tuán)隊提出了 RadixAttention,這是一種跨多個 LLM 生成調(diào)用的 KV 緩存(KV cache)復(fù)用技術(shù),自動且高效。
  • 在前端,研究團(tuán)隊開發(fā)了一種嵌入 Python 的、靈活的域指定(domain-specific)語言來控制生成過程。該語言可以在解釋器模式或編譯器模式下執(zhí)行。

后端前端組件協(xié)同工作,可提高復(fù)雜 LLM 程序的執(zhí)行和編程效率。

該研究使用 SGLang 實現(xiàn)了常見的 LLM 工作負(fù)載,包括智能體、推理、提取、對話和小樣本學(xué)習(xí)任務(wù),并在 NVIDIA A10G GPU 上采用 Llama-7B 和 Mixtral-8x7B 模型。如下圖 1 、圖 2 表明,與現(xiàn)有系統(tǒng)(即 Guidance 和 vLLM)相比,SGLang 的吞吐量提高了 5 倍。

圖片

圖 1:不同系統(tǒng)在 LLM 任務(wù)上的吞吐量(A10G、FP16 上的 Llama-7B、張量并行度 = 1)

圖片

圖 2:不同系統(tǒng)在 LLM 任務(wù)上的吞吐量(A10G、FP16 上的 Mixtral-8x7B,張量并行度 = 8)

后端:使用 RadixAttention 自動 KV 緩存復(fù)用

在 SGLang 運(yùn)行時的開發(fā)過程中,該研究發(fā)現(xiàn)了復(fù)雜 LLM 程序的優(yōu)化關(guān)鍵 ——KV 緩存復(fù)用,當(dāng)前系統(tǒng)對此處理不佳。KV 緩存復(fù)用意味著具有相同前綴的不同 prompt 可以共享中間 KV 緩存,避免冗余的內(nèi)存和計算。在涉及多個 LLM 調(diào)用的復(fù)雜程序中,可能存在各種 KV 緩存復(fù)用模式。下圖 3 說明了 LLM 工作負(fù)載中常見的四種此類模式。雖然某些系統(tǒng)能夠在某些場景下處理 KV 緩存復(fù)用,但通常需要手動配置和臨時調(diào)整。此外,由于可能的復(fù)用模式的多樣性,即使通過手動配置,現(xiàn)有系統(tǒng)也無法自動適應(yīng)所有場景。

圖片

圖 3:KV 緩存共享示例。藍(lán)色框是可共享的 prompt 部分,綠色框是不可共享的部分,黃色框是不可共享的模型輸出。可共享的部分包括小樣本學(xué)習(xí)示例、自洽(self-consistency)問題、多輪對話中的對話歷史以及思維樹(tree-of-thought)中的搜索歷史。

為了系統(tǒng)地利用這些復(fù)用機(jī)會,該研究提出了一種在運(yùn)行時自動 KV 緩存復(fù)用的新方法 —— RadixAttention。該方法不是在完成生成請求后丟棄 KV 緩存,而是在基數(shù)樹(radix tree)中保留 prompt 和生成結(jié)果的 KV 緩存。這種數(shù)據(jù)結(jié)構(gòu)可以實現(xiàn)高效的前綴搜索、插入和驅(qū)逐。該研究實現(xiàn)了最近最少使用(LRU)驅(qū)逐策略,并輔以緩存感知調(diào)度策略,以提高緩存命中率。

基數(shù)樹可作為 trie(前綴樹)節(jié)省空間的替代方案。與典型的樹不同,基數(shù)樹的邊緣不僅可以用單個元素來標(biāo)記,還可以用不同長度的元素序列來標(biāo)記,這提高了基數(shù)樹的效率。

該研究利用基數(shù)樹來管理映射,這種映射是在充當(dāng)鍵的 token 序列和充當(dāng)值的相應(yīng) KV 緩存張量之間進(jìn)行的。這些 KV 緩存張量以分頁布局存儲在 GPU 上,其中每個頁的大小相當(dāng)于一個 token。

考慮到 GPU 內(nèi)存容量有限,無法重新訓(xùn)練無限的 KV 緩存張量,這就需要驅(qū)逐策略。該研究采用 LRU 驅(qū)逐策略,遞歸地驅(qū)逐葉節(jié)點。此外,RadixAttention 與連續(xù)批處理和分頁注意力等現(xiàn)有技術(shù)兼容。對于多模態(tài)模型,RadixAttention 可以輕松擴(kuò)展以處理圖像 token。

下圖說明了在處理多個傳入請求時如何維護(hù)基數(shù)樹。前端總是向運(yùn)行時發(fā)送完整的 prompt,運(yùn)行時會自動進(jìn)行前綴匹配、復(fù)用和緩存。樹形結(jié)構(gòu)存儲在 CPU 上,維護(hù)開銷較小。

圖片

圖 4. 采用 LRU 驅(qū)逐策略的 RadixAttention 操作示例,分九個步驟進(jìn)行說明。

圖 4 演示了基數(shù)樹響應(yīng)各種請求的動態(tài)演變。這些請求包括兩個聊天會話、一批小樣本學(xué)習(xí)查詢和自洽性抽樣。每個樹邊緣都帶有一個標(biāo)簽,表示子字符串或 token 序列。節(jié)點采用顏色編碼以反映不同的狀態(tài):綠色表示新添加的節(jié)點,藍(lán)色表示在該時間點訪問的緩存節(jié)點,紅色表示已被驅(qū)逐的節(jié)點。

前端:使用 SGLang 輕松進(jìn)行 LLM 編程

在前端,該研究提出了 SGLang,一種嵌入在 Python 中的特定于領(lǐng)域的語言,允許表達(dá)高級 prompt 技術(shù)、控制流、多模態(tài)、解碼約束和外部交互。SGLang 函數(shù)可以通過各種后端運(yùn)行,例如 OpenAI、Anthropic、Gemini 和本地模型。

圖片

圖 5. 用 SGLang 實現(xiàn)多維文章評分。

圖 5 顯示了一個具體示例。它利用分支 - 解決 - 合并 prompt 技術(shù)實現(xiàn)多維文章評分。該函數(shù)使用 LLM 從多個維度評估文章的質(zhì)量,合并判斷,生成摘要,并分配最終等級。突出顯示的區(qū)域說明了 SGLang API 的使用。(1) fork 創(chuàng)建 prompt 的多個并行副本。(2) gen 調(diào)用 LLM 生成并將結(jié)果存儲在變量中。該調(diào)用是非阻塞的,因此它允許多個生成調(diào)用在后臺同時運(yùn)行。(3) [variable_name] 檢索生成的結(jié)果。(4) 選擇對生成施加約束。(5) run 使用其參數(shù)執(zhí)行 SGLang 函數(shù)。

給定這樣一個 SGLang 程序,我們可以通過解釋器執(zhí)行它,也可以將其跟蹤為數(shù)據(jù)流圖并使用圖執(zhí)行器運(yùn)行它。后一種情況為一些潛在的編譯器優(yōu)化開辟了空間,例如代碼移動、指令選擇和自動調(diào)整。

SGLang 的語法很大程度上受到 Guidance 的啟發(fā),并引入了新的原語,還處理程序內(nèi)并行性和批處理。所有這些新功能都有助于 SGLang 的出色性能。

基準(zhǔn)測試

研究團(tuán)隊在常見的 LLM 工作負(fù)載上測試了其系統(tǒng),并報告了所實現(xiàn)的吞吐量。

具體來說,該研究在 1 個 NVIDIA A10G GPU (24GB) 上測試了 Llama-7B,在 8 個具有張量并行性的 NVIDIA A10G GPU 上使用 FP16 精度測試了 Mixtral-8x7B,并使用 vllm v0.2.5、指導(dǎo) v0.1.8 和 Hugging Face TGI v1.3.0 作為基準(zhǔn)系統(tǒng)。

如圖 1 和圖 2 所示,SGLang 在所有基準(zhǔn)測試中均優(yōu)于基準(zhǔn)系統(tǒng),吞吐量提高了 5 倍。它在延遲方面也表現(xiàn)出色,特別是對于第一個 token 延遲,其中前綴緩存命中可以帶來顯著的好處。這些改進(jìn)歸功于 RadixAttention 的自動 KV 緩存復(fù)用、解釋器實現(xiàn)的程序內(nèi)并行性以及前端和后端系統(tǒng)的協(xié)同設(shè)計。此外,消融研究表明,即使沒有緩存命中,也沒有明顯的開銷,這會導(dǎo)致在運(yùn)行時始終啟用 RadixAttention。

責(zé)任編輯:張燕妮 來源: 機(jī)器之心
相關(guān)推薦

2024-12-13 13:58:53

2025-05-09 02:00:00

代碼接口吞吐量

2024-05-23 16:41:40

2023-12-01 14:36:33

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

2024-09-12 15:24:29

2024-09-09 14:12:38

2024-11-02 10:28:03

2024-06-06 16:15:00

2022-05-26 15:17:54

訓(xùn)練模型

2024-11-01 20:25:28

2023-02-09 08:57:11

Callable異步java

2019-08-14 08:20:59

Iperf網(wǎng)絡(luò)吞吐量帶寬測試

2023-12-07 06:51:18

AI模型

2025-06-05 03:00:00

Spring異步接口

2010-04-14 16:02:09

IDF

2023-11-07 15:11:46

Kafka技巧

2023-08-03 14:18:29

Rust阻塞函數(shù)

2025-03-20 09:00:00

2013-04-19 09:45:20

AMPLabHadoopHDFS

2024-09-14 11:31:27

@AsyncSpring異步
點贊
收藏

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

主站蜘蛛池模板: 一区二区三区中文字幕 | 在线观看成人小视频 | 91精品国产欧美一区二区成人 | 久久精品中文字幕 | 四色成人av永久网址 | 日本在线看 | 国产精品亚洲一区二区三区在线 | 国产一区二 | 欧美一区二区三区在线观看 | 国产97视频在线观看 | 精品国产乱码一区二区三 | 日韩在线免费 | 中文字幕 欧美 日韩 | 中文字幕一区二区三区日韩精品 | 色综合久久88色综合天天 | 国产精品99久久久久久宅男 | 日本精品视频在线 | 久久青| 日本在线免费看最新的电影 | 国产成人精品a视频一区www | 免费毛片在线 | 欧美精品一区三区 | 爱综合 | 日韩在线视频精品 | 国产日韩一区二区三区 | 亚洲一二三在线观看 | av在线播放网 | 国产精品福利网站 | 日本在线视频不卡 | 成人在线视频网站 | 欧美一区二区精品 | 亚洲成人国产精品 | 欧美一级免费看 | 亚洲成人三区 | 久久精品成人 | 亚洲区一区二区 | 中文字幕 亚洲一区 | avav在线看 | 日韩久久久久 | 久久国内 | 久久机热|