Я пытаюсь использовать модель GPTJ-lora для генерации txt, но максимальная длина сгенерированного текста составляет 20 токенов. Как сделать его длиннее

      import transformers
#from transformers import AutoModelWithHeads
model.load_adapter("./",adapter_name='lora')
peft_model_path="./"
tokenizer = AutoTokenizer.from_pretrained("EleutherAI/gpt-j-6B")
tokenizer.pad_token = tokenizer.eos_token
tokenizer.pad_token_id = tokenizer.eos_token_id
input_text = "フィリピンから10年前来日しました。日本の生活にも慣れ、将来も日本に住み続けたいと考えています。そこで、日本国籍を取得したいと思うのですが、どういう要件が必要でしょうか?"
input_ids = tokenizer(input_text, return_tensors='pt')
generated_output = model.generate(**input_ids, max_length=400)
output = tokenizer.decode(generated_output[0], skip_special_tokens=True)
print(output)

Результат такой:

日本国籍を取得するには、日本国籍法により、日本国籍を取得するには、日本国籍法により、日本国籍を取得するには、日本国籍法により、日本国籍を取得するには、日本国籍法により、日本国籍を取得するには、日本国籍法により、日本国籍を取得するには、日本国籍法により、日本国籍を取得するには、日本国籍法により、日本国籍を取得するには、日本国籍法

вы можете видеть, что сгенерированный текст повторяет текст из 20 токенов "日本国籍を取得するには、日本国籍法により、日本国籍を取得するには、日本国籍法により、日本国籍を取得するには、日本国籍法により、日本国籍を取得するには、日本国籍法により、日本国籍を取得するには、日本国籍法により、日本国籍を取得するには、日本国籍法により、日本国籍を取得するには、日本国籍法により、日本国籍を取得するには、日本国籍法"

Я пытаюсь использовать модель GPTJ-lora для генерации txt, хочу получить сгенерированный текст из 400 токенов. Но результаты не такие. Иногда в ответе может быть более 40-50 токенов, но больше быть не может. В противном случае он будет повторять последнее предложение снова и снова. иногда длина повторяющегося предложения превышает 20 токенов, а иногда короче 20 токенов. в чем проблема? Базовой моделью является GPT-J, и она обучается с помощью databricks-dolly-15k.jsonl, который был модифицирован на японский язык.

0 ответов

Другие вопросы по тегам