lorax:一個可在單一 GPU 上擴展至數千個微調 LLM 的多 LoRA 推論伺服器
lorax:一個可在單一 GPU 上擴展至數千個微調 LLM 的多 LoRA 推論伺服器
它解決了什麼問題
LoRAX(LoRA eXchange)透過讓數千個微調的大型語言模型(LLM)共用同一塊 GPU,降低了服務這些模型的成本與複雜度。它消除了為每個基礎模型的微調版本都必須配備獨立 GPU 的需求,否則成本將高得難以承受。
它是如何運作的
LoRAX 使用共享的基礎模型,並在每次請求時動態載入特定任務的 LoRA adapter。它採用了多項優化技術以維持高效能:
- 動態 Adapter 載入: 來自 HuggingFace、Predibase 或本機檔案系統的 adapter 會即時載入,且不會阻塞其他請求。
- 異質持續批次處理: 不同 adapter 的請求會被打包到同一批次中,以保持吞吐量與延遲的穩定。
- Adapter 交換排程: 非同步系統會預先抓取並在 GPU 與 CPU 記憶體之間搬移 adapter,優化吞吐量。
- 優化推論: 利用張量平行、量化以及 Flash‑Attention、Paged Attention、SGMV 等專屬 CUDA 核心,達到高效率。
目標使用者
需要在大規模部署與服務多個微調 LLM,且不想犧牲效能或大幅減少 GPU 記憶體使用率的開發者與機器學習工程師。
重點特色
- 巨量可擴展性: 在單一 GPU 上服務數千個微調模型。
- 相容 OpenAI: 透過 OpenAI 相容的 API 支援多輪對話。
- 可投入生產: 提供 Docker 映像、Kubernetes Helm chart 以及 Open Telemetry 用於分散式追蹤。
- 彈性模型支援: 相容 Llama、Mistral、Qwen 等架構,支援透過 PEFT 與 Ludwig 訓練的 adapter。
Sources
- undefinedpredibase/lorax