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