模型训练-tips

模型冻结部分层的训练方式:

  • 第一步:在训练之前,将除了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()))
posted @ 2023-05-29 17:52  15375357604  阅读(108)  评论(0编辑  收藏  举报