问题标签 [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.
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++
但我仍然收到上面显示的完全相同的错误消息。在这一点上,我不知道该怎么做。
python - 无法从 GPT2 获取文本返回?
基本上我试图让 gpt2 响应变量 {text} 中的提示,我遇到了这个错误:
ValueError:具有多个元素的数组的真值不明确。使用 a.any() 或 a.all()
到目前为止,这是我的代码:
谁能帮我弄清楚我做错了什么?谢谢。
nlp - 微调 GPT2 的预训练权重
我正在按照以下 repo https://github.com/kingoflolz/mesh-transformer-jax研究 GPTJ-6B 模型
我想应用迁移学习并基于新的小数据集训练最后几层。有没有人在这个 repo 或其他 gpt 模型上应用迁移学习?
huggingface-transformers - 我应该调整新添加令牌的嵌入权重吗?
我是神经语言处理的初学者。最近,我尝试训练一个基于 GPT-2 的带有拥抱脸转换器的文本生成模型。我向标记器添加了一些新标记,并使用model.resize_token_embeddings(len(tokenizer))
. 假设我添加了 6 个新标记,我应该将这 6 个标记的权重添加到优化器吗?我该怎么做?非常感谢!
python - 通过aitextgen获取带有小数据集(3MB)的MemoryError微调GPT2(355M)模型
我正在使用 aitextgen 使用 train 函数微调 355M GPT-2 模型。数据集是由以下行组成的小型 txt 文件(这些是基于关键字的文本生成的编码文本,因此是“~^keywords~@”):
我像这样使用aitextgen的训练功能:
当我运行这个函数时,我得到这个输出:
我尝试了很多方法,包括使用 清除 CUDA 缓存torch.cuda.empty_cache()
,将文件拆分为更小的文件。他们都没有工作。
我在我的本地机器(RTX3070,32GB RAM)上运行它,我检查了任务管理器,RAM 使用率几乎没有达到 50%。我的代码有什么问题导致内存错误吗?
python - “ValueError:您必须在训练 AutoModelWithLMHead 模型 (GPT-2) 时指定 input_ids 或 inputs_embeds”
我想从这个存储库微调 AutoModelWithLMHead 模型,这是一个德国 GPT-2 模型。我已经按照教程进行了预处理和微调。我已经为微调准备了一堆文本段落,但是在开始训练时,我收到以下错误:
这是我的参考代码:
有谁知道这是什么原因?欢迎任何帮助!
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 解决问题。以下是整个配置供参考:
python - Hugging face - GPT2 中未知代币的高效代币化
我正在尝试使用 GPT2 训练对话系统。对于标记化,我使用以下配置来添加特殊标记。
接下来,当我尝试标记一个序列(对话的话语)并稍后转换为 id 时,我的序列中的一些最重要的标记被映射为未知标记,因为这些重要标记的 id 变得与 bos 和 eos 相同因为它们都映射到 GPT2 的源代码中的 <|endoftext|> 。
这是一个工作示例 -
如您所见,important_tokens 被映射到 id 50256(即 |endoftext|),模型无法看到和学习这些重要标记,因此生成的响应非常差且经常产生幻觉。
什么可以快速有效地解决这个问题?