更新时间:2025-07-29 GMT+08:00
分享

multi-lora

什么是multi-lora

LoRA(Low-Rank Adaptation)是一种适用于大模型的轻量化微调技术方法。原理是通过在模型层中引入低秩矩阵,将大模型的权重降维处理,来实现高效的模型适配。相比于传统的微调方法,LoRA不仅能大幅减少所需的训练参数,还降低了显存和计算成本,加快了模型微调速度。对于VLLM来说,使用LoRA进行多任务部署具有以下优势:

  • 资源节省:在大模型中引入LoRA,可以减少模型需要更新的参数量,从而节省NPU内存并提高推理速度。
  • 轻量化适配:无需改变原始模型结构,通过低秩矩阵的调整即可适配不同任务。
  • 多任务并行:支持同时加载多个LoRA模块,使得VLLM可以在不同任务间快速切换,提高多任务推理的效率。

约束限制

multi-lora特性不能和Chunked Prefill特性一起使用。

multi-lora特性使用说明

如果需要使用multi-lora特性,需要在推理服务启动命令中额外添加如下命令。
--enable-lora \
--lora-modules lora1=/path/to/lora/adapter1/ lora2=/path/to/lora/adapter2/ \
--max-lora-rank=16 \
--max-loras=32 \
--max-cpu-loras=32

参数说明如下:

  • --enable-lora表示开启lora挂载。
  • --lora-modules后面添加挂载的lora列表,要求lora地址权重是Huggingface格式,当前支持QKV-proj、O-proj、gate_up_proj、down_proj模块的挂载。发请求时model指定为lora1或者lora2即为LoRA推理。
  • --max-lora-rank表示挂载lora的最大rank数量,支持8、16、32、64,选择lora1与lora2中rank数量的较大值,比如lora1对应16rank,lora2对应32rank,挂载lora的最大rank数量为32。
  • --max-loras表示支持的最大lora个数,最大32。
  • --max-cpu-loras要求配置和--max-loras相同。

相关文档