File size: 4,866 Bytes
3f862ff 2946bc8 3f862ff 2946bc8 3f862ff 0ee5e64 2946bc8 |
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 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 |
---
base_model:
- mlabonne/AlphaMonarch-7B
- datatab/Yugo55-GPT-v4
- datatab/Yugo55-GPT-DPO-v1-chkp-300
- NousResearch/Nous-Hermes-2-Mistral-7B-DPO
library_name: transformers
tags:
- mergekit
- merge
- text-generation-inference
- transformers
- mistral
license: mit
language:
- sr
datasets:
- datatab/alpaca-cleaned-serbian-full
- datatab/ultrafeedback_binarized
- datatab/open-orca-slim-serbian
---
# Yugo55A-GPT ```4bit```
- **Developed by:** datatab
- **License:** mit
## 🏆 Results
> Results obtained through the Serbian LLM evaluation, released by Aleksa Gordić: [serbian-llm-eval](https://github.com/gordicaleksa/serbian-llm-eval)
> * Evaluation was conducted on a 4-bit version of the model due to hardware resource constraints.
<table>
<tr>
<th>MODEL</th>
<th>ARC-E</th>
<th>ARC-C</th>
<th>Hellaswag</th>
<th>BoolQ</th>
<th>Winogrande</th>
<th>OpenbookQA</th>
<th>PiQA</th>
</tr>
<tr>
<td><a href="https://huggingface.co/datatab/Yugo55-GPT-v4-4bit/">*Yugo55-GPT-v4-4bit</a></td>
<td>51.41</td>
<td>36.00</td>
<td>57.51</td>
<td>80.92</td>
<td><strong>65.75</strong></td>
<td>34.70</td>
<td><strong>70.54</strong></td>
</tr>
<tr>
<td><a href="https://huggingface.co/datatab/Yugo55A-GPT/">Yugo55A-GPT</a></td>
<td><strong>51.52</strong></td>
<td><strong>37.78</strong></td>
<td><strong>57.52</strong></td>
<td><strong>84.40</strong></td>
<td>65.43</td>
<td><strong>35.60</strong></td>
<td>69.43</td>
</tr>
</table>
# 🔗 Merge Details
### Merge Method
> This is a merge of pre-trained language models created using [mergekit](https://github.com/cg123/mergekit).
> This model was merged using the [linear](https://arxiv.org/abs/2203.05482) merge method.
### Models Merged
The following models were included in the merge:
* [datatab/Yugo55-GPT-v4](https://huggingface.co/datatab/Yugo55-GPT-v4)
* [datatab/Yugo55-GPT-DPO-v1-chkp-300](https://huggingface.co/datatab/Yugo55-GPT-DPO-v1-chkp-300)
* [mlabonne/AlphaMonarch-7B](https://huggingface.co/mlabonne/AlphaMonarch-7B)
* [NousResearch/Nous-Hermes-2-Mistral-7B-DPO](https://huggingface.co/NousResearch/Nous-Hermes-2-Mistral-7B-DPO)
## 🧩 Configuration
The following YAML configuration was used to produce this model:
```yaml
models:
- model: datatab/Yugo55-GPT-v4
parameters:
weight: 1.0
- model: datatab/Yugo55-GPT-DPO-v1-chkp-300
parameters:
weight: 1.0
- model: mlabonne/AlphaMonarch-7B
parameters:
weight: 0.5
- model: NousResearch/Nous-Hermes-2-Mistral-7B-DPO
parameters:
weight: 0.5
merge_method: linear
dtype: float16
```
## 💻 Usage
```terminal
!pip -q install git+https://github.com/huggingface/transformers # need to install from github
!pip install -q datasets loralib sentencepiece
!pip -q install bitsandbytes accelerate
```
```python
from IPython.display import HTML, display
def set_css():
display(HTML('''
<style>
pre {
white-space: pre-wrap;
}
</style>
'''))
get_ipython().events.register('pre_run_cell', set_css)
```
```python
import torch
import transformers
from transformers import AutoTokenizer, AutoModelForCausalLM
model = AutoModelForCausalLM.from_pretrained(
"datatab/Yugo55A-GPT", torch_dtype="auto"
)
tokenizer = AutoTokenizer.from_pretrained(
"datatab/Yugo55A-GPT", torch_dtype="auto"
)
```
```python
from typing import Optional
from transformers import AutoModelForCausalLM, AutoTokenizer, TextStreamer
def generate(
user_content: str, system_content: Optional[str] = ""
) -> str:
system_content = "Ispod je uputstvo koje opisuje zadatak, upareno sa unosom koji pruža dodatni kontekst. Napišite odgovor koji na odgovarajući način kompletira zahtev."
messages = [
{
"role": "system",
"content": system_content,
},
{"role": "user", "content": user_content},
]
tokenized_chat = tokenizer.apply_chat_template(
messages, tokenize=True, add_generation_prompt=True, return_tensors="pt"
).to("cuda")
text_streamer = TextStreamer(tokenizer, skip_prompt=True, skip_special_tokens=True)
output = model.generate(
tokenized_chat,
streamer=text_streamer,
max_new_tokens=2048,
temperature=0.1,
repetition_penalty=1.11,
top_p=0.92,
top_k=1000,
pad_token_id=tokenizer.pad_token_id,
eos_token_id=tokenizer.eos_token_id,
do_sample=True,
)
generated_text = tokenizer.decode(output[0], skip_special_tokens=True)
```
```python
generate("Nabroj mi sve planete suncevog sistemai reci mi koja je najveca planeta")
```
```python
generate("Koja je razlika između lame, vikune i alpake?")
```
```python
generate("Napišite kratku e-poruku Semu Altmanu dajući razloge za GPT-4 otvorenog koda")
``` |