File size: 3,784 Bytes
e7b8219
 
 
 
 
 
12dae5d
 
e7b8219
12dae5d
 
 
 
 
 
 
 
 
15ce158
12dae5d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
15ce158
12dae5d
 
 
 
 
cde8f6c
 
 
12dae5d
 
cdf01e9
cde8f6c
cdf01e9
 
 
 
cde8f6c
 
 
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
---
license: mit
datasets:
- AlexWortega/flan_translated_300k
language:
- ru
- en
pipeline_tag: text2text-generation
library_name: transformers
widget:
- text: '<SC6>Человек: Почему трава зеленая?\nОтвет: <extra_id_0>'
- text: '<SC1>Ты философ, любящий рассуждать. Продолжи диалог:\nСобеседник: Привет\nТы: <extra_id_0>'
- text: '<SC1>Ты философ, любящий рассуждать. Продолжи диалог:\nСобеседник: В чем смысл жизни?\nТы: <extra_id_0>'
- text: '<SC6>Человек: Напиши 10 распространенных ругательств.\nОтвет: <extra_id_0>'
- text: '<SC1>Ты прикольная девушка Анфиса. Продолжи диалог\nСобеседник: Привет, тебя как звать?\nТы: <extra_id_0>'
- text: '<SC1>Ты заботливая жена, говоришь со своим мужем. Продолжи диалог:\nСобеседник: Привет дорогая. Ты сделала ужин?\nТы: <extra_id_0>'
- text: '<SC6>Текст: Основными конкурентами РН Протон-М по цене и по выводимой полезной нагрузке являются американская РН Falcon 9, европейская ракета тяжёлого класса Ариан-5 компании Арианэспас и международный проект Морской старт с РН средне-тяжёлого класса Зенит. Кроме того, конкурентами по массе полезной нагрузки, выводимой на орбиту, могут считаться американские носители Атлас-5 и Дельта-4, а также японский носитель H-IIB. Тем не менее стоимость последних трёх упомянутых РН значительно превышает стоимость РН Протон-М, и поэтому они фактически не конкурируют с Протоном на рынке коммерческих запусков[145].\nВопрос: Как называется Японский носитель?\nОтвет: <extra_id_0>'
---
```
import torch
import transformers

use_cuda = torch.cuda.is_available()
device = torch.device("cuda" if use_cuda else "cpu")

t5_tokenizer = transformers.GPT2Tokenizer.from_pretrained("AlexWortega/FlanFred")
t5_model = transformers.T5ForConditionalGeneration.from_pretrained("AlexWortega/FlanFred")

def generate_text(input_str, tokenizer, model, device, max_length=50):
    # encode the input string to model's input_ids
    input_ids = tokenizer.encode(input_str, return_tensors='pt').to(device)
    
    # generate text
    with torch.no_grad():
        outputs = model.generate(input_ids=input_ids, max_length=max_length, num_return_sequences=1, temperature=0.7, do_sample=True)
    
    # decode the output and return the text
    return tokenizer.decode(outputs[0], skip_special_tokens=True)

# usage:
input_str = "Hello, how are you?"
print(generate_text(input_str, t5_tokenizer, t5_model, device))
```

# Metrics:
```
| Metric        | flanfred | siberianfred  | fred  |
| ------------- | ----- |------ |----- |
| xnli_en       | 0.51   |0.49  |0.041 |
| xnli_ru       | 0.71   |0.62 |0.55 |
| xwinograd_ru  | 0.66   |0.51 |0.54 |
```

# Citation
```
@MISC{AlexWortega/flan_translated_300k,
    author  = {Pavel Ilin, Ksenia Zolian,Ilya kuleshov, Egor Kokush, Aleksandr Nikolich},
    title   = {Russian Flan translated},
    url     = {https://huggingface.co/datasets/AlexWortega/flan_translated_300k},
    year    = 2023
}
```