lorax:一个可在单个 GPU 上扩展至数千个微调 LLM 的多 LoRA 推理服务器

lorax:一个可在单个 GPU 上扩展至数千个微调 LLM 的多 LoRA 推理服务器

它解决了什么

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 训练的适配器。

Sources