Skip to main content
QUICK REVIEW

[论文解读] Punica: Multi-Tenant LoRA Serving

Lequn Chen, Zihao Ye|arXiv (Cornell University)|Oct 28, 2023
Advanced Neural Network Applications被引用 4
一句话总结

Punica 是一个支持多租户的 LoRA 服务系统,通过引入一种新型 CUDA 内核——分段聚集矩阵-向量乘法(SGMV),实现了在单个 GPU 上高效批处理多个不同 LoRA 模型,从而避免重复加载基础预训练模型。该设计使吞吐量比当前最先进的 LLM 服务系统高出 12 倍,且每个 token 的延迟仅增加 2ms。

ABSTRACT

Low-rank adaptation (LoRA) has become an important and popular method to adapt pre-trained models to specific domains. We present Punica, a system to serve multiple LoRA models in a shared GPU cluster. Punica contains a new CUDA kernel design that allows batching of GPU operations for different LoRA models. This allows a GPU to hold only a single copy of the underlying pre-trained model when serving multiple, different LoRA models, significantly enhancing GPU efficiency in terms of both memory and computation. Our scheduler consolidates multi-tenant LoRA serving workloads in a shared GPU cluster. With a fixed-sized GPU cluster, our evaluations show that Punica achieves 12x higher throughput in serving multiple LoRA models compared to state-of-the-art LLM serving systems while only adding 2ms latency per token. Punica is open source at https://github.com/punica-ai/punica .

研究动机与目标

  • 为解决在共享 GPU 集群中服务多个 LoRA 模型时的低效问题,传统方法需为每个模型单独分配 GPU。
  • 实现跨不同 LoRA 模型的推理请求批处理,突破批处理通常要求模型相同的限制。
  • 通过共享基础模型权重,将多租户 LoRA 工作负载集中到最少数量的 GPU 上,提升 GPU 利用率。
  • 在推理过程中保持低延迟,特别是在主导服务成本的解码阶段。
  • 设计一种调度器,支持动态整合与迁移 LoRA 工作负载,以实现 GPU 资源的最优利用。

提出的方法

  • 设计新型 CUDA 内核——分段聚集矩阵-向量乘法(SGMV),通过处理分段的输入和输出数据,实现跨不同 LoRA 模型的 GPU 操作批处理。
  • 利用 SGMV 实现单个 GPU 同时服务多个 LoRA 模型,仅需复用一份基础预训练模型的权重。
  • 实现两阶段调度策略:首先将新请求路由至利用率较低的 GPU 以最大化批处理规模;随后主动迁移现有请求以实现工作负载整合。
  • 按需加载 LoRA 适配器权重,延迟控制在毫秒级,避免预加载并减轻内存压力。
  • 与现有优化技术(如 vLLM、FlashAttention 和 KV 缓存量化)集成,进一步提升性能。
  • 利用从同一基础模型微调得到的多个 LoRA 模型之间的权重相关性,实现高效的共享推理。

实验结果

研究问题

  • RQ1能否有效将批处理扩展至支持同一 GPU 上多个不同 LoRA 模型,即使存在模型特定的适配器矩阵?
  • RQ2为实现不同 LoRA 模型的并发执行且不复制基础模型权重,需要哪些内核级优化?
  • RQ3如何设计调度器,以在共享 GPU 集群中高效整合多租户 LoRA 工作负载,同时保持低延迟?
  • RQ4与预加载相比,按需加载 LoRA 权重的性能开销如何?
  • RQ5通过在多个 LoRA 适配器间共享基础模型,GPU 内存与计算利用率最多可提升多少?

主要发现

  • Punica 在相同固定 GPU 集群上服务多个 LoRA 模型时,吞吐量比当前最先进的 LLM 服务系统高出 12 倍。
  • 与基线系统相比,该系统每个 token 仅增加 2ms 延迟,表明性能开销极低。
  • SGMV 实现了同模型与不同模型请求批处理之间的性能近乎一致,表明模型多样性带来的性能损失可忽略不计。
  • 按需加载 LoRA 权重仅引入毫秒级延迟,支持灵活高效的资源分配。
  • 调度器通过动态迁移请求成功实现工作负载整合,使空闲 GPU 可被释放,提升了集群利用率。
  • 系统通过优先处理大批次并仅在现有 GPU 全部饱和时才分配新 GPU,从而保持高 GPU 利用率。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。