问题标签 [gpt-2]

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 投票
0 回答
71 浏览

python - 错误:命令错误退出状态 1:当 Pip 在 Windows 10 上安装 GPT-2 时

尝试在 Windows 10 上安装 Gpt-2 时,我在尝试 pip install requirements.txt 时遇到了这个错误消息

错误消息说我需要 Visual C++ 14.0 或更高版本,因此我在重新启动计算机之前通过 Microsoft Buildtools 以及可再发行包安装了它。

通过 Chocolatey 使用 list 命令,表明我已经安装了 Visual C++

但我仍然收到上面显示的完全相同的错误消息。在这一点上,我不知道该怎么做。

0 投票
1 回答
22 浏览

python - 无法从 GPT2 获取文本返回?

基本上我试图让 gpt2 响应变量 {text} 中的提示,我遇到了这个错误:

ValueError:具有多个元素的数组的真值不明确。使用 a.any() 或 a.all()

到目前为止,这是我的代码:

谁能帮我弄清楚我做错了什么?谢谢。

0 投票
0 回答
37 浏览

nlp - 微调 GPT2 的预训练权重

我正在按照以下 repo https://github.com/kingoflolz/mesh-transformer-jax研究 GPTJ-6B 模型

我想应用迁移学习并基于新的小数据集训练最后几层。有没有人在这个 repo 或其他 gpt 模型上应用迁移学习?

0 投票
0 回答
90 浏览

huggingface-transformers - 我应该调整新添加令牌的嵌入权重吗?

我是神经语言处理的初学者。最近,我尝试训练一个基于 GPT-2 的带有拥抱脸转换器的文本生成模型。我向标记器添加了一些新标记,并使用model.resize_token_embeddings(len(tokenizer)). 假设我添加了 6 个新标记,我应该将这 6 个标记的权重添加到优化器吗?我该怎么做?非常感谢!

0 投票
2 回答
51 浏览

pytorch - 如果最佳训练损失太高会发生什么

我正在训练变形金刚。在我的许多设置中,我获得了如下所示的验证和训练损失:

我的数据集的训练和验证损失

然后,我知道我应该在 epoch 1 左右停止训练。但是训练损失非常高。这是一个问题吗?训练损失的价值真的意味着什么吗?

谢谢

0 投票
0 回答
75 浏览

deep-learning - 使用新数据集微调 dialoGPT - 损失低于 1 且困惑度爆炸

我正在关注关于微调 DialoGPT(GPT- 2) 使用新的会话数据集。

它之前训练得很好,困惑度大约是 5、6,由此产生的对话似乎很正常。在此处输入图像描述现在,我不确定我是否触及了某个地方......当我绘制训练损失时,我发现它下降到低于 1(大约 0.25)并且困惑度超过 300?

0 投票
0 回答
91 浏览

python - 通过aitextgen获取带有小数据集(3MB)的MemoryError微调GPT2(355M)模型

我正在使用 aitextgen 使用 train 函数微调 355M GPT-2 模型。数据集是由以下行组成的小型 txt 文件(这些是基于关键字的文本生成的编码文本,因此是“~^keywords~@”):

我像这样使用aitextgen的训练功能:

当我运行这个函数时,我得到这个输出:

我尝试了很多方法,包括使用 清除 CUDA 缓存torch.cuda.empty_cache(),将文件拆分为更小的文件。他们都没有工作。

我在我的本地机器(RTX3070,32GB RAM)上运行它,我检查了任务管理器,RAM 使用率几乎没有达到 50%。我的代码有什么问题导致内存错误吗?

0 投票
1 回答
63 浏览

python - “ValueError:您必须在训练 AutoModelWithLMHead 模型 (GPT-2) 时指定 input_ids 或 inputs_embeds”

我想从这个存储库微调 AutoModelWithLMHead 模型,这是一个德国 GPT-2 模型。我已经按照教程进行了预处理和微调。我已经为微调准备了一堆文本段落,但是在开始训练时,我收到以下错误:

这是我的参考代码:

有谁知道这是什么原因?欢迎任何帮助!

0 投票
1 回答
124 浏览

python - 微调 GPT-2 (HuggingFace) 时解决“CUDA out of memory”

在使用 HuggingFace Transformers 库微调 GPT-2 模型时,我再次出现 CUDA 内存不足错误,尽管我的 GPU 容量为 6 GB,但我认为这应该足以进行微调,但似乎无法解决它在文本上。错误如下:

我已经将批量大小设置为 2,并减少了训练示例但没有成功。我还尝试将代码迁移到 Colab,在那里 12GB RAM 很快就被消耗掉了。我的例子很长,有 2.400 个字符,但它们应该被模型自动截断。我的(德语)示例如下所示:

可能是数据格式有问题吗?如果有人对如何解决这个问题有提示,那将是非常受欢迎的。

编辑:谢谢Timbus Calin的回答,我在评论中描述了如何将block_size标志添加到 config.json 解决问题。以下是整个配置供参考:

0 投票
1 回答
59 浏览

python - Hugging face - GPT2 中未知代币的高效代币化

我正在尝试使用 GPT2 训练对话系统。对于标记化,我使用以下配置来添加特殊标记。

接下来,当我尝试标记一个序列(对话的话语)并稍后转换为 id 时,我的序列中的一些最重要的标记被映射为未知标记,因为这些重要标记的 id 变得与 bos 和 eos 相同因为它们都映射到 GPT2 的源代码中的 <|endoftext|> 。

这是一个工作示例 -

如您所见,important_tokens 被映射到 id 50256(即 |endoftext|),模型无法看到和学习​​这些重要标记,因此生成的响应非常差且经常产生幻觉。

什么可以快速有效地解决这个问题?