变压器 (t5) 上的微调如何工作?

How does the finetune on transformer (t5) work?

我正在使用 pytorch lightning 在特定任务上微调 t5 变压器。但是,我无法理解微调是如何工作的。我总是看到这段代码:

tokenizer = AutoTokenizer.from_pretrained(hparams.model_name_or_path) model = AutoModelForSeq2SeqLM.from_pretrained(hparams.model_name_or_path)

我不明白微调是如何完成的,他们是冻结整个模型并只训练头部,(如果是的话我怎样才能改变头部)还是他们使用预训练模型作为权重初始化?几天来我一直在寻找答案。感谢任何链接或帮助。

如果您使用的是 PyTorch Lightning,那么在您指定之前它不会冻结头部。闪电有一个回调,你可以用它来冻结你的 backbone 并只训练头模块。参见 Backbone Finetuning

另请查看 Ligthning-Flash,它允许您为各种文本任务快速构建模型,并为 backbone 使用 Transformers 库。您可以使用 Trainer 指定要为训练应用哪种微调。

谢谢