Views
No views yet
sberbank-ai/rugpt3large_based_on_gpt2, дообученной
на датасете перефразировок inkoziev/paraphrases.
Она разработана для использования в проекте генеративной поэзии.
Код для тренировки и использования перефразировщика доступен в репозитрии https://github.com/Koziev/paraphraser.sberbank-ai/sbert_large_mt_nlu_ru. Я не стал использовать модель-критик,
поскольку она обучалась на таком же датасете.<s> в начале и <sep> в конце, например:input_text = '<s>Мороз и солнце, день чудесный<sep>'</s> - это конец последовательности.import torch
from transformers import AutoTokenizer, AutoModelForCausalLM
device = "cuda" if torch.cuda.is_available() else "cpu"
model_name = "inkoziev/paraphraser"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name)
model.to(device)
model.eval()
while True:
seed = input(':> ').strip()
encoded_prompt = tokenizer.encode("<s>" + seed + "<sep>", add_special_tokens=False, return_tensors="pt").to(device)
output_sequences = model.generate(input_ids=encoded_prompt,
max_length=100,
typical_p=0.85,
top_k=0,
top_p=1.0,
do_sample=True,
num_return_sequences=10,
pad_token_id=tokenizer.pad_token_id)
for o in output_sequences:
text = tokenizer.decode(o.tolist(), clean_up_tokenization_spaces=True)
text = text[text.index('<sep>') + 5:]
text = text[: text.find('</s>')]
print(text)