選擇語言

Splitwise:透過階段分割實現高效能生成式LLM推理

Splitwise 透過將提示計算同令牌生成階段分拆到唔同機器,優化LLM推理,實現更高吞吐量同更低成本/功耗。
computingpowercoin.org | PDF Size: 2.6 MB
評分: 4.5/5
您的評分
您已經為此文檔評過分
PDF文檔封面 - Splitwise:透過階段分割實現高效能生成式LLM推理

目錄

1. 簡介

生成式大型語言模型(LLMs)徹底改變咗自然語言處理,但係佢哋嘅計算需求為高效能推理帶嚟重大挑戰。Splitwise方法透過識別同利用LLM推理中兩個主要階段嘅獨特計算特性,嚟應對呢啲挑戰。

2. 背景同動機

2.1 LLM推理階段

LLM推理包含兩個唔同階段:

  • 提示計算階段: 對所有輸入令牌進行計算密集型嘅並行處理
  • 令牌生成階段: 對輸出令牌進行記憶體密集型嘅順序生成

2.2 硬件限制

GPU規格比較

A100 對比 H100:計算能力提升3.43倍,但記憶體頻寬只係改善咗1.64倍

現代GPU喺計算能力同記憶體性能之間顯示出唔成比例嘅擴展,導致LLM推理出現效率低下嘅問題。

3. Splitwise設計

3.1 架構概覽

Splitwise將提示計算同令牌生成部署喺唔同嘅機器上,每部機器都針對各自階段嘅需求進行優化。

3.2 階段專用資源管理

提示階段使用高計算能力GPU(H100),令牌生成階段使用成本效益高嘅GPU。

4. 技術實現

4.1 數學基礎

Transformer中嘅注意力機制可以表示為:

$Attention(Q, K, V) = softmax(\\frac{QK^T}{\\sqrt{d_k}})V$

其中$Q$、$K$、$V$分別代表查詢、鍵同值,$d_k$係鍵嘅維度。

4.2 代碼實現

class SplitwiseScheduler:
    def schedule_request(self, request):
        if request.phase == "prompt":
            return self.assign_to_prompt_machine(request)
        else:
            return self.assign_to_token_machine(request)
    
    def transfer_state(self, prompt_output, token_machine):
        # 使用RDMA進行高效狀態傳輸
        return token_machine.load_state(prompt_output)

5. 實驗結果

Splitwise實現咗:

  • 吞吐量提高1.4倍,成本降低20%
  • 喺相同功率同成本預算下,吞吐量多咗2.35倍
  • 改善咗延遲一致性同資源利用率

6. 分析同討論

Splitwise透過解決計算需求同硬件能力之間嘅根本唔匹配,代表咗LLM推理優化嘅重大進步。呢個方法從分散式系統原則中汲取靈感,類似於MapReduce同其他並行處理框架中使用嘅原則。透過認識到令牌生成階段係記憶體限制而唔係計算限制,Splitwise實現咗更有效率嘅資源分配,符合每個推理階段嘅實際計算需求。

呢項工作建立喺電腦體系結構中已確立嘅原則之上,特別係Wulf同McKee喺1995年指出嘅記憶體牆問題,該問題強調咗處理器速度同記憶體性能之間日益增長嘅差距。Transformer架構嘅注意力機制,最早喺Vaswani等人2017年嘅論文《Attention is All You Need》中引入,本身就創造咗呢兩個唔同嘅計算階段,但之前嘅優化工作主要集中喺模型壓縮同量化,而唔係架構分離。

同傳統單體部署相比,Splitwise嘅階段分離方法展示咗點樣更有效咁利用專用硬件,類似於Google嘅TPU pods針對特定ML工作負載進行優化。考慮到現代LLM部署嘅大規模,1.4倍嘅吞吐量提升同20%嘅成本降低尤其顯著,即使係細小嘅百分比改善都會轉化為可觀嘅運營節省。

該方法符合異構計算嘅近期趨勢,即系統結合咗針對特定任務優化嘅唔同類型處理器。隨著LLMs喺規模同複雜性上不斷增長,像Splitwise咁樣嘅方法對於可持續AI部署將變得越來越重要,解決同大規模模型推理相關嘅經濟同環境問題。

7. 未來應用

未來方向包括:

  • 多模態模型推理優化
  • 邊緣計算部署
  • 實時自適應資源分配
  • 同新興硬件架構集成

8. 參考文獻

  1. Vaswani, A., et al. "Attention is All You Need." NeurIPS 2017.
  2. Brown, T., et al. "Language Models are Few-Shot Learners." NeurIPS 2020.
  3. Wulf, W. A., & McKee, S. A. "Hitting the memory wall: implications of the obvious." ACM SIGARCH Computer Architecture News, 1995.
  4. NVIDIA Corporation. "NVIDIA H100 Tensor Core GPU Architecture." 2022.
  5. Dean, J., & Ghemawat, S. "MapReduce: Simplified data processing on large clusters." OSDI 2004.