首页 > 解决方案 > 在 bert 上训练一个新的数据集

问题描述

我是 BERT 的新手

我有一个亚马逊评论数据集,我想根据评论预测星级

我知道我可以使用预训练的 bert 模型,如此处所示

但我想在我自己的数据集上训练 bert 模型。这是这里正在做的吗?我可以在具有任何数据集的预训练模型上应用这种类型的“微调”以获得更准确的结果,还是我必须做其他事情来从头开始训练模型

如果我确实想从头开始训练模型,我该从哪里开始

标签: pythontensorflownlptokenizebert-language-model

解决方案


首先什么是预训练?该过程帮助模型使用大量原始文本 (40GB) 和处理能力来学习语言的句法 <==> 语义(这是一个频谱)特征。目标函数:随意语言模型和掩码语言模型

微调预训练模型怎么样?假设有一个模型了解英语的一般方面(POS、依存关系树、主题……几乎所有东西)。微调帮助我们将模型的重点放在数据集中最重要的特征上,假设在您的数据集中,某些句法特征改变了游戏规则,模型应该小心它!目标函数:基于下游任务

对于我们大多数人来说,从头开始训练是不可行的,但是有一种方法可以使用您自己的语料库/语料库(特定于任务)继续预训练阶段,而不会破坏模型的知识片段(希望如此)!目标函数:随意语言模型和掩码语言模型

是一篇关于这种方法及其有效性的文章,您可以从ScibertCOVIDbert中得到启发。正如您所期望的那样,使用预训练的 bert 作为起点,并继续使用领域指定的语料库进行预训练!


推荐阅读