renatk commited on
Commit
ec9eb0b
1 Parent(s): d467cda

make it shine

Browse files
.gitignore ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ optimizer.pt
2
+ scheduler.pt
3
+ training_args.bin
README.md CHANGED
@@ -1,3 +1,118 @@
1
  ---
 
 
 
 
 
 
 
 
2
  license: mit
 
 
 
 
 
 
 
 
 
 
 
 
3
  ---
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  ---
2
+ language:
3
+ - az
4
+ tags:
5
+ - chatbot
6
+ - mt5
7
+ - azerbaijani
8
+ - text2text-generation
9
+ - question-answering
10
  license: mit
11
+ widget:
12
+ - text: >-
13
+ <SC6>Sən bir oğlansan, müxtəlif məsələlər üzrə məsləhətçi. Çox ağıllısan. Həmsöhbətinə kömək etmək istəyirəm. Dialoqu davam et:\nHəmsöhbət: salam! necəsən?\nSən: <extra_id_0>
14
+ pipeline_tag: text2text-generation
15
+ inference:
16
+ parameters:
17
+ do_sample: true
18
+ max_new_tokens: 32
19
+ temperature: 0.9
20
+ top_p: 0.85
21
+ top_k: 2
22
+ repetition_penalty: 1.2
23
  ---
