标签: gpt-2

OpenAI GPT-2 模型与 TensorFlow JS 一起使用

是否可以使用 TensorFlowJS 从 OpenAI GPT-2 生成文本?

如果不是,限制是什么,例如模型格式或...?

nlp machine-learning tensorflow tensorflow.js gpt-2

7
推荐指数
1
解决办法
1407
查看次数

使用数据集、标记器和火炬数据集和数据加载器进行动态标记化

我有一个关于“即时”标记化的问题。这个问题是通过阅读“如何使用 Transformers 和 Tokenizers 从头开始​​训练新的语言模型”引发。最后有这样一句话:“如果您的数据集非常大,您可以选择动态加载和标记示例,而不是作为预处理步骤”。我尝试提出一个将datasets和结合起来的解决方案tokenizers,但没有找到一个好的模式。

我想解决方案需要将数据集包装到 Pytorch 数据集中。

作为文档中的具体示例

import torch

class SquadDataset(torch.utils.data.Dataset):
    def __init__(self, encodings):
        # instead of doing this beforehand, I'd like to do tokenization on the fly
        self.encodings = encodings 

    def __getitem__(self, idx):
        return {key: torch.tensor(val[idx]) for key, val in self.encodings.items()}

    def __len__(self):
        return len(self.encodings.input_ids)

train_dataset = SquadDataset(train_encodings)
Run Code Online (Sandbox Code Playgroud)

如何利用标记器的矢量化功能通过“即时”标记化来实现这一点?

huggingface-transformers huggingface-tokenizers gpt-2

7
推荐指数
1
解决办法
4085
查看次数

微调 GPT2 以实现生成式问答

我正在尝试微调 gpt2 以完成生成性问答任务。

基本上我的数据格式类似于:

背景:马特今天撞坏了他的车。问:马特这一天过得怎么样?答案:不好

我正在查看 Huggingface 文档,以了解如何在自定义数据集上微调 GPT2,并且我确实在以下地址找到了有关微调的说明: https ://github.com/huggingface/transformers/tree/main/examples/pytorch /语言建模

问题是他们没有提供任何关于如何准备数据以便模型可以从中学习的指导。他们提供了可用的不同数据集,但没有一个格式适合我的任务。

如果有更多经验的人可以帮助我,我将非常感激。

祝你今天过得愉快!

machine-learning gpt-2

7
推荐指数
1
解决办法
6345
查看次数

微调 GPT2 - 注意掩码和 pad token id 错误

我一直在尝试在 wikitext-2 数据集上微调 GPT2(只是为了帮助自己学习该过程),但我遇到了一条我以前从未见过的警告消息:

\n

“未设置注意掩码和填充令牌 ID。因此,您可能会观察到意外行为。请传递您的输入attention_mask以获得可靠的结果。\n设置pad_token_ideos_token_id:50256 以进行开放式生成。”

\n

这看起来很奇怪,因为我在实例化 tokenizer 时在代码中明确指定了 EOS 令牌:

