设置低秩适配器(LoRA)
设置低秩适配器(LoRA)
低秩适配器(LoRA)可以被添加到每一个量化层中。这些适配器本质上是常规的线性层,能够像普通模型一样轻松地进行参数更新。这种方法的巧妙之处在于,这些适配器的规模要比被量化的层小得多。
由于量化层是被冻结的(无法更新),在量化模型上设置LoRA适配器可以将可训练参数的总量大幅减少至原始模型的1%甚至更少。
设置LoRA适配器只需三个简单步骤:
- 调用
prepare_model_for_kbit_training()
方法以提高训练过程中的数值稳定性。 - 创建一个
LoraConfig
实例。 - 使用
get_peft_model()
方法将配置应用到量化的基础模型上。
让我们在我们的模型上实践一下:
model = prepare_model_for_kbit_training(model)
config = LoraConfig(
# the rank of the adapt