什么是 LoRA 秩(LoRA Rank)?

LoRA 秩(LoRA Rank)是表示 LoRA 权重更新的两个可训练矩阵所使用的内部维度 r。它限制更新矩阵的秩并控制参数容量,但不能直接预测任务质量,也不存在适用于所有任务的默认值。

快速了解

规范文档官方规范

工作原理

从每个目标矩阵形状计算 Rank 成本

A 的形状为 r × d_in,B 的形状为 d_out × r,因此忽略 Bias 和 modules_to_save 时,单个目标增加 r(d_in + d_out) 个可训练权重。应对所有命中的 Layer 求和,不能用全模型参数量乘一个百分比。[LoRA 论文](https://arxiv.org/html/2106.09685)在实验更新中观察到低秩结构,但其有效 Rank 和资源降幅不是通用默认值。

把 Rank、Scaling 与放置位置联合设计

Rank 决定容量,Alpha 与 Scaling Rule 决定更新幅度,Target Module 则决定容量放在哪里。当前 [PEFT LoRA 文档](https://huggingface.co/docs/peft/main/en/package_reference/lora)支持逐层 rank_pattern、alpha_pattern、多种初始化和直接 Expert Parameter 目标;这些能力依赖具体实现,无法匹配的模块表达式还可能让计划预算静默失效。

选择通过门禁的最小候选

使用不可变 Base、数据切分、Tokenizer、Template、目标集合、初始化、Optimizer、Step Budget 与 Seed 做有界 Rank Sweep。按切片比较任务质量、回归、方差、设备与主机峰值内存、Wall Time、Adapter 字节和服务延迟。[AdaLoRA](https://arxiv.org/html/2303.10512)说明均匀 Rank 未必最优,但其收益仍受模型与实验协议限制。

主要特点

  • 定义每个选定权重的 A、B 更新矩阵所共享的内部维度
  • 每个目标权重增加 r ×(输入维度 + 输出维度)个参数
  • 会改变容量与资源使用,但不会单调决定留出集质量
  • 与目标模块、alpha 缩放、初始化、优化器、数据和训练预算相互作用
  • 影响 Adapter 制品大小,以及部分服务运行时的 Rank 上限或缓存容量
  • 必须在不可变 Train、Validation 和 Test Revision 上通过受控试验选择

常见用途

  1. 为版本化的指令遵循或分类任务比较 Adapter 容量
  2. 规划可训练参数、优化器状态、制品存储与服务缓存
  3. 比较扩大目标模块覆盖与提高 rank 哪一种更有价值
  4. 为受治理的多 Adapter 服务定义最大支持 rank
  5. 先排除 Label、Loss Mask、数据泄漏与质量问题,再诊断容量限制

示例

loading...
Loading code...

常见问题

LoRA 应该使用多大的 rank?

不存在通用 rank。选择符合资源包络的有界候选集,固定基座、目标模块、数据、缩放策略、优化器和评测,再在留出的任务与回归切片上比较多次运行。应选择满足发布门槛的最小 rank,而不是复制流行数值。

rank 越高质量一定越好吗?

不一定。更高 rank 会扩大更新参数化,但优化过程、数据质量、目标模块和评测决定新增容量是否有用。它可能没有可测收益,也可能增加方差、过拟合、显存、存储和服务缓存消耗。

LoRA rank 会增加多少参数?

对输入维度为 d_in、输出维度为 d_out 的单个目标权重,rank r 为 A 和 B 增加 r ×(d_in + d_out)个参数。应对所有选定权重和层求和,再加入训练的 Bias、Embedding、Head 或 modules_to_save 参数。

LoRA rank 如何影响部署?

rank 会改变 Adapter 字节数,还可能改变运行时计算、缓存分配、最大并发 Adapter 数和引擎兼容性。服务系统可能限制最大 rank,或按最大值预留缓存,因此训练配置必须与服务容量共同规划。

LoRA 质量不好时应该先增加 rank 吗?

不应该。先检查 Label、Completion 或 Assistant Loss Mask、截断、Chat Template、重复数据泄漏、目标模块名称和未修改基座表现。只有排除这些问题后,才把增加 rank 作为受控实验;真正问题也可能是数据或训练目标不合适。

相关术语

相关文章

LoRA 微调教程:QLoRA、PEFT 与参数配置实战(2026)

LoRA 微调教程,系统讲解低秩适配原理、rank、alpha、target_modules 与 dropout 参数配置,提供 Hugging Face PEFT 和 QLoRA 训练示例,对比显存占用、全量微调与量化微调差异,并覆盖适配器合并、推理部署、过拟合控制和多任务维护,帮助开发者在目标硬件上评估并定制大语言模型。

2026-02-21

LLM 微调实战:SFT、LoRA、QLoRA 与评测

系统讲解 LLM 微调的完整工程路径,覆盖 SFT、全参数更新、LoRA、QLoRA、数据血缘、聊天模板、防泄漏切分、可复现实验清单、未触碰测试集、产物身份、安全门禁、部署与回滚。通过 Go 数据校验与评测示例,帮助团队区分训练目标、可训练参数和量化策略,避免照搬固定显存、数据量、超参数或质量承诺。

2026-02-21

RAG vs 微调:基于证据的大模型架构选型指南

系统比较 RAG、微调与长上下文的真实工程边界,覆盖知识更新、行为适配、检索质量、幻觉与引用、延迟、成本、数据删除、评测协议和混合架构,帮助团队用同一测试集选择能通过生产门禁的方案,而不是套用“知识用 RAG、行为用微调”的口号。文章进一步拆解语料覆盖、授权召回、排序、生成、训练泄漏与适配器生命周期等失败模式,并给出可运行的 Go 验收门禁、成本口径、安全控制与可逆实验流程。

2026-04-08