在特定领域继续训练预训练的 BERT 模型的最简单方法是啥?
Posted
技术标签:
【中文标题】在特定领域继续训练预训练的 BERT 模型的最简单方法是啥?【英文标题】:What is the simplest way to continue training a pre-trained BERT model, on a specific domain?在特定领域继续训练预训练的 BERT 模型的最简单方法是什么? 【发布时间】:2021-07-20 17:49:58 【问题描述】:我想使用预训练的 BERT 模型,以便在文本分类任务中使用它(我正在使用 Huggingface 库)。但是,预训练模型是在与我不同的领域上训练的,并且我有一个大型未注释数据集,可用于对其进行微调。如果我只使用我的标记示例并在针对特定任务 (BertForSequenceClassification) 进行训练时“随时随地”对其进行微调,那么数据集太小而无法适应特定领域的语言模型。最好的方法是什么? 谢谢!
【问题讨论】:
Few Shot Learning 【参考方案1】:让我们先澄清几点以减少歧义。
-
BERT 使用两个预训练目标:Masked Language Modeling (MLM) 和 Next Sentence Prediction。
您提到有一个大型未注释数据集,您计划使用它来微调您的 BERT 模型。这不是微调的工作方式。为了微调您的预训练模型,您需要一个注释数据集,即用于序列分类下游任务的文档和类对。
那你能做什么?首先,使用由特定领域词汇组成的未注释数据集扩展您的通用域标记器。然后,使用这个扩展的分词器,您可以继续对 MLM 和/或 NSP 目标进行预训练,以修改您的词嵌入。最后,使用带注释的数据集微调您的模型。
【讨论】:
如果您的注释数据集规模较小,例如,约 1000 个样本和约 40 个唯一类,该怎么办?以上是关于在特定领域继续训练预训练的 BERT 模型的最简单方法是啥?的主要内容,如果未能解决你的问题,请参考以下文章