Punica:多租户 LoRA 服务系统
Punica: Multi-Tenant LoRA Serving
AI总结:
Punica 是一个多租户 LoRA 服务系统,通过新 CUDA 内核设计实现多 LoRA 模型 GPU 操作批处理,仅保留一份预训练模型副本,在共享 GPU 集群中实现 12 倍吞吐量提升且仅增加 2ms 延迟。
摘要:
低秩适配(LoRA)已成为将预训练模型适配到特定领域的一种重要且流行的方法。我们提出了 Punica,一个在共享 GPU 集群中服务多个 LoRA 模型的系统。Punica 包含一种新的 CUDA 内核设计,允许对不同 LoRA 模型的 GPU 操作进行批处理。这使得单个 GPU 在服务多个不同的 LoRA 模型时,只需保留底层预训练模型的一份副本,从而在内存和计算两方面显著提升 GPU 效率。我们的调度器在共享 GPU 集群中整合多租户 LoRA 服务工作负载。在固定规模的 GPU 集群上,我们的评估表明,与最先进的 LLM 服务系统相比,Punica 在服务多个 LoRA 模型时实现了 12 倍的吞吐量提升,同时每个 token 仅增加 2ms 延迟。Punica 已在 https://github.com/punica-ai/punica 开源。
英文摘要:
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 .
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。