LoRA 上手
type
status
date
slug
summary
tags
category
icon
password
HuggingFace LoRA 文档笔记
显存不够时可以使用 LoRA 训练,推理时为了消除延迟可以使用
merge_and_unload()
函数将适配器权重与基本模型合并到一个相同的新权重矩阵中。实用函数如下:
merge_adapter()
将 LoRa 层合并到基础模型中,同时保留 PeftModel。助于以后取消合并、删除、加载不同的适配器等。
unmerge_adapter()
从基础模型中取消合并 LoRa 层,同时保留 PeftModel。
unload()
在不合并活动 lora 模块的情况下取回基本模型,即取回预训练的基础模型时,将模型重置为其原始状态。例如,在 Stable Diffusion WebUI 中,尝试 LoRA 后使用基础模型进行推断时。
delete_adapter()
删除现有适配器。
add_weighted_adapter()
根据用户提供的权重方案将多个 LoRA 组合成一个新的适配器。
微调 LoRA 模型的过程如下:
- 实例化基础模型
- 创建一个 LoraConfig 配置,在其中定义 LoRA-speciffic 的参数
- 将基础模型使用
get_peft_model()
包起来,获得可训练的PeftModel
- 像训练基础模型一样训练
PeftModel
LoraConfig 解释:
- 权重初始化由
init_lora_weights
控制,默认情况下,权重 A 使用 Kaiming-uniform,权重 B 初始化为0
Last update: 2021-07-02
type
status
date
slug
summary
tags
category
icon
password
🎉 欢迎来到我的小站!
📚 这里主要分享记录开发技术和AI知识👀
❤️ 若您认可我的内容,欢迎请我喝杯咖啡~