概述
連續批次處理是一種服務技術,可以從正在運行的批次中逐個令牌新增和刪除請求,而不是等待整個固定批次完成。它使 GPU 持續忙碌,並急劇增加 AI 模型可以同時服務的用戶數量。
連續批次處理是一個技術構建塊,會大規模影響模型品質、基礎設施成本、延遲和可靠性。
深入探討
當 GPU 批次處理多個請求時,速度最快。最簡單的方法是靜態批次處理,將一組固定的請求分組,將它們全部運行完成,然後開始下一個批次。問題是:語言模型輸出的長度差異很大,因此較短的請求會提前完成,並且在批次等待最長的請求時,它們的插槽會閒置,從而浪費 GPU 週期並延遲新到達。連續批次(也稱為運行中或迭代級批次處理,由 Orca 論文推廣並用於 vLLM、TensorRT-LLM 和 TGI)以單一解碼步驟的粒度進行操作。產生每個令牌後,完成的序列退出批次,新到達的請求立即插入。這可以保持批次滿和 GPU 飽和,通常可以將吞吐量提高數倍,同時降低等待用戶的延遲。
技術洞察
關鍵的轉變是從批次整個請求到批次單一迭代。在每個解碼步驟中,調度程序都會建立活動集:它對所有正在進行的序列運行一次前向傳遞,每個發出一個令牌,逐出任何達到序列結束令牌或長度限制的令牌,並允許排隊的請求來填充已釋放的插槽。將此與 PagedAttention 靈活的 KV 記憶體配合使用,可以在飛行中插入和刪除序列,成本低廉,因為每個序列的快取都位於獨立的區塊中。
掌握連續配料
連續批次處理是一種服務技術,可以從正在運行的批次中逐個令牌新增和刪除請求,而不是等待整個固定批次完成。它使 GPU 持續忙碌,並急劇增加 AI 模型可以同時服務的用戶數量。連續批次處理是一個技術構建塊,會大規模影響模型品質、基礎設施成本、延遲和可靠性。為了建立深入的理解,請將連續批次視為一種操作模型,而不是單一功能:定義所需的結果,澄清假設,並將系統可以可靠地執行的操作與仍需要專家判斷的操作分開。
在實踐中,使用連續批次的強大團隊根據可靠性和成本優化架構、資料和基礎設施選擇。他們記錄明確的成功標準,根據實際數據和工作流程進行測試,並根據觀察到的失敗模式而不是一次性基準測試勝利進行迭代。這就是理論理解轉變為跨產品、政策和營運的持久能力的地方。
多年來,架構決策決定著效能和營運成本。同時,優化一個基準測試可以隱藏更廣泛的系統弱點。最具彈性的方法是將實驗速度與治理規則結合:運行試點、捕獲證據、發布決策日誌,並隨著模型行為、使用者期望和監管要求的發展不斷更新保障措施。
戰略影響
多年來,架構決策決定著效能和營運成本。
多年來,架構決策決定著效能和營運成本。在高品質部署中,這會轉化為可衡量的操作規則、所有權邊界和定期審查儀式,以便團隊可以增強信心,而不是擴大模糊性。
技術教育幫助團隊選擇正確的堆疊,而不僅僅是最新的堆疊。
技術教育幫助團隊選擇正確的堆疊,而不僅僅是最新的堆疊。在高品質部署中,這會轉化為可衡量的操作規則、所有權邊界和定期審查儀式,以便團隊可以增強信心,而不是擴大模糊性。
更好的工程選擇可以減少生產中的可靠性事故。
更好的工程選擇可以減少生產中的可靠性事故。在高品質部署中,這會轉化為可衡量的操作規則、所有權邊界和定期審查儀式,以便團隊可以增強信心,而不是擴大模糊性。
現實世界的實施
聊天 API 立即將新到達的用戶訊息接納到正在運行的批次中,而不是將它們排隊等待下一個批次
在批次中驅逐較短的已完成答案並回填其插槽,以便 GPU 永遠不會閒置等待較長的一代
將連續批次與 vLLM 的 PagedAttention 結合,在每個解碼步驟中以低成本插入和刪除序列
程式碼完成服務透過保持批次完整,在突發、可變長度流量下維持每秒高令牌數
實施模式
連續配料實踐
聊天 API 立即將新到達的用戶訊息接納到正在運行的批次中,而不是將它們排隊等待下一個批次。
聊天 API 立即將新到達的用戶訊息接納到正在運行的批次中,而不是將它們排隊等待下一個批次。當團隊預先定義品質閾值、為邊緣情況保留人工升級路徑並隨著時間的推移追蹤生產力增益和錯誤成本時,通常會獲得更好的結果。
連續配料實踐
在批次中驅逐一個已完成的簡短答案並回填其插槽,以便 GPU 永遠不會閒置等待較長的一代。
在批次中驅逐已完成的簡短答案並回填其插槽,以便 GPU 永遠不會閒著等待長時間的生成。當團隊預先定義品質閾值、為邊緣情況保留人工升級路徑並隨著時間的推移追蹤生產力增益和錯誤成本時,通常會獲得更好的結果。
連續配料實踐
將連續批次與 vLLM 的 PagedAttention 結合,在每個解碼步驟中以低成本插入和刪除序列。
將連續批次與 vLLM 的 PagedAttention 結合,在每個解碼步驟中以低廉的成本插入和刪除序列 當團隊預先定義品質閾值、為邊緣情況保留人工升級路徑並隨著時間的推移跟踪生產力增益和錯誤成本時,通常會獲得更好的結果。
連續配料實踐
一種代碼完成服務,透過保持批次完整,在突發、可變長度流量下維持每秒高令牌數。
程式碼完成服務透過保持批次完整,在突發、可變長度流量下維持每秒高令牌數。當團隊預先定義品質閾值、為邊緣情況保留人工升級路徑並隨著時間的推移追蹤生產力增益和錯誤成本時,通常會獲得更好的結果。
風險與防護欄
優化一項基準測試可以隱藏更廣泛的系統弱點。
基礎設施和維護成本常常被低估。
隨著系統變得更加複雜,安全性和可觀察性差距可能會擴大。
實施路線圖
在實施之前定義延遲、品質和成本目標。
在實施之前定義延遲、品質和成本目標。將每個步驟視為證據門:如果不符合標準,則暫停推出,縮小差距,然後再擴大使用。
在實際負載和資料條件下進行基準測試。
在實際負載和資料條件下進行基準測試。將每個步驟視為證據門:如果不符合標準,則暫停推出,縮小差距,然後再擴大使用。
儀器監控錯誤、漂移和使用者影響。
儀器監控錯誤、漂移和使用者影響。將每個步驟視為證據門:如果不符合標準,則暫停推出,縮小差距,然後再擴大使用。
在擴展之前準備回滾和事件回應路徑。
在擴展之前準備回滾和事件回應路徑。將每個步驟視為證據門:如果不符合標準,則暫停推出,縮小差距,然後再擴大使用。