0

我有基于 BERT 的模型检查点,这些检查点是在 Tensorflow 中从头开始训练的。如何使用这些检查点来预测给定句子中的掩码单词?

比如,假设句子是“[CLS] abc pqr [MASK] xyz [SEP]”,我想预测 [MASK] 位置的单词。

我该怎么做?我在网上搜索了很多,但每个人都在使用 BERT 来完成特定于任务的分类任务。不使用 BERT 来预测掩码词。

请帮助我解决这个预测问题。

我使用官方 BERT 存储库(https://github.com/google-research/bertcreate_pretraining_data.py从头开始使用和训练模型创建数据run_pretraining.py

我在官方 bert repo 中搜索了问题。但没有找到任何解决方案。

还查看了该仓库中的代码。他们正在使用他们正在训练的 Estimator,而不是使用检查点权重。

没有找到任何方法来使用基于 BERT 模型(从头开始训练)的 Tensorflow 检查点来预测单词掩码标记(即 [MASK])。

4

1 回答 1

0

你肯定需要从 TF 检查点开始吗?如果您可以使用pytorch-transformers库中使用的预训练模型之一,我编写了一个库来执行此操作:FitBERT

如果你必须从 TF 检查点开始,有一些脚本可以将 TF 检查点转换为 pytorch-transformers 可以使用的东西,链接,转换后你应该可以使用 FitBERT,或者你可以看看我们在做什么在代码中。

于 2019-09-11T14:27:16.760 回答