初始化项目,由ModelHub XC社区提供模型
Model: AlexWortega/instruct_rugptlarge Source: Original Platform
This commit is contained in:
136
README.md
Normal file
136
README.md
Normal file
@@ -0,0 +1,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}
|
||||
}
|
||||
```
|
||||
Reference in New Issue
Block a user