AlexWortega/instruct_rugptlarge

🤗 Hugging Face 来源text-generationapache-2.0861M 参数3.1 GBsafetensors✓ 2 个校验和今天更新
一条命令提交

在你的模型文件夹旁边运行它。它会制作种子、将文件与 Hugging Face 比对,然后提交。你只需开始做种,并粘贴你账户中的密钥。它只读取你的文件,绝不修改。如果愿意,可以先阅读脚本。

curl -fsSL https://pirateface.co/package.sh | bash -s -- --repo AlexWortega/instruct_rugptlarge ./model-folder
需要做种者 →

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}
}