【发布时间】:2020-12-08 02:46:28
【问题描述】:
我一直在阅读有关 BERT 的信息,并将 BERT 嵌入用于分类任务。我已经阅读了很多文章,但我对它的理解仍然不是 100%(我自学了 NLP,所以我对资源的访问可能会受到一些限制)。首先,我将描述我的任务。
我计划使用 BERT 嵌入进行分类,因为它封装了含义和语言。不幸的是,我的语言(爱尔兰语)没有 BERT 模型,所以我考虑训练自己的模型。我知道 BERT 基本上是 Transformer Encoder 的“扩展”。
这是我的问题/疑问:
-
我认为这很明显,但要检查一下,预训练的 BERT 嵌入不能应用于不同的语言(标准嵌入模型是在英语的 wiki 数据集上训练的,我认为它可能不适用于其他语言明显的原因)?
-
我的数据集包含大约 850k 的爱尔兰语句子(大约 2200 万字)。这足以训练一个像样的 BERT 模型吗?我可以找到更多数据,但要在爱尔兰语中获得更多数据会非常困难。
-
是否会建议在 PyTorch 或 TensorFlow 中“从头开始”制作 BERT 模型,或者 Fairseq 和 OpenNMT 之类的模型好用吗?
对于这样一个不连贯的问题,我深表歉意,但总而言之,我到处都在试图完全理解 BERT,特别是训练过程和仅针对嵌入进行调整。如果这一切都错了,或者只是有建议,我将不胜感激。
【问题讨论】:
-
通常不建议从头开始训练 Bert,因为它需要一些相当大的资源,除非你想等待数年才能结束训练。您是否研究过多语言模型?
-
@N.Kiefer 是的,正如我发布的那样,我直接从 BERT github repo 中遇到了这样的模型。我将尝试使用这些并四处寻找其他人。只是问一下,你知道其他多语言模型吗?
-
鉴于您使用 python,您知道
transformers包吗?它还有社区训练的模型here。
标签: python tensorflow nlp pytorch bert-language-model