File size: 2,411 Bytes
17d2773
482dedd
 
 
 
 
 
 
 
 
 
 
17d2773
 
 
482dedd
17d2773
482dedd
 
17d2773
482dedd
17d2773
482dedd
17d2773
482dedd
 
17d2773
482dedd
17d2773
 
482dedd
17d2773
482dedd
fd14171
 
 
 
 
482dedd
17d2773
d89d31d
 
17d2773
482dedd
17d2773
482dedd
 
 
17d2773
482dedd
17d2773
482dedd
 
 
 
 
 
 
 
 
 
 
 
 
17d2773
482dedd
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
---
language:
  - ru
datasets:
  - Lenta2
tags:
  - PyTorch
  - Transformers
  - text generation
  - GPTQ

license: mit
---


# RuGPT2_Gen_News

Предварительно обученная квантованная модель на русском языке с использованием языковой модели "sberbank-ai/rugpt3small_based_on_gpt2". 
Алгоритм квантования -- GPTQ 4bit

Содержимое карты этой модели было создано, чтобы дополнить предоставленную информацию и привести конкретные примеры её использования.

## Описание модели

RuGPT2_Gen_Comments — это квантованная модель предназначена для демонстрации генерации новостей, предварительно обученная на массиве данных 
Lenta2 проекта CORUS на русском языке. 

Входные данные — это последовательности непрерывного текста определенной длины (block_size = 1048).


### Проимер использования

```python
!pip install -q auto_gptq
!pip install -q optimum
!pip install -q -U accelerate bitsandbytes datasets peft transformers
# ВАЖНО !!! При возникновении ошибок в Colab, необходимо удалить среду и перезапустить блокнот

from transformers import AutoTokenizer, AutoModelForCausalLM

tokenizer = AutoTokenizer.from_pretrained("Dmitriy007/rugpt2_gen_news-gptq-4bit")
model = AutoModelForCausalLM.from_pretrained("Dmitriy007/rugpt2_gen_news-gptq-4bit")

input_text = 'Ученик старшего класса лицея № 21 Иван Сидоров из города Адлер полетел в космос на планету Марс.'

inputs = tokenizer(input_text, return_tensors="pt")
model.to('cuda')
inputs.to('cuda')

input_ids = inputs["input_ids"]

output = model.generate(
input_ids,
attention_mask=inputs["attention_mask"],
pad_token_id=model.config.bos_token_id,
max_length=300,
num_beams=5,
num_return_sequences=1,
top_k=50,
top_p=0.90,
no_repeat_ngram_size=2,
temperature=0.7,
early_stopping=True
)

generated_text = list(map(tokenizer.decode, output))
print(generated_text[0])
```