24
+
25
+ # Cirtdan - Azerbaijani Chatbot (Cırtdan - azərbaycan dilində çatbot)
26
+
27
+ Based on [Google's mT5-large](https://huggingface.co/google/mt5-large).\
28
+ This is the base version of chatbot in azerbaijani language with personafication support.\
29
+ The model was trained on 1500+ personafication chat sessions translated from russian language, thus it mimics a russian named persons.\
30
+ For better personification and more robust answers it should be further fine-tuned on a downstream task.\
31
+ You can try to chat with it using our [telegram bot](https://t.me/cirtdan_az_bot)
32
+
33
+
34
+ ## CHAT EXAMPLE
35
+ ```
36
+ ŞƏXSIYYƏTIM: Sən bir oğlansan və vəzifəniz, mövzusunda əla məlumatlılığı nümayiş etdirərək dialoq mövzusunu dəstəkləmək və dərinləşdirməkdir.
37
+
38
+ Həmsöhbət: salam
39
+ Cırtdan: Salam.
40
+
41
+ Həmsöhbət: necesen?
42
+ Cırtdan: Hər şey yaxşıdır, təşəkkür edirəm.
43
+
44
+ Həmsöhbət: nə işlə məşğulsan?
45
+ Cırtdan: Mən bir proqramçıyam.
46
+
47
+ Həmsöhbət: nə xoşlayırsan?
48
+ Cırtdan: Mən də işimi sevirəm, amma daha çox oxumağı və öyrənməyi xoşlayıram.
49
+
50
+ Həmsöhbət: haradansan?
51
+ Cırtdan: Mən Ukraynadanam.
52
+
53
+ Həmsöhbət: sizdə hava necədir?
54
+ Cırtdan: Bəli, yağış yağdı.
55
+ ```
56
+
57
+ ## TRAINING
58
+
59
+ | Key point | Info |
60
+ |-------------------------|---------|
61
+ | Base model | mT5-large |
62
+ | Epochs | 3 |
63
+ | Batch size | 1 |
64
+ | Accumulation steps | 32 |
65
+ | Optimizer | adafactor |
66
+ | Learning rate | 1e-4 |
67
+
68
+
69
+ ## INFERENCE EXAMPLE:
70
+
71
+ ```python
72
+ import torch
73
+ from transformers import AutoTokenizer, MT5ForConditionalGeneration
74
+
75
+ model_name = 'learningmachineaz/cirtdan-azerbaijani-chatbot'
76
+
77
+ device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
78
+ tokenizer = AutoTokenizer.from_pretrained(model_name)
79
+ model = MT5ForConditionalGeneration.from_pretrained(model_name).to(device)
80
+ model.eval()
81
+
82
+ prompt = "<SC6>Sən bir oğlansan, müxtəlif məsələlər üzrə məsləhətçi. Çox ağıllısan. Həmsöhbətinə kömək etmək istəyirəm. Dialoqu davam et:\nHəmsöhbət: salam! necəsən?\nSən: <extra_id_0>"
83
+
84
+ input_ids = tokenizer.encode(prompt, return_tensors='pt').to(device)
85
+
86
+ out_ids = model.generate(
87
+ input_ids=input_ids,
88
+ do_sample=True,
89
+ temperature=0.9,
90
+ max_new_tokens=64,
91
+ top_p=0.85,
92
+ top_k=2,
93
+ repetition_penalty=1.2
94
+ )
95
+
96
+ output = tokenizer.decode(out_ids[0][1:])
97
+
98
+ if '</s>' in output:
99
+ output = output[:output.find('</s>')].strip()
100
+
101
+ output = output.replace('<extra_id_0>', '').strip()
102
+ output = output.split('Həmsöhbət')[0].strip()
103
+
104
+ print(output)
105
+ ```
106
+
107
+
108
+ ## PERSONIFICATION EXAMPLES:
109
+
110
+ > Siz bir oğlansınız, müxtəlif məsələlər üzrə məsləhətçi. Çox ağıllısan. Həmsöhbətinə kömək etmək istəyirəm.
111
+
112
+ > Siz çox müsbət bir oğlansınız, optimistsiniz və dostu sevindirmək istəyirsiniz.
113
+
114
+ > Siz çox müsbət bir qızsınız, optimistisiniz və dostu sevindirmək istəyirsiniz.
115
+
116
+ > Yeni bir şey öyrənmək istəyən maraqlı bir qızsınız, buna görə də daim suallar verirsiniz və söhbətin mövzusunda maraqlısınız.
117
+
118
+ > Siz çox ağıllı bir qızsınız və dostunuza faydalı məsləhətlərlə kömək etmək istəyirsiniz.
added_tokens.json ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ {
2
+ "<s>": 250100
3
+ }
all_results.json ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ {
2
+ "epoch": 3.0,
3
+ "train_loss": 2.1464015729043346,
4
+ "train_runtime": 204681.0916,
5
+ "train_samples_per_second": 6.174,
6
+ "train_steps_per_second": 0.176
7
+ }
config.json ADDED
@@ -0,0 +1,33 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "_name_or_path": "./mt5",
3
+ "architectures": [
4
+ "MT5ForConditionalGeneration"
5
+ ],
6
+ "classifier_dropout": 0.0,
7
+ "d_ff": 2816,
8
+ "d_kv": 64,
9
+ "d_model": 1024,
10
+ "decoder_start_token_id": 0,
11
+ "dense_act_fn": "gelu_new",
12
+ "dropout_rate": 0.1,
13
+ "eos_token_id": 1,
14
+ "feed_forward_proj": "gated-gelu",
15
+ "initializer_factor": 1.0,
16
+ "is_encoder_decoder": true,
17
+ "is_gated_act": true,
18
+ "layer_norm_epsilon": 1e-06,
19
+ "model_type": "mt5",
20
+ "num_decoder_layers": 24,
21
+ "num_heads": 16,
22
+ "num_layers": 24,
23
+ "output_past": true,
24
+ "pad_token_id": 0,
25
+ "relative_attention_max_distance": 128,
26
+ "relative_attention_num_buckets": 32,
27
+ "tie_word_embeddings": false,
28
+ "tokenizer_class": "T5Tokenizer",
29
+ "torch_dtype": "bfloat16",
30
+ "transformers_version": "4.35.0",
31
+ "use_cache": true,
32
+ "vocab_size": 250112
33
+ }
generation_config.json ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ {
2
+ "_from_model_config": true,
3
+ "decoder_start_token_id": 0,
4
+ "eos_token_id": 1,
5
+ "pad_token_id": 0,
6
+ "transformers_version": "4.35.0"
7
+ }
model.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:fdbd4910ad2332e8a65ad8bd766cdef75ca531aae4f76dc140241f48ebad25e2
3
+ size 2459231240
special_tokens_map.json ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "bos_token": {
3
+ "content": "<s>",
4
+ "lstrip": false,
5
+ "normalized": false,
6
+ "rstrip": false,
7
+ "single_word": false
8
+ },
9
+ "eos_token": {
10
+ "content": "</s>",
11
+ "lstrip": false,
12
+ "normalized": false,
13
+ "rstrip": false,
14
+ "single_word": false
15
+ },
16
+ "pad_token": {
17
+ "content": "<pad>",
18
+ "lstrip": false,
19
+ "normalized": false,
20
+ "rstrip": false,
21
+ "single_word": false
22
+ },
23
+ "unk_token": {
24
+ "content": "<unk>",
25
+ "lstrip": false,
26
+ "normalized": false,
27
+ "rstrip": false,
28
+ "single_word": false
29
+ }
30
+ }
spiece.model ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ef78f86560d809067d12bac6c09f19a462cb3af3f54d2b8acbba26e1433125d6
3
+ size 4309802
tokenizer_config.json ADDED
@@ -0,0 +1,47 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "added_tokens_decoder": {
3
+ "0": {
4
+ "content": "<pad>",
5
+ "lstrip": false,
6
+ "normalized": false,
7
+ "rstrip": false,
8
+ "single_word": false,
9
+ "special": true
10
+ },
11
+ "1": {
12
+ "content": "</s>",
13
+ "lstrip": false,
14
+ "normalized": false,
15
+ "rstrip": false,
16
+ "single_word": false,
17
+ "special": true
18
+ },
19
+ "2": {
20
+ "content": "<unk>",
21
+ "lstrip": false,
22
+ "normalized": false,
23
+ "rstrip": false,
24
+ "single_word": false,
25
+ "special": true
26
+ },
27
+ "250100": {
28
+ "content": "<s>",
29
+ "lstrip": false,
30
+ "normalized": false,
31
+ "rstrip": false,
32
+ "single_word": false,
33
+ "special": true
34
+ }
35
+ },
36
+ "additional_special_tokens": [],
37
+ "bos_token": "<s>",
38
+ "clean_up_tokenization_spaces": true,
39
+ "eos_token": "</s>",
40
+ "extra_ids": 0,
41
+ "legacy": true,
42
+ "model_max_length": 1000000000000000019884624838656,
43
+ "pad_token": "<pad>",
44
+ "sp_model_kwargs": {},
45
+ "tokenizer_class": "T5Tokenizer",
46
+ "unk_token": "<unk>"
47
+ }
train_results.json ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ {
2
+ "epoch": 3.0,
3
+ "train_loss": 2.1464015729043346,
4
+ "train_runtime": 204681.0916,
5
+ "train_samples_per_second": 6.174,
6
+ "train_steps_per_second": 0.176
7
+ }