File size: 8,102 Bytes
40c1c01
 
ba6af7b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
14085e0
40c1c01
ba6af7b
 
 
736ee97
 
f30df32
736ee97
f30df32
08b1cd1
736ee97
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
14085e0
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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
---
license: mit
datasets:
- IlyaGusev/ru_turbo_alpaca
- IlyaGusev/ru_turbo_alpaca_evol_instruct
- IlyaGusev/ru_turbo_saiga
- IlyaGusev/ru_sharegpt_cleaned
- IlyaGusev/oasst1_ru_main_branch
- IlyaGusev/gpt_roleplay_realm
- lksy/ru_instruct_gpt4
language:
- ru
- en
pipeline_tag: conversational
tags:
- saiga
- mistral
library_name: peft
---

# Saiga/Yarn-Mistral 7B 128k, Russian Mistral-based chatbot

Welcome to the adapter-only version of Saiga 7B LoRA. This model is built upon the foundation
of [Nous-Yarn-Mistral-7b-128k](https://huggingface.co/NousResearch/Yarn-Mistral-7b-128k).

🔗 Training code is [here](https://github.com/EvilFreelancer/saiga-custom/blob/main/yarn_mistral_7b_128k.ipynb).

📊 Wandb report is [here](https://api.wandb.ai/links/evilfreelancer/bozxcjrf).

## Examples

```text
User: Привет! Кто ты?
Bot: Здравствуйте! Я - Saiga 2, этот бот создан для того, чтобы помочь вам в решении различных задач и вопросов. Я использую современные технологии и алгоритмы машинного обучения, чтобы предоставлять наиболее точные ответы на ваши вопросы. Как я могу помочь вам сегодня?
```

```text
User: Почему трава зелёная?
Bot: Это связано с тем, что растения содержат хлорофилл, который поглощает свет и используется для фотосинтеза. Хлорофилл имеет зеленый цвет из-за своей структуры, которая позволяет ему поглощать красное и синее световые лучи, но не зеленый. Таким образом, зеленой траве мы видим только те части спектра, которые не поглощены хлорофиллом.
```

```text
User: Сколько будет 128*64?
Bot: 8192.
```

```text
User: У Серёжи есть мама Татьяна и папа Денис. И ещё у Серёжи есть брат Иван. Кем Ивану приходится Татьяна?
Bot: Ивану приходит наследник Татьяны.
```

```text
User: Я пошёл в магазин и купил 10 яблок. Два яблока я отдал соседу и два ремонтнику. Потом я купил ещё 5 яблок и одно из них съел. Также я отдал три банана моему брату. Сколько яблок у меня осталось?
Bot: Осталось 4 яблока.
```

```text
User: Сочини длинный рассказ, обязательно упоминая следующие объекты. Дано: Таня, мяч
Bot: Рассказ о том, как Таня потеряла свой любимый мяч и нашла его в неожиданном месте.

Таня была маленькой девочкой, которая любила играть в футбол со своими друзьями. Она всегда носила с собой свой любимый мяч, который был ее самым ценным веществом. Однажды, когда она играла со своими друзьями, мяч случайно улетел от нее и пропал без вести.

Таня начала беспокоиться и искать свой мяч, но нигде его не находила. Она провела несколько часов, ищущая его, но все было безуспешно. В конце концов, она решила, что мяч уже потерян навсегда.

Но однажды, когда Таня была дома, она услышала странный звук. Он был слишком громким, чтобы быть произведенным каким-то предметом внутри дома. Таня вышла из комнаты и увидела, что этот звук исходил из её балкона.

Она подбежала к балкону и увидела, что там лежит ее любимый мяч! Он был застрян между двух блоков кирпича, которые были расположены на краю балкона. Таня была очень рада, что нашла свой мяч, но теперь она должна была найти способ достать его.

Таня начала думать, как можно достать мяч, и решила, что ее лучший вариант - это использовать свой опыт игры в футбол. Она начала бросать мяч в стороны, пытаясь ударить его так, чтобы он упал на землю. Но это не работало, и мяч оставался застрянным между блоками кирпича.

Таня начала думать, что может использовать свой друг, чтобы помочь ей достать мяч. Она позвонила ему и рассказала ему о ситуации. Ее друг пришел к ней и вместе они начали думать над способами, как можно достать мяч.

Наконец, они решили, что могут использовать лоток для доставки мяча. Они нашли лоток, который был больше мяча, и начали использовать его для перемещения мяча. Они старались, чтобы мяч не падал на землю, и после нескольких попыток они смогли доставить мяч на землю.

Таня была очень рада, что нашла свой мьяч, и она начала играть в футбол с новым энтузиазмом. Она знала, что ничего не стоит того, чтобы потерять свой любимый мяч, и будет всегда беречь его.
```

## 📚 Training Datasets

The datasets utilized for training this model are consistent with those used for [Saiga-2](https://github.com/IlyaGusev/rulm).

Here's the comprehensive list:

- [ru_turbo_alpaca](https://huggingface.co/datasets/IlyaGusev/ru_turbo_alpaca)
- [ru_turbo_alpaca_evol_instruct](https://huggingface.co/datasets/IlyaGusev/ru_turbo_alpaca_evol_instruct)
- [ru_turbo_saiga](https://huggingface.co/datasets/IlyaGusev/ru_turbo_saiga)
- [ru_sharegpt_cleaned](https://huggingface.co/datasets/IlyaGusev/ru_sharegpt_cleaned)
- [oasst1_ru_main_branch](https://huggingface.co/datasets/IlyaGusev/oasst1_ru_main_branch)
- [gpt_roleplay_realm](https://huggingface.co/datasets/IlyaGusev/gpt_roleplay_realm)
- [ru_instruct_gpt4](https://huggingface.co/datasets/lksy/ru_instruct_gpt4)

## Training procedure

The following `bitsandbytes` quantization config was used during training:

- quant_method: QuantizationMethod.BITS_AND_BYTES
- load_in_8bit: False
- load_in_4bit: True
- llm_int8_threshold: 6.0
- llm_int8_skip_modules: None
- llm_int8_enable_fp32_cpu_offload: False
- llm_int8_has_fp16_weight: False
- bnb_4bit_quant_type: nf4
- bnb_4bit_use_double_quant: True
- bnb_4bit_compute_dtype: bfloat16

## ⚙️ Framework Versions

Ensure you have the following framework versions for compatibility:

- PyTorch 2.1.1
- PEFT 0.6.2
- bitsandbytes 0.41.2.post2
- transformers 4.35.2
- flash-attn 2.3.3

### Other

Dataset code revision: [c6ffa82fa39bfedf2b33931095a3a8960a89ac37](https://github.com/IlyaGusev/rulm/commit/c6ffa82fa39bfedf2b33931095a3a8960a89ac37)

Datasets merging script: [create_chat_set.py](https://github.com/IlyaGusev/rulm/blob/master/self_instruct/src/data_processing/create_chat_set.py)