1、了解迁移学习中的有关概念
1.1、预训练模型(pretrained model)
一般情况下预训练模型都是大型模型,具备复杂的网络结构,众多的参数量,以及在足够大的数据集下进行训练而产生的模型。在NLP领域,预训练模型往往是语言模型,因为语言模型的训练是无监督的,可以获得大规模语料,同时语言模型又是许多典型的NLP任务的基础,如机器翻译、文本生成、阅读理解等。常见的预训练模型有BERT,GPT,roBERTa,transformer-XL等。
1.2、微调(Fine-tuning)
根据给定的预训练模型,改变它的部分参数或者为其新增部分输出结构后,通过在小部分数据集上训练,来使整个模型更好的适用特定任务
1.3、微调脚本(Fine-tuning script)
实现微调过程的代码文件。这些脚本文件中,应包括对预训练模型的调用,对微调参数的选定以及对微调结构的更改等。同时,因为微调是一个训练过程,她同样需要一些超参数的设定,以及损失函数和优化器的选取等,因此微调脚本往往也包含了整个迁移学习的过程。
1.4、关于微调脚本的说明
一般情况下,微调脚本应该由不同的任务类型开发者自己编写,但是由于目前研究NLP任务类型(分类、提取、生成)以及对应的微调输出结构都是有限的,有些微调方式已经在很多数据集上被验证有效的,因此微调脚本也可以使用已经完成的规范脚本