LLM模型微调方法
(一)Freeze 方法
Freeze 方法即参数冻结,通过冻结原始模型的大部分参数,仅训练少部分参数,大幅减少显存占用,从而实现对大模型的微调。该方法实现简单,在代码中只需设置需要微调的层的参数。例如,可通过循环遍历模型参数,依据层名判断是否冻结,如冻结除特定层(如 “layers.27”“layers.26” 等)之外的参数 ,使得模型训练时仅特定层参数参与更新。
for name, param in model.named_parameters():
if "layers.27" in name or "layers.26" in name:
param.requires_grad = True
else:
param.requires_grad = False
如此,模型训练时仅特定层参数参与更新。近期研究还发现,冻结底层参数可显著缓解 “虚假遗忘” 现象。在持续学习场景下,模型学习新任务时旧任务性能常骤降,但通过冻结底层参数,能低成本且有效地维持旧任务的性能。