搜尋
首頁科技週邊人工智慧吞吐量提升5倍,聯合設計後端系統和前端語言的LLM介面來了

大型語言模型 (LLM) 被廣泛應用於需要多個鍊式生成呼叫、高階提示技術、控制流程以及與外部環境互動的複雜任務。儘管如此,目前用於編程和執行這些應用程式的高效系統卻存在明顯的不足之處。

研究人員最近提出了一種新的結構化生成語言(Structured Generation Language),稱為SGLang,旨在改進與LLM的互動性。透過整合後端運行時系統和前端語言的設計,SGLang使得LLM的效能更高、更易於控制。這項研究也獲得了機器學習領域的知名學者、CMU助理教授陳天奇的轉發。

吞吐量提升5倍,聯合設計後端系統和前端語言的LLM介面來了

總的來說,SGLang 的貢獻主要包括:

  • 在後端,研究團隊提出了RadixAttention,這是一種跨多個LLM 產生呼叫的KV 快取(KV cache)重複使用技術,自動且有效率。

  • 在前端開發中,團隊研究出一種靈活的領域特定語言,可嵌入Python,用於控制生成過程。這種語言可以在解釋器模式或編譯器模式下執行。

後端前端元件可協同運作,可提高複雜 LLM 程式的執行和程式設計效率。

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

吞吐量提升5倍,聯合設計後端系統和前端語言的LLM介面來了

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

吞吐量提升5倍,聯合設計後端系統和前端語言的LLM介面來了

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

在後端:使用RadixAttention 自動KV 快取復用

在SGLang 運行時的開發過程中,該研究發現了複雜LLM 程式的最佳化關鍵——KV 快取復用,目前系統對此處理不佳。 KV 快取復用意味著具有相同前綴的不同 prompt 可以共享中間 KV 緩存,避免冗餘的記憶體和計算。在涉及多個 LLM 呼叫的複雜程式中,可能存在各種 KV 快取復用模式。下圖 3 說明了 LLM 工作負載中常見的四種此類模式。雖然某些系統能夠在某些場景下處理 KV 快取復用,但通常需要手動配置和臨時調整。此外,由於可能的複用模式的多樣性,即使透過手動配置,現有系統也無法自動適應所有場景。

吞吐量提升5倍,聯合設計後端系統和前端語言的LLM介面來了

圖 3:KV 快取共享範例。藍色框是可共享的 prompt 部分,綠色框是不可共享的部分,黃色框是不可共享的模型輸出。可共享的部分包括小樣本學習範例、自​​洽(self-consistency)問題、多輪對話中的對話歷史以及思維樹(tree-of-thought)中的搜尋歷史。

為了有系統地利用這些複用機會,該研究提出了一種在運行時自動 KV 快取復用的新方法 —— RadixAttention。此方法不是在完成產生請求後丟棄 KV 緩存,而是在基數樹(radix tree)中保留 prompt 和產生結果的 KV 快取。這種資料結構可以實現高效的前綴搜尋、插入和驅逐。該研究實現了最近最少使用(LRU)驅逐策略,並輔以快取感知調度策略,以提高快取命中率。

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

該研究利用基數樹來管理映射,這種映射是在充當鍵的 token 序列和充當值的相應 KV 快取張量之間進行的。這些 KV 快取張量以分頁佈局儲存在 GPU 上,其中每個頁的大小相當於一個 token。

考慮到 GPU 記憶體容量有限,無法重新訓練無限的 KV 快取張量,這就需要驅逐策略。研究採用 LRU 驅逐策略,遞歸地驅逐葉節點。此外,RadixAttention 與連續批次和分頁注意力等現有技術相容。對於多模態模型,RadixAttention 可以輕鬆擴展以處理圖像 token。

下圖說明了在處理多個傳入請求時如何維護基數樹。前端總是向運行時發送完整的 prompt,運行時會自動進行前綴匹配、復用和快取。樹狀結構儲存在 CPU 上,維護開銷較小。

吞吐量提升5倍,聯合設計後端系統和前端語言的LLM介面來了

圖 4. 採用 LRU 驅逐策略的 RadixAttention 操作範例,分九個步驟進行說明。

圖 4 演示了基數樹回應各種請求的動態演變。這些請求包括兩個聊天會話、一批小樣本學習查詢和自洽性抽樣。每個樹邊緣都帶有一個標籤,表示子字串或 token 序列。節點採用顏色編碼以反映不同的狀態:綠色表示新新增的節點,藍色表示在該時間點存取的快取節點,紅色表示已被驅逐的節點。

前端:使用SGLang 輕鬆進行LLM 程式設計

在前端,該研究提出了SGLang,一種嵌入在Python 中的特定領域的語言,允許表達進階prompt 技術、控制流程、多模態、解碼約束和外部互動。 SGLang 函數可以透過各種後端運行,例如 OpenAI、Anthropic、Gemini 和本機模型。

吞吐量提升5倍,聯合設計後端系統和前端語言的LLM介面來了

圖 5. 用 SGLang 實現多維文章評分。

