во время работы индекса huggface gpt2-xl выхода из диапазона - PullRequest
0 голосов
/ 08 февраля 2020

Я пытаюсь запустить hugginface gpt2-xl модель. Я запустил код со страницы quickstart , которая загружает маленькую модель gpt2 и генерирует текст по следующему коду:

from transformers import GPT2LMHeadModel, GPT2Tokenizer
import torch

tokenizer = GPT2Tokenizer.from_pretrained("gpt2")
model = GPT2LMHeadModel.from_pretrained('gpt2')

generated = tokenizer.encode("The Manhattan bridge")
context = torch.tensor([generated])
past = None

for i in range(100):
    print(i)
    output, past = model(context, past=past)
    token = torch.argmax(output[0, :])

    generated += [token.tolist()]
    context = token.unsqueeze(0)

sequence = tokenizer.decode(generated)

print(sequence)

Это работает отлично. Затем я пытаюсь запустить модель gpt2-xl. Я изменил tokenizer и model код загрузки следующим образом: tokenizer = GPT2Tokenizer.from_pretrained ("gpt2-xl") model = GPT2LMHeadModel.from_pretrained ('gpt2-xl')

tokenizer и model загружен отлично. Но я получаю сообщение об ошибке в следующей строке:

output, past = model(context, past=past)

Ошибка:

RuntimeError: index out of range: Tried to access index 204483 out of table with 50256 rows. at /pytorch/aten/src/TH/generic/THTensorEvenMoreMath.cpp:418

Глядя на ошибку, кажется, что размер вложения не правильный. Поэтому я пишу следующую строку, чтобы специально получить файл конфигурации gpt2-xl:

config = GPT2Config.from_pretrained("gpt2-xl")

Но здесь vocab_size:50257 Так что я явно изменил значение на:

config.vocab_size=204483

Затем после печати config я вижу, что предыдущая строка вступила в силу в конфигурации. Но все равно я получаю ту же ошибку.

1 Ответ

1 голос
/ 11 февраля 2020

Это была проблема, о которой я сообщил, и они ее исправили. https://github.com/huggingface/transformers/issues/2774

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...