欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > IT业 > 【NLP高频面题 - 高效微调篇】LoRA微调时有哪些可配置的参数?

【NLP高频面题 - 高效微调篇】LoRA微调时有哪些可配置的参数?

2025/4/22 17:36:31 来源:https://blog.csdn.net/weixin_44025655/article/details/145181783  浏览:    关键词:【NLP高频面题 - 高效微调篇】LoRA微调时有哪些可配置的参数?

【NLP高频面题 - 高效微调篇】LoRA微调时有哪些可配置的参数?

重要性:★★★

LoRA 微调示例:

from peft import LoraConfig, get_peft_model# LoRA 配置
config = LoraConfig(r=16,lora_alpha=16,target_modules=["query", "value"],lora_dropout=0.1,bias="none",modules_to_save=["classifier"],
)model = get_peft_model(model, config)
model.print_trainable_parameters()"trainable params: 667,493 || all params: 86,543,818 || trainable%: 0.7712775047664294"

LoraConfig(PeftConfig)源码

lora 主要参数解读:

r
解读: LoRA低秩矩阵中rank的大小,需要在模型复杂性、适应能力以及欠拟合、过拟合的风险之间进行权衡。

较小的 r 对应的是更简单的低秩矩阵,模型在训练中学习的参数更少。这可以加快训练速度,并可能降低计算需求。
但是,随着 r 越小,低秩矩阵捕获特定任务信息的能力就会降低,模型在新任务上的表现可能不如较高的r。
实际训练中需要尝试不同的 r 值,以找到合适的平衡点,以在新任务上实现所需的性能。

lora_alpha
解读: 一个比例因子,用于在前向传播过程中将 LoRA参数以一定的缩放比例应用于模型之中,用于调整原始模型输出加上低秩适应两者组合结果的大小。正如下面公式所示,此比例因子值越大,Lora参数的影响就越大。

scaling = alpha / r
weight += (lora_B @ lora_A) * scaling

lora_dropout
解读: 用于控制在训练过程中应用于 LoRA 层的 dropout参数比例,取值在0-1之间。0.1表示丢弃10%的神经元,这部分被丢弃的神经元不参与计算。

注:Dropout 是一种正则化技术,只用于训练过程,通过随机丢弃一部分神经元来,来减少训练过程中模型对特定特征的依赖,从而防止模型过拟合,尤其适用于数据量较小或模型较复杂的情况下。

inference_mode
解读:是否为推理模式,设置为False表示训练模式。

target_modules
解读:用于指定模型中具体哪些模块将应用 LoRA 适配器,这里的模块与具体模型的结构有关,一般都需要包括注意力部分的q、k、v模块。


NLP 大模型高频面题汇总

NLP基础篇
BERT 模型面
LLMs 微调面

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词