圖 5 顯示了一個具體範例。它利用分支 - 解決 - 合併 prompt 技術實現多維文章評分。此函數使用 LLM 從多個維度評估文章的質量,合併判斷,產生摘要,並分配最終等級。突出顯示的區域說明了 SGLang API 的使用。 (1) fork 建立 prompt 的多個並行副本。 (2) gen 呼叫 LLM 生成並將結果儲存在變數中。該呼叫是非阻塞的,因此它允許多個生成呼叫在後台同時運行。 (3) [variable_name] 檢索產生的結果。 (4) 選擇對生成施加約束。 (5) run 使用其參數執行 SGLang 函數。

給定這樣一個 SGLang 程序,我們可以透過解釋器執行它,也可以將其追蹤為資料流程圖並使用圖執行器運行它。後一種情況為一些潛在的編譯器最佳化開闢了空間,例如程式碼移動、指令選擇和自動調整。

SGLang 的語法很大程度上受到 Guidance 的啟發,並引入了新的原語,也處理程式內並行性和批次。所有這些新功能都有助於 SGLang 的出色性能。

基準測試

研究團隊在常見的 LLM 工作負載上測試了其係統,並報告了所實現的吞吐量。

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

如圖 1 和圖 2 所示,SGLang 在所有基準測試中都優於基準系統,吞吐量提高了 5 倍。它在延遲方面也表現出色,特別是對於第一個 token 延遲,其中前綴快取命中可以帶來顯著的好處。這些改進歸功於 RadixAttention 的自動 KV 快取復用、解釋器實現的程式內並行性以及前端和後端系統的協同設計。此外,消融研究表明,即使沒有快取命中,也沒有明顯的開銷,這會導致在運行時始終啟用 RadixAttention。

參考連結:https://lmsys.org/blog/2024-01-17-sglang/

以上是吞吐量提升5倍,聯合設計後端系統和前端語言的LLM介面來了的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:机器之心。如有侵權,請聯絡admin@php.cn刪除
閱讀AI索引2025:AI是您的朋友,敵人還是副駕駛?閱讀AI索引2025:AI是您的朋友,敵人還是副駕駛?Apr 11, 2025 pm 12:13 PM

斯坦福大學以人為本人工智能研究所發布的《2025年人工智能指數報告》對正在進行的人工智能革命進行了很好的概述。讓我們用四個簡單的概念來解讀它:認知(了解正在發生的事情)、欣賞(看到好處)、接納(面對挑戰)和責任(弄清我們的責任)。 認知:人工智能無處不在,並且發展迅速 我們需要敏銳地意識到人工智能發展和傳播的速度有多快。人工智能係統正在不斷改進,在數學和復雜思維測試中取得了優異的成績,而就在一年前,它們還在這些測試中慘敗。想像一下,人工智能解決複雜的編碼問題或研究生水平的科學問題——自2023年

開始使用Meta Llama 3.2 -Analytics Vidhya開始使用Meta Llama 3.2 -Analytics VidhyaApr 11, 2025 pm 12:04 PM

Meta的Llama 3.2:多模式和移動AI的飛躍 Meta最近公佈了Llama 3.2,這是AI的重大進步,具有強大的視覺功能和針對移動設備優化的輕量級文本模型。 以成功為基礎

AV字節:Meta' llama 3.2,Google的雙子座1.5等AV字節:Meta' llama 3.2,Google的雙子座1.5等Apr 11, 2025 pm 12:01 PM

本週的AI景觀:進步,道德考慮和監管辯論的旋風。 OpenAI,Google,Meta和Microsoft等主要參與者已經釋放了一系列更新,從開創性的新車型到LE的關鍵轉變

與機器交談的人類成本:聊天機器人真的可以在乎嗎?與機器交談的人類成本:聊天機器人真的可以在乎嗎?Apr 11, 2025 pm 12:00 PM

連接的舒適幻想:我們在與AI的關係中真的在蓬勃發展嗎? 這個問題挑戰了麻省理工學院媒體實驗室“用AI(AHA)”研討會的樂觀語氣。事件展示了加油

了解Python的Scipy圖書館了解Python的Scipy圖書館Apr 11, 2025 am 11:57 AM

介紹 想像一下,您是科學家或工程師解決複雜問題 - 微分方程,優化挑戰或傅立葉分析。 Python的易用性和圖形功能很有吸引力,但是這些任務需要強大的工具

3種運行Llama 3.2的方法-Analytics Vidhya3種運行Llama 3.2的方法-Analytics VidhyaApr 11, 2025 am 11:56 AM

Meta's Llama 3.2:多式聯運AI強力 Meta的最新多模式模型Llama 3.2代表了AI的重大進步,具有增強的語言理解力,提高的準確性和出色的文本生成能力。 它的能力t

使用dagster自動化數據質量檢查使用dagster自動化數據質量檢查Apr 11, 2025 am 11:44 AM

數據質量保證:與Dagster自動檢查和良好期望 保持高數據質量對於數據驅動的業務至關重要。 隨著數據量和源的增加,手動質量控制變得效率低下,容易出現錯誤。

大型機在人工智能時代有角色嗎?大型機在人工智能時代有角色嗎?Apr 11, 2025 am 11:42 AM

大型機:AI革命的無名英雄 雖然服務器在通用應用程序上表現出色並處理多個客戶端,但大型機是專為關鍵任務任務而建立的。 這些功能強大的系統經常在Heavil中找到

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
3 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),