模型冻结部分层的训练方式:
- 第一步:在训练之前,将除了
Embedding
之外的层设置为param.requires_grad = False
,如下所示:
for name, param in model.named_parameters():
if "model.embed_tokens" not in name:
param.requires_grad = False
- 第二步:在训练的时候,在优化器中添加过滤器filter把
requires_grad = False
的参数过滤掉,这样在训练的时候,不会更新这些参数,如下所示:
optimizer = AdamW(filter(lambda p: p.requires_grad, model.parameters()))
标签:False,训练,grad,模型,param,tips,requires,model
From: https://www.cnblogs.com/qiaoqifa/p/17441237.html