| | --- |
| | 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") |
| | ``` |