问题标签 [bert-language-model]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1444 浏览

tensorflow - 在自定义数据上微调 BERT

我想用 Bert训练一个21 类的文本分类模型。但是我的训练数据很少,所以我下载了一个类似的数据集,其中包含5 个类别和 200 万个样本。t 并使用 bert 提供的未加壳预训练模型微调下载的数据。并获得了大约 98% 的验证准确率。现在,我想将此模型用作我的小型自定义数据的预训练模型。但是我收到shape mismatch with tensor output_bias from checkpoint reader错误,因为检查点模型有 5 个类,而我的自定义数据有 21 个类。

0 投票
1 回答
844 浏览

tensorflow - BERT 如何利用 TPU 内存?

Google 的 BERT repo 中的README说,即使是长度为 512 的单个句子也不能放在 BERT-Large 模型的 12 GB Titan X 中。

但在 BERT 论文中,它说使用 64 个 TPU 芯片来训练 BERT-Large,最大长度为 512,批量大小为 256。它们如何将大于 256 倍的批量放入仅增加 171 倍的内存中?

从另一个角度来看,我们可以在每个样本的内存使用情况下比较这两种配置:

  • TPU:假设TPUv3用于预训练,总TPU内存为32GB/芯片*64芯片=2048GB。根据论文,256 的批量大小和最大长度 512 在此配置中运行良好,这意味着8 GB 内存能够容纳单个样本。此外,如果使用 GPUv2,每个样本的内存使用量将减少到仅 4 GB。
  • GPU:12 GB Titan X 甚至无法容纳长度为 512 的单个样本

为什么 GPU 上的内存消耗要大得多?这是否意味着 TPU 上的内存消耗比 GPU 上的优化方式更好?

0 投票
0 回答
288 浏览

deep-learning - 如何使用run_classifer.py,一个Pytorch实现Bert的例子进行分类任务?

如何使用微调的 bert pytorch 模型进行分类(CoLa)任务?

我没有看到争论--do_predict,在/examples/run_classifier.py

但是,--do_predict存在于 Bert 的原始实现中。

微调后的模型正在 BERT_OUTPUT_DIR 中保存为pytorch_model.bin,但是有没有一种简单的方法可以通过命令行重用它?

使用来自: https ://github.com/huggingface/pytorch-pretrained-BERT 的 Pytorch 实现

我用来执行代码的命令是:

0 投票
2 回答
7282 浏览

python - AttributeError:模块“火炬”没有属性“_six”。Pytorch 中的 Bert 模型

我尝试通过在 pytorch 中使用 BertModel 类来加载预训练模型。

我在火炬下有_six.py,但它仍然显示模块'火炬'没有属性'_six'

0 投票
1 回答
924 浏览

tensorflow - 为 BERT 创建 SavedModel

我正在将此Colab 用于 BERT 模型。

在最后一个单元格中,为了进行预测,我们有:

我想创建一个用于 TF 服务的“SavedModel”。如何为此模型创建 SavedModel?

通常我会定义以下内容:

不知道如何定义我的tf.estimator.export.ServingInputReceiver

0 投票
2 回答
13519 浏览

python - 为什么我在 pip install bert 后无法在 bert 中导入函数

我是 bert 的初学者,我正在尝试使用 GitHub 上提供的 bert 文件:https ://github.com/google-research/bert

pip install bert但是在终端使用安装bert后,我无法从bert导入文件(如run_classifier、优化等) 。我尝试在 jupiter notebook 中运行以下代码:

错误是:

然后我在里面找到了名为“bert”的文件\anaconda3\lib\python3.6\site-packages,里面没有名为“run_classifier”、“优化”等的python文件。所以我从 GitHub 下载了这些文件,并自己将它们放入文件 'bert' 中。完成此操作后,我可以导入 run_classifier。

然而,另一个问题出现了。尽管可以导入文件,但我无法使用文件中的函数。例如,convert_to_unicodetokenization.py 中有一个函数:

然后我尝试了这个:

错误是:

然后我尝试了:

错误是:

我真的很困惑。

0 投票
1 回答
96 浏览

machine-learning - 使用 BERT 对给定的字符长度或句子中的单词数进行分类

我有一个标题数据集,它们的描述和对应于描述是否有效的 0 或 1。我希望能够根据 BERT 以及描述的字符/字数来分类它们是否有效。我该怎么做?

0 投票
1 回答
1121 浏览

word-embedding - 如何将 BERT 预训练嵌入与我自己的新数据集一起使用?

我的数据集和 NLP 任务与作者预先训练他们的模型(https://github.com/google-research/bert#pre-training-with-bert)的大型语料库有很大不同,所以我不能直接微调。是否有任何示例代码/GitHub 可以帮助我用自己的数据训练 BERT?我希望得到像手套这样的嵌入。

非常感谢!

0 投票
0 回答
2771 浏览

python - 在 CPU 而不是 GPU 上运行 BERT

我正在尝试run_clasifier.py使用终端执行 BERT 的脚本,如下所示:

默认情况下在 GPU 上执行。相反,我想在 CPU 上执行它。有没有办法只为一次执行试验而不是所有后续试验。

0 投票
1 回答
1446 浏览

deep-learning - BERT 输出不确定

BERT 输出不是确定性的。当我输入相同的输入时,我希望输出值是确定性的,但是我的伯特模型中的值正在改变。听起来很尴尬,相同的值被返回两次,一次。也就是说,一旦出现另一个值,就会出现相同的值并重复。如何使输出具有确定性?让我展示我的代码片段。我使用如下模型。

对于 BERT 实现,我使用了 huggingface 实现的 BERT pytorch 实现。这是 pytorch 领域非常著名的模型 ri 实现。[链接] https://github.com/huggingface/pytorch-pretrained-BERT/

得到这样的输出

pooled_output

对于所有编码器层,情况相同,一次两次相同。

我从bert中提取词嵌入特征,情况也是一样。