File size: 4,188 Bytes
77ffbd5
 
dcabfe0
77ffbd5
 
 
 
 
dcabfe0
 
77ffbd5
dcabfe0
 
77ffbd5
a60629b
77ffbd5
 
 
 
 
 
dcabfe0
77ffbd5
dcabfe0
77ffbd5
dcabfe0
b386725
dcabfe0
df8b62c
dcabfe0
 
 
104cd2d
77ffbd5
 
 
 
 
 
 
 
 
 
 
 
f6ccdd3
77ffbd5
 
 
 
ec565ff
77ffbd5
 
 
 
 
 
e7b57e8
77ffbd5
 
 
 
ec565ff
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
77ffbd5
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
---
datasets:
- IlyaGusev/ru_turbo_alpaca
inference:
  parameters:
    min_length: 20
    max_new_tokens: 250
    top_k: 50
    top_p: 0.9
    early_stopping: true
    no_repeat_ngram_size: 2
    use_cache: true
    repetition_penalty: 1.5
    length_penalty: 0.8
  
    num_beams: 2
license: apache-2.0
language:
- ru
pipeline_tag: text-generation
widget:
- text: Может ли встретиться пингвин и белый медведь?
  example_title: Question Answering
- text: Как зарабатывать много денег обучая модели? <instructionS>
  example_title: Open domain Knoweledge
- text: Напиши на python код который выведет привет мир <code>
  example_title: Code writing
- text: 'Переведи на русский и укажи язык оригинала: My name is Arthur.'
  example_title: Zero shor translate
- text: >-
    Квадратный корень из x равен кубическому корню из y. Чему равно y в степени
    2, если x = 4?
  example_title: Math example
library_name: transformers
tags:
- finance
- code
---

<h1 style="font-size: 42px">Instructions ruGPT large v0.11_25к_a<h1/>



# Model Summary

> Это ruGPTlarge дообученная в инструктивно-флановом сетапе, она более ли менее ZSшотиться и FSшотиться и работает лучше чем XGLM1.7b, mgpt на русском языке


# Quick Start


```python
from transformers import GPT2TokenizerFast,GPT2LMHeadModel
tokenizer = GPT2TokenizerFast.from_pretrained("AlexWortega/instruct_rugptlarge")
special_tokens_dict = {'additional_special_tokens': ['<code>', '</code>', '<instructionS>', '<instructionE>', '<next>']}

tokenizer.add_special_tokens(special_tokens_dict)
device = 'cuda'
model = GPT2LMHeadModel.from_pretrained("AlexWortega/instruct_rugptlarge")
model.to(device)

model.resize_token_embeddings(len(tokenizer))

def generate_seqs(q,model, k=2):
    gen_kwargs = {
        "min_length": 20,
        "max_new_tokens": 100,
        "top_k": 50,
        "top_p": 0.7,
        "do_sample": True,  
        "early_stopping": True,
        "no_repeat_ngram_size": 2,
        "eos_token_id": tokenizer.eos_token_id,
        "pad_token_id": tokenizer.eos_token_id,
        "use_cache": True,
        "repetition_penalty": 1.5,  
        "length_penalty": 1.2,  
        "num_beams": 4,
        "num_return_sequences": k
    }
    q = q + '<instructionS>'
    t = tokenizer.encode(q, return_tensors='pt').to(device)
    g = model.generate(t, **gen_kwargs)
    generated_sequences = tokenizer.batch_decode(g, skip_special_tokens=True)
    
    return  generated_sequences

```
обратите внимание, что лучшие параметры для генерации 
```
gen_kwargs = {
        "min_length": 20,
        "max_new_tokens": 100,
        "top_k": 50,
        "top_p": 0.9,
        "do_sample": True,  
        "early_stopping": True,
        "no_repeat_ngram_size": 2,
        "eos_token_id": tokenizer.eos_token_id,
        "pad_token_id": tokenizer.eos_token_id,
        "use_cache": True,
        "repetition_penalty": 1.5,  
        "length_penalty": 0.8,  
        "num_beams": 4,
        "num_return_sequences": k
    }
```  
# License

The weights of Instructions ruGPT Small v0.1a are licensed under version 2.0 of the Apache License.



## Hyperparameters

I used Novograd with a learning rate of 2e-5 and global batch size of 6 (3 for each data parallel worker).
I use both data parallelism and pipeline parallelism to conduct training.
During training, we truncate the input sequence to 1024 tokens, and for input sequence that contains less than 1024 tokens, we concatenate multiple sequences into one long sequence to improve the data efficiency.



# References

#Metrics

ван дей пипл, ван дееей

## BibTeX entry and citation info

```bibtex
@article{
  title={GPT2xl is underrated task solver},
  author={Nickolich Aleksandr, 5Q, datascience, Ilya Gusev, Alex Kukushkin, Karina Romanova, Arseniy Shahmatov, Maksim Gersimenko},
  year={2023}
}
```