\n
tokenizer = GPT2Tokenizer.from_pretrained(\'gpt2\', bos_token=\'<|startoftext|>\', eos_token=\'<|endoftext|>\', pad_token=\'<|pad|>\')\n
Run Code Online (Sandbox Code Playgroud)\n

训练在没有崩溃的情况下完成,我的损失在每个时期都有所改善,但是当我推断模型时,它输出绝对的乱码 - 有时只生成一个单词而没有其他任何东西。我认为我收到的警告消息与模型表现不佳之间存在联系。

\n

我从这里获得了训练、有效、测试数据(我使用了 .raw 文件) - https://blog.salesforceairesearch.com/the-wikitext-long-term-dependency-language-modeling-dataset/

\n

我在数据集的原始 txt 文件中手动添加了 <|startoftext|> 和 <|endoftext|> 。生成的训练数据类似于这两个示例(取自文本文件的中间):

\n
...\n<|startoftext|>\n= Perfect Dark ( 2010 video game ) = \n \n Perfect Dark is a remastered release of the first @-@ person shooter video game by the same name . Developed by 4J Studios …
Run Code Online (Sandbox Code Playgroud)

machine-learning tokenize training-data gpt-2 fine-tuning

7
推荐指数
1
解决办法
1万
查看次数

生成给定文本的所有下一个可能单词的概率

我有以下代码

import transformers
from transformers import pipeline

# Load the language model pipeline
model = pipeline("text-generation", model="gpt2")

# Input sentence for generating next word predictions
input_sentence = "I enjoy walking in the"
Run Code Online (Sandbox Code Playgroud)

我只想在给定输入句子的情况下生成下一个单词,但我想查看所有可能的下一个单词及其概率的列表。任何其他LLM都可以使用,我以gpt2为例。

在代码中,我想仅为下一个单词选择前 500 个单词或前 1000 个单词建议以及每个建议单词的概率,我该怎么做?

text pytorch huggingface-transformers gpt-2

7
推荐指数
2
解决办法
2913
查看次数

如何使用我自己的语料库文本创建和拟合 vocab.bpe 文件(GPT 和 GPT2 OpenAI 模型)?

此问题适用于熟悉 GPT 或GPT2 OpenAI 模型的人。特别是与编码任务(字节对编码)。这是我的问题:

我想知道如何创建自己的 vocab.bpe 文件。

我有一个西班牙语语料库文本,我想用它来适应我自己的 bpe 编码器。我已经成功地使用python-bpe库创建了encoder.json,但我不知道如何获取 vocab.bpe 文件。我已经查看了gpt-2/src/encoder.py 中的代码,但是我没有找到任何提示。任何帮助或想法?

非常感谢你。

python encoding nlp gpt-2

6
推荐指数
1
解决办法
1802
查看次数

Colab:libtorch_cuda_cu.so:无法打开共享对象文件:没有这样的文件或目录警告(f“无法加载图像Python扩展:{e}”)

我正在尝试使用aitextgengoogle Colab 中的 python 包,以便我可以微调 GPT。

首先,当我安装这个包的最后一个版本时,在导入它时遇到了这个错误。

Unable to import name '_TPU_AVAILABLE' from 'pytorch_lightning.utilities'
Run Code Online (Sandbox Code Playgroud)

尽管在这个问题中给出的解决方案的帮助下,我可以通过降级我的包来传递这个错误,如下所示:

!pip3 install -q aitextgen==0.5.2
!pip3 install -q torchtext==0.10.0
!pip3 install -q torchmetrics==0.6.0
!pip3 install -q pytorch-lightning==1.4.0rc0
Run Code Online (Sandbox Code Playgroud)

但现在我在导入aitextgen包时遇到这个错误,colab 会崩溃!

/usr/local/lib/python3.8/dist-packages/torchvision/io/image.py:13: UserWarning: Failed to load image Python extension: libtorch_cuda_cu.so: cannot open shared object file: No such file or directory
  warn(f"Failed to load image Python extension: {e}")
Run Code Online (Sandbox Code Playgroud)

请记住,错误是在导入包时出现的,并且我的代码中没有错误。更清楚地说,当我像aitextgen这样导入时出现此错误:

import aitextgen
Run Code Online (Sandbox Code Playgroud)

我该如何处理这个错误?

python import google-colaboratory huggingface-transformers gpt-2

6
推荐指数
1
解决办法
5864
查看次数

GPT-2的“提示”中可以输入多少个字符

我正在使用github上的 OpenAI GPT-2 模型

我认为 top_k 参数决定了采样的令牌数量。这也是决定可以给出多大提示的参数吗?

如果top_k = 40,提示符可以有多大?

python nlp openai-api gpt-2

5
推荐指数
1
解决办法
6214
查看次数

拥抱脸 | ValueError:连接错误,我们在缓存路径中找不到请求的文件。请重试或确保您的网络连接正常

并非总是如此,但在运行我的代码时偶尔会出现此错误。

起初,我怀疑这是一个连接问题,而是与兑现问题有关,正如旧的Git Issue中所讨论的那样。

清除缓存对运行时没有帮助:

$ rm ~/.cache/huggingface/transformers/ *
Run Code Online (Sandbox Code Playgroud)

回溯参考:

  • NLTK 也得到Error loading stopwords: <urlopen error [Errno -2] Name or service not known.
  • 最后 2 行 recached_pathget_from_cache.

缓存(清除之前):

$ cd ~/.cache/huggingface/transformers/
(sdg) me@PF2DCSXD:~/.cache/huggingface/transformers$ ls
16a2f78023c8dc511294f0c97b5e10fde3ef9889ad6d11ffaa2a00714e73926e.cf2d0ecb83b6df91b3dbb53f1d1e4c311578bfd3aa0e04934215a49bf9898df0
16a2f78023c8dc511294f0c97b5e10fde3ef9889ad6d11ffaa2a00714e73926e.cf2d0ecb83b6df91b3dbb53f1d1e4c311578bfd3aa0e04934215a49bf9898df0.json
16a2f78023c8dc511294f0c97b5e10fde3ef9889ad6d11ffaa2a00714e73926e.cf2d0ecb83b6df91b3dbb53f1d1e4c311578bfd3aa0e04934215a49bf9898df0.lock
4029f7287fbd5fa400024f6bbfcfeae9c5f7906ea97afcaaa6348ab7c6a9f351.723d8eaff3b27ece543e768287eefb59290362b8ca3b1c18a759ad391dca295a.h5
4029f7287fbd5fa400024f6bbfcfeae9c5f7906ea97afcaaa6348ab7c6a9f351.723d8eaff3b27ece543e768287eefb59290362b8ca3b1c18a759ad391dca295a.h5.json
4029f7287fbd5fa400024f6bbfcfeae9c5f7906ea97afcaaa6348ab7c6a9f351.723d8eaff3b27ece543e768287eefb59290362b8ca3b1c18a759ad391dca295a.h5.lock
684fe667923972fb57f6b4dcb61a3c92763ad89882f3da5da9866baf14f2d60f.c7ed1f96aac49e745788faa77ba0a26a392643a50bb388b9c04ff469e555241f
684fe667923972fb57f6b4dcb61a3c92763ad89882f3da5da9866baf14f2d60f.c7ed1f96aac49e745788faa77ba0a26a392643a50bb388b9c04ff469e555241f.json
684fe667923972fb57f6b4dcb61a3c92763ad89882f3da5da9866baf14f2d60f.c7ed1f96aac49e745788faa77ba0a26a392643a50bb388b9c04ff469e555241f.lock
c0c761a63004025aeadd530c4c27b860ec4ecbe8a00531233de21d865a402598.5d12962c5ee615a4c803841266e9c3be9a691a924f72d395d3a6c6c81157788b
c0c761a63004025aeadd530c4c27b860ec4ecbe8a00531233de21d865a402598.5d12962c5ee615a4c803841266e9c3be9a691a924f72d395d3a6c6c81157788b.json
c0c761a63004025aeadd530c4c27b860ec4ecbe8a00531233de21d865a402598.5d12962c5ee615a4c803841266e9c3be9a691a924f72d395d3a6c6c81157788b.lock
fc674cd6907b4c9e933cb42d67662436b89fa9540a1f40d7c919d0109289ad01.7d2e0efa5ca20cef4fb199382111e9d3ad96fd77b849e1d4bed13a66e1336f51
fc674cd6907b4c9e933cb42d67662436b89fa9540a1f40d7c919d0109289ad01.7d2e0efa5ca20cef4fb199382111e9d3ad96fd77b849e1d4bed13a66e1336f51.json
fc674cd6907b4c9e933cb42d67662436b89fa9540a1f40d7c919d0109289ad01.7d2e0efa5ca20cef4fb199382111e9d3ad96fd77b849e1d4bed13a66e1336f51.lock
Run Code Online (Sandbox Code Playgroud)

代码:

from transformers import pipeline, set_seed

generator = pipeline('text-generation', model='gpt2')  # Error
set_seed(42)
Run Code Online (Sandbox Code Playgroud)

追溯:

2022-03-03 10:18:06.803989: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libcudart.so.11.0'; …
Run Code Online (Sandbox Code Playgroud)

python-3.x tensorflow valueerror huggingface-transformers gpt-2

5
推荐指数
1
解决办法
2万
查看次数

我可以在colab中清理GPU显存吗

我正在尝试使用 aitextgen 在数据集上微调 774M gpt 2。不幸的是,无论我做什么,训练都会失败,因为只有 80 MB 的 vram 可用。如何在不重新启动运行时的情况下清除 vram,并可能防止 vram 已满?

vram google-colaboratory gpt-2 fine-tuning

5
推荐指数
2
解决办法
9703
查看次数