IlyaGusev commited on
Commit
3885fb1
1 Parent(s): fa63cfe

Create README.md

Browse files
Files changed (1) hide show
  1. README.md +98 -0
README.md ADDED
@@ -0,0 +1,98 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ language:
3
+ - ru
4
+ datasets:
5
+ - IlyaGusev/saiga_scored
6
+ - IlyaGusev/saiga_preferences
7
+ license: gemma
8
+ ---
9
+
10
+
11
+ # Saiga/Gemma2 10B, Russian Gemma-2-based chatbot
12
+
13
+ Based on [Gemma-2 9B Instruct](https://huggingface.co/google/gemma-2-9b-it).
14
+
15
+ ## Prompt format
16
+
17
+ Gemma-2 prompt format:
18
+ ```
19
+ <start_of_turn>system
20
+ Ты — Сайга, русскоязычный автоматический ассистент. Ты разговариваешь с людьми и помогаешь им.<end_of_turn>
21
+ <start_of_turn>user
22
+ Как дела?<end_of_turn>
23
+ <start_of_turn>model
24
+ Отлично, а у тебя?<end_of_turn>
25
+ <start_of_turn>user
26
+ Шикарно. Как пройти в библиотеку?<end_of_turn>
27
+ <start_of_turn>model
28
+ ```
29
+
30
+
31
+ ## Code example
32
+ ```python
33
+ # Исключительно ознакомительный пример.
34
+ # НЕ НАДО ТАК ИНФЕРИТЬ МОДЕЛЬ В ПРОДЕ.
35
+ # См. https://github.com/vllm-project/vllm или https://github.com/huggingface/text-generation-inference
36
+
37
+ import torch
38
+ from transformers import AutoModelForCausalLM, AutoTokenizer, GenerationConfig
39
+
40
+ MODEL_NAME = "IlyaGusev/saiga_gemma2_10b"
41
+ DEFAULT_SYSTEM_PROMPT = "Ты — Сайга, русскоязычный автоматический ассистент. Ты разговариваешь с людьми и помогаешь им."
42
+
43
+ model = AutoModelForCausalLM.from_pretrained(
44
+ MODEL_NAME,
45
+ load_in_8bit=True,
46
+ torch_dtype=torch.bfloat16,
47
+ device_map="auto"
48
+ )
49
+ model.eval()
50
+
51
+ tokenizer = AutoTokenizer.from_pretrained(MODEL_NAME)
52
+ generation_config = GenerationConfig.from_pretrained(MODEL_NAME)
53
+ print(generation_config)
54
+
55
+ inputs = ["Почему трава зеленая?", "Сочини длинный рассказ, обязательно упоминая следующие объекты. Дано: Таня, мяч"]
56
+ for query in inputs:
57
+ prompt = tokenizer.apply_chat_template([{
58
+ "role": "system",
59
+ "content": DEFAULT_SYSTEM_PROMPT
60
+ }, {
61
+ "role": "user",
62
+ "content": query
63
+ }], tokenize=False, add_generation_prompt=True)
64
+ data = tokenizer(prompt, return_tensors="pt", add_special_tokens=False)
65
+ data = {k: v.to(model.device) for k, v in data.items()}
66
+ output_ids = model.generate(**data, generation_config=generation_config)[0]
67
+ output_ids = output_ids[len(data["input_ids"][0]):]
68
+ output = tokenizer.decode(output_ids, skip_special_tokens=True).strip()
69
+ print(query)
70
+ print(output)
71
+ print()
72
+ print("==============================")
73
+ print()
74
+ ```
75
+
76
+
77
+ ## Versions
78
+ v1:
79
+ - [fa63cfe898ee6372419b8e38d35f4c41756d2c22](https://huggingface.co/IlyaGusev/saiga_llama3_8b/commit/fa63cfe898ee6372419b8e38d35f4c41756d2c22)
80
+ - Other name: saiga_gemma2_9b_abliterated_sft_m2_d9_abliterated_kto_m1_d11
81
+ - SFT dataset config: [sft_d9.json](https://github.com/IlyaGusev/saiga/blob/main/configs/datasets/sft_d9.json)
82
+ - SFT model config: [saiga_gemma2_9b_sft_m2.json](https://github.com/IlyaGusev/saiga/blob/main/configs/models/saiga_gemma2_9b_sft_m2.json)
83
+ - KTO dataset config: [pref_d11.json](https://github.com/IlyaGusev/saiga/blob/main/configs/datasets/pref_d11.json)
84
+ - KTO model config: [saiga_gemma2_9b_kto_m1.json](https://github.com/IlyaGusev/saiga/blob/main/configs/models/saiga_gemma2_9b_kto_m1.json)
85
+ - SFT wandb: [link](https://wandb.ai/ilyagusev/rulm_self_instruct/runs/af49qmbb)
86
+ - KTO wandb: [link](https://wandb.ai/ilyagusev/rulm_self_instruct/runs/5bt7729x)
87
+
88
+ ## Evaluation
89
+
90
+ * Dataset: https://github.com/IlyaGusev/rulm/blob/master/self_instruct/data/tasks.jsonl
91
+ * Framework: https://github.com/tatsu-lab/alpaca_eval
92
+ * Evaluator: alpaca_eval_cot_gpt4_turbo_fn
93
+
94
+ Pivot: gemma_2_9b_it_abliterated
95
+ | model | length_controlled_winrate | win_rate | standard_error | avg_length |
96
+ |-----|-----|-----|-----|-----|
97
+ |gemma_2_9b_it_abliterated_v2 | 50.00 | 50.00 | 0.00 | 1126 |
98
+ |saiga_gemma2_10b, v1 | 48.66 | 45.54 | 2.45 | 1066 |