datasets, inference, license, language, pipeline_tag, widget, library_name, tags
datasets inference license language pipeline_tag widget library_name tags
IlyaGusev/ru_turbo_alpaca
parameters
min_length max_new_tokens top_k top_p early_stopping no_repeat_ngram_size use_cache repetition_penalty length_penalty num_beams
20 250 50 0.9 true 2 true 1.5 0.8 2
apache-2.0
ru
text-generation
text example_title
Может ли встретиться пингвин и белый медведь? Question Answering
text example_title
Как зарабатывать много денег обучая модели? <instructionS> Open domain Knoweledge
text example_title
Напиши на python код который выведет привет мир <code> Code writing
text example_title
Переведи на русский и укажи язык оригинала: My name is Arthur. Zero shor translate
text example_title
Квадратный корень из x равен кубическому корню из y. Чему равно y в степени 2, если x = 4? Math example
transformers
finance
code

Instructions ruGPT large v0.11_25к_a

Model Summary

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

Quick Start

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

@article{
  title={GPT2xl is underrated task solver},
  author={Nickolich Aleksandr, 5Q, datascience, Ilya Gusev, Alex Kukushkin, Karina Romanova, Arseniy Shahmatov, Maksim Gersimenko},
  year={2023}
}
Description
Model synced from source: AlexWortega/instruct_rugptlarge
Readme 2 MiB