File size: 3,231 Bytes
c5f13f1
bce1cb5
 
c5f13f1
bce1cb5
 
 
 
c5f13f1
 
bce1cb5
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
e9ac75f
16255ac
bce1cb5
 
 
 
 
 
 
 
16255ac
bce1cb5
 
 
 
 
16255ac
 
 
bce1cb5
16255ac
bce1cb5
16255ac
bce1cb5
16255ac
 
bce1cb5
b513cb0
16255ac
 
bce1cb5
 
 
b513cb0
 
 
 
 
 
 
bce1cb5
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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
---
language: ru
license: mit
tags:
  - model_hub_mixin
  - pytorch_model_hub_mixin
  - language-modeling
  - text-generation
---

# Название модели
Модель трансформер, с реализованными блоками GQA, SwiGLU, ALiBi. 

## Описание

Эта модель была обучена на датасете с анекдотами на русском языке. Модель может решать следующие задачи:
1. Генерация новых последовательностей.
2. Автодополнение последовательностей.
3. и другие задачи обработки естественного языка.


## Архитектура 

- **Tokenizer:**  
  В качестве токенайзера используется ByteLevel BPE, с vocab_size = 1024.
  
- **Структура модели:**
  Модель поддерживает несколько размеров: "nano", "mini", "small", количество параметров соответственно: 0.53M, 11.43M, 86.62M.

  Модель состоит из следующих блоков:

  * dropout
  * RMS Norm
  * GQA + ALiBi
  * SwiGLU
  * Linear_head + softmax

  Подробнее можно увидеть на следующей схеме: 
  ![image/jpeg](https://cdn-uploads.huggingface.co/production/uploads/67afb6485d90fd23bd2fe9ac/s0zfjQdstsCz7xppydqbK.jpeg)

  
  
- **Обучение и параметры:**  
  Во время обучения были использованы следующие параметры:

  1) optimizer = AdamW(learning_rate=3e-4, weight_decay=0.01)
  2) scheduler  - Linear schedule with warmup
  3) loss = cross_entropy
  4) Num_steps = 10_000, validation_step - every 1000 steps.

## Данные

Модель обучалась на следующем датасете:

- **Russian_jokes:**  
  Ссылка: https://huggingface.co/datasets/IgorVolochay/russian_jokes
  _Пример строки:_ "- Зять, а ты знаешь, где найти того мужчину, который спас меня, когда я тонула?- Да, он уже приходил ко мне извиняться!"

 Во время обучения выборка была поделена на train и test соответственно: 135497 строк и 15056 строк.

## Оценка качества (Quality Report)

Для оценки качества была использована метрика perplexity: 
(Лучшее минимальное значение)

- **Perplexity 'nano':** 4.254
- **Perplexity 'mini':** 4.193
- **Perplexity 'small':** 4.184

## Примеры генерации

**Пример prefix: "Заходит в бар"**

**nano:** "Заходит в бардей."

**mini:** "Заходит в барье:- Сидумагрираступать снуть, что ты, в мату."

**small:** "Заходит в бара, сынок, что он у меня волованы, а ты, дочьмиеменсу и пограют на немы и говорит другом, и док, что он исы, что вечаются."