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 訓練的適配器。