FlanFred / README.md
AlexWortega's picture
Update README.md
cdf01e9
|
raw
history blame
3.78 kB
metadata
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
}