我很好奇是否可以在文本生成中使用迁移学习,并对特定类型的文本进行再培训/预训练。
例如,有一个经过预先训练的BERT模型和一个小型的医学语料库(或任何“类型”)文本,就可以生成一个能够生成医学文本的语言模型。假设你没有大量的“医学文本”,这就是为什么你必须使用转移学习。
我把它说成是一条管道,我把它描述为:
这听起来耳熟吗?抱着脸有可能吗?
发布于 2020-04-25 09:04:13
我没有听说过你刚才提到的管道。为了为用例构造LM,基本上有两个选项:
抱着脸有可能吗?
我不确定huggingface开发人员是否开发了一种健壮的方法,用于在定制企业上对伯特模型进行预培训,因为他们声称他们的代码仍在进行中,但如果您对此步骤感兴趣,我建议使用谷歌研究公司的伯特代码,该代码是用Tensorflow编写的,并且完全健壮(由伯特的作者发布)。在他们的自述和Pre-training with BERT部分下,确切的过程已经声明。这将为您提供Tensorflow检查点,如果您想要使用Pytorch/Transformers,可以很容易地将其转换为Pytorch检查点。
发布于 2022-05-03 07:59:36
这是完全可能的训练前和进一步的预训练伯特(或几乎任何其他模式,可在拥抱面库)。
关于令牌器--如果您正在一个小的定制语料库上进行预训练(因此使用经过训练的Bert检查点),那么您必须使用用于训练bert的令牌器。否则,你只会混淆模型。
如果您的用例是文本生成(从最初的句子/句子的一部分),那么我可以建议您检查gpt-2 (https://huggingface.co/gpt2)。我没有使用GPT-2,但通过一些基础研究,我认为你可以:
from transformers import GPT2Tokenizer, TFGPT2Model
tokenizer = GPT2Tokenizer.from_pretrained('gpt2')
model = TFGPT2Model.from_pretrained('gpt2')遵循本教程:https://towardsdatascience.com/train-gpt-2-in-your-own-language-fc6ad4d60171关于如何训练gpt-2模型。
注:我不确定,例如,DeBERTa-V3是否可以像往常一样接受预培训。我已经检查了他们的github回购,似乎V3没有官方的预培训代码(https://github.com/microsoft/DeBERTa/issues/71)。然而,我认为,用拥抱的脸,我们实际上可以做到这一点。一旦我有时间,我将运行一个预训练脚本,并验证这一点。
https://stackoverflow.com/questions/61416197
复制相似问题