问题标签 [huggingface-transformers]

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 回答
910 浏览

apex - 为什么 huggingface bert pooler hack 让混合精度训练稳定?

Huggigface BERT 实现有一个技巧,可以从优化器中删除池化器。

https://github.com/huggingface/transformers/blob/b832d5bb8a6dfc5965015b828e577677eace601e/examples/run_squad.py#L927

我们正在尝试在 huggingface bert 模型上运行 pretrining。如果不应用此 pooler hack,则代码在训练后期总是会发散。我还看到在分类过程中使用了池化层。

池化层是一个带有 tanh 激活的 FFN

我的问题是为什么这个 pooler hack 解决了数字不稳定性?

池化器出现的问题

递减损失定标器

0 投票
1 回答
314 浏览

huggingface-transformers - 为什么在蒸馏 roBERTa 时冻结位置嵌入?

我对 huggingface 的 distillBERT 工作很感兴趣,通过查看他们的代码 ( https://github.com/huggingface/transformers/blob/master/examples/distillation/train.py ),我发现如果使用 roBERTa 作为学生模型,他们会冻结位置嵌入,我想知道这是为了什么?

我理解冻结 token_type_embeddings 的原因,因为 roBERTa 从未使用过段嵌入,但为什么要定位嵌入呢?
非常感谢您的帮助!

0 投票
1 回答
369 浏览

python - 访问几层预训练 DistilBERT 模型的输出

我正在尝试从预训练的“DistilBERT”模型的几个不同层访问输出嵌入。(“distilbert-base-uncased”)

bert_output 似乎只返回输入标记的最后一层的嵌入值。

0 投票
0 回答
175 浏览

huggingface-transformers - GPT2 huggingface 的 Transformer 预处理

在 GPT2 的预处理步骤中,我们究竟应该做什么?有什么指导方针吗?

这对于预处理步骤是否合适?

去掉多余的标点符号或任何非英文字符不是更好吗?

0 投票
2 回答
3570 浏览

machine-learning - Huggingface gpt2语言模型代码中的perplexity在哪里计算?

我看到一些 github 评论说 model() 调用的损失的输出是困惑的形式: https ://github.com/huggingface/transformers/issues/473

但是当我查看相关代码时...... https://huggingface.co/transformers/_modules/transformers/modeling_openai.html#OpenAIGPTLMHeadModel.forward

我看到交叉熵正在计算,但没有转化为困惑。损失最终在哪里转化?还是已经有我不理解的转变?

0 投票
1 回答
549 浏览

python - 从头开始训练拥抱脸的 GPT2:断言 n_state % config.n_head == 0 错误

我正在尝试将 GPT2 架构用于音乐应用程序,因此需要从头开始对其进行训练。经过一番谷歌搜索后,我发现来自拥抱脸的 github 的问题 #1714 已经“解决”了这个问题。当我尝试运行建议的解决方案时:

我收到以下错误:

这是什么意思,我该如何解决?

更一般地说,是否有关于如何使用 GPT2 进行转发呼叫的文档?我可以定义自己的train()函数还是必须使用模型的内置函数?我是被迫使用 aDataset来进行训练还是可以给它单独的张量?我找了它,但在文档上找不到这些的答案,但也许我错过了一些东西。

PS:我已经阅读了来自 huggingface.co 的博文,但它省略了太多信息和细节,对我的应用程序有用。

0 投票
1 回答
1178 浏览

tensorflow - BERT 调用函数中的关键字参数

在 HuggingFace TensorFlow 2.0 BERT 库中,文档指出:

TF 2.0 模型接受两种格式作为输入:

  • 将所有输入作为关键字参数(如 PyTorch 模型),或

  • 在第一个位置参数中将所有输入作为列表、元组或字典。

我正在尝试使用这两个中的第一个来调用我创建的 BERT 模型:

但是当我执行最后一行时,我得到一个错误:

有人可以解释如何正确使用输入的关键字参数样式吗?

0 投票
1 回答
1030 浏览

pytorch - 如何定义带有拥抱面变压器管道的摘要配给?

我正在使用下面的代码来总结一篇使用huggingface-transformer的管道的文章。使用此代码:

如何定义摘要和原始文章之间的比率?比如20%的原创文章?

编辑1:我实施了您建议的解决方案,但出现以下错误。这是我使用的代码:

我得到的错误:

0 投票
1 回答
570 浏览

nlp - 从 Transformers 库中理解 BERTforTokenClassification 类的输出的困惑

这是变压器 pytorch 库文档中给出的示例

hidden_states是一个长度为 13 的元组,包含模型在每层输出的隐藏状态以及初始嵌入输出。我想知道hidden_​​states[0] 或 hidden_​​states[12] 是否代表最终的隐藏状态向量

0 投票
1 回答
123 浏览

python - Pycharm interperter 使用了错误的路径

我正在尝试遵循说明。我下载了 Glue 数据集,并尝试运行此命令

我从 pycharm 运行命令,所以我使用这个配置。

当我按下运行命令时:

但我收到此错误:

通过错误,我看到 interperter 试图在 (C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python37_64\lib\site-packages\transformers__init__.py.

我究竟做错了什么?我相应地设置了配置