LoRA modules_to_save解析及卸载适配器
-
- modules_to_save解析
- PEFT 模型中卸载适配器
- 在需保存模块列表中,还可以添加什么
modules_to_save解析
还有一个配置参数可用于指定你希望保持 “活跃且可训练” 的层列表 —— 也就是说,这些层会被设为可训练状态。更便捷的是,你无需提供完整的层全称列表;该参数会通过正则表达式,将你列表中的名称与模型中的层进行匹配。因此,若我们确实希望让层归一化层(layer norm)保持可训练,只需在列表中添加 “layer_norm” 即可。
PEFT 模型中卸载适配器
我们应始终将配置应用于 “全新的” 模型。get_peft_model()函数会在原地修改底层模型,因此若我们使用多个不同的配置对象重复调用该函数,这些配置会相互混淆。我们固然可以重新加载量化模型并重新准备,但更简单的方法是直接从现有的 PEFT 模型中卸载(移除)适配器。有关unload()方法的更多细节,请参阅 “Managing Adapters”(适配器管理)章节。
_ = peft_model.unload()
在典型的工作流程中,我们只需加载一次配置,这样就无需采用这种变通方法了。
以下是完全实现该操作的示例: