Update README.md
Browse files
README.md
CHANGED
@@ -15,6 +15,8 @@ Based on [Llama-3 8B Instruct](https://huggingface.co/meta-llama/Meta-Llama-3-8B
|
|
15 |
|
16 |
Llama.cpp version: [link](https://huggingface.co/IlyaGusev/saiga_llama3_8b_gguf)
|
17 |
|
|
|
|
|
18 |
**ОСТОРОЖНО! WARNING! LET OP!**
|
19 |
|
20 |
I've changed the prompt format from ChatML to **the original Llama-3 format in v4**. Don't forget to switch formats!
|
@@ -47,7 +49,52 @@ I've changed the prompt format from ChatML to **the original Llama-3 format in v
|
|
47 |
<|im_start|>assistant
|
48 |
```
|
49 |
|
50 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
51 |
```
|
52 |
User: Почему трава зеленая?
|
53 |
Saiga: Зеленый цвет травы обусловлен наличием хлорофилла, пигмента, который поглощает свет и передает энергию для фотосинтеза. Хлорофилл содержится в клетках листьев растений и играет ключевую роль в процессе фотосинтеза, когда растения используют солнечный свет для превращения воды и углекислого газа в органические вещества, такие как глюкоза и олигоэфиры.
|
@@ -65,6 +112,8 @@ Saiga: Однажды в солнечную погоду на поле для и
|
|
65 |
Мяч летел высоко вверх, и друзья смотрели, как он пролетает над полем. Но мяч неожиданно повернул и стал лететь обратно к Тане. Она успела поймать его и продолжила играть, используя все свои навыки и умения.
|
66 |
```
|
67 |
|
|
|
|
|
68 |
v5:
|
69 |
- [d947b00c56683cd4b2f7ce707edef89318027be4](https://huggingface.co/IlyaGusev/saiga_llama3_8b/commit/d947b00c56683cd4b2f7ce707edef89318027be4)
|
70 |
- KTO-tune over v4, dataset: [lmsys_clean_ru_preferences](https://huggingface.co/datasets/IlyaGusev/lmsys_clean_ru_preferences)
|
@@ -88,7 +137,7 @@ v2:
|
|
88 |
- Datasets merging script: [create_short_chat_set.py](https://github.com/IlyaGusev/rulm/blob/d0d123dd221e10bb2a3383bcb1c6e4efe1b4a28a/self_instruct/src/data_processing/create_short_chat_set.py)
|
89 |
|
90 |
|
91 |
-
|
92 |
|
93 |
* Dataset: https://github.com/IlyaGusev/rulm/blob/master/self_instruct/data/tasks.jsonl
|
94 |
* Framework: https://github.com/tatsu-lab/alpaca_eval
|
|
|
15 |
|
16 |
Llama.cpp version: [link](https://huggingface.co/IlyaGusev/saiga_llama3_8b_gguf)
|
17 |
|
18 |
+
## Prompt format
|
19 |
+
|
20 |
**ОСТОРОЖНО! WARNING! LET OP!**
|
21 |
|
22 |
I've changed the prompt format from ChatML to **the original Llama-3 format in v4**. Don't forget to switch formats!
|
|
|
49 |
<|im_start|>assistant
|
50 |
```
|
51 |
|
52 |
+
## Code example
|
53 |
+
```python
|
54 |
+
# Исключительно ознакомительный пример.
|
55 |
+
# НЕ НАДО ТАК ИНФЕРИТЬ МОДЕЛЬ В ПРОДЕ.
|
56 |
+
# См. https://github.com/vllm-project/vllm или https://github.com/huggingface/text-generation-inference
|
57 |
+
|
58 |
+
import torch
|
59 |
+
from transformers import AutoModelForCausalLM, AutoTokenizer, GenerationConfig
|
60 |
+
|
61 |
+
MODEL_NAME = "IlyaGusev/saiga_llama3_8b"
|
62 |
+
DEFAULT_SYSTEM_PROMPT = "Ты — Сайга, русскоязычный автоматический ассистент. Ты разговариваешь с людьми и помогаешь им."
|
63 |
+
|
64 |
+
model = AutoModelForCausalLM.from_pretrained(
|
65 |
+
MODEL_NAME,
|
66 |
+
load_in_8bit=True,
|
67 |
+
torch_dtype=torch.bfloat16,
|
68 |
+
device_map="auto"
|
69 |
+
)
|
70 |
+
model.eval()
|
71 |
+
|
72 |
+
tokenizer = AutoTokenizer.from_pretrained(MODEL_NAME)
|
73 |
+
generation_config = GenerationConfig.from_pretrained(MODEL_NAME)
|
74 |
+
print(generation_config)
|
75 |
+
|
76 |
+
inputs = ["Почему трава зеленая?", "Сочини длинный рассказ, обязательно упоминая следующие объекты. Дано: Таня, мяч"]
|
77 |
+
for query in inputs:
|
78 |
+
prompt = tokenizer.apply_chat_template([{
|
79 |
+
"role": "system",
|
80 |
+
"content": DEFAULT_SYSTEM_PROMPT
|
81 |
+
}, {
|
82 |
+
"role": "user",
|
83 |
+
"content": query
|
84 |
+
}]
|
85 |
+
data = tokenizer(prompt, return_tensors="pt")
|
86 |
+
data = {k: v.to(model.device) for k, v in data.items()}
|
87 |
+
output_ids = model.generate(**data, generation_config=generation_config)[0]
|
88 |
+
output_ids = output_ids[len(data["input_ids"][0]):]
|
89 |
+
output = tokenizer.decode(output_ids, skip_special_tokens=True).strip()
|
90 |
+
print(inp)
|
91 |
+
print(output)
|
92 |
+
print()
|
93 |
+
print("==============================")
|
94 |
+
print()
|
95 |
+
```
|
96 |
+
|
97 |
+
## Output examples
|
98 |
```
|
99 |
User: Почему трава зеленая?
|
100 |
Saiga: Зеленый цвет травы обусловлен наличием хлорофилла, пигмента, который поглощает свет и передает энергию для фотосинтеза. Хлорофилл содержится в клетках листьев растений и играет ключевую роль в процессе фотосинтеза, когда растения используют солнечный свет для превращения воды и углекислого газа в органические вещества, такие как глюкоза и олигоэфиры.
|
|
|
112 |
Мяч летел высоко вверх, и друзья смотрели, как он пролетает над полем. Но мяч неожиданно повернул и стал лететь обратно к Тане. Она успела поймать его и продолжила играть, используя все свои навыки и умения.
|
113 |
```
|
114 |
|
115 |
+
|
116 |
+
## Versions
|
117 |
v5:
|
118 |
- [d947b00c56683cd4b2f7ce707edef89318027be4](https://huggingface.co/IlyaGusev/saiga_llama3_8b/commit/d947b00c56683cd4b2f7ce707edef89318027be4)
|
119 |
- KTO-tune over v4, dataset: [lmsys_clean_ru_preferences](https://huggingface.co/datasets/IlyaGusev/lmsys_clean_ru_preferences)
|
|
|
137 |
- Datasets merging script: [create_short_chat_set.py](https://github.com/IlyaGusev/rulm/blob/d0d123dd221e10bb2a3383bcb1c6e4efe1b4a28a/self_instruct/src/data_processing/create_short_chat_set.py)
|
138 |
|
139 |
|
140 |
+
## Evaluation
|
141 |
|
142 |
* Dataset: https://github.com/IlyaGusev/rulm/blob/master/self_instruct/data/tasks.jsonl
|
143 |
* Framework: https://github.com/tatsu-lab/alpaca_eval
|