一、预训练
预训练(Pre-training)是深度学习中的一种策略,特别是在自然语言处理(NLP)领域中广泛使用。它通过在大量未标注的数据上训练模型,以学习语言的通用特征和模式,而这一过程是无监督/自监督的。这些通用特征随后可以通过微调(Fine-tuning)过程迁移到特定的下游任务中。
1、基本流程
(1)数据准备
收集大量的未标注文本数据,这些数据可以来自书籍、文章、网页内容等任何可获取数据的渠道。通过对数据进行包括分词、清洗和格式化等简单的预处理,就可以直接用于预训练了。所以无监督/自监督并不意味着直接把原始数据喂给模型就可以的,至少也得把数据转换成模型可理解的格式。
(2)模型选择
不同的模型架构适合不同类型的任务,因此选择什么样的模型需要根据任务的特点来进行判断。研究经验告诉我们,使用Transformer模型的编码器堆叠而成的Bert类模型适合用于文本表示、文本理解;而使用Transformer模型解码器堆叠而成的GPT类模型更适合用于文本生成、推理的任务。不过直到目前为止,业界不论搭建什么样的新模型,似乎都是Transformer模型的变体,只能说你大爷还是你大爷!
(3)预训练任务设计
设计无监督/自监督学习任务是预训练过程最重要的一步,也决定了预训练后模型的表现优劣。如我们熟知的Bert模型,在预训练阶段就设计了两个任务,一个是掩码语言模型(Masked Language Model,MLM&#x