File size: 14,939 Bytes
a67a700 a6b844b a67a700 ca47e82 bc9e7aa a67a700 d63319b a67a700 83714b8 a67a700 83714b8 a67a700 f517ec0 a67a700 f517ec0 a67a700 f80536a 01f81a6 f80536a 01f81a6 f80536a 01f81a6 3997456 f80536a 01f81a6 a67a700 21a2442 01f81a6 21a2442 7633498 01f81a6 7633498 e5c34a6 01f81a6 e5c34a6 a67a700 |
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 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 |
---
license: apache-2.0
language:
- en
- es
- de
- fr
- it
pipeline_tag: text-generation
---
![image/png](https://huggingface.co/datasets/malteos/images/resolve/main/occiglot.medium.png)
# Occiglot-7B-EU5-Instruct
> A [polyglot](https://en.wikipedia.org/wiki/Multilingualism#In_individuals) language model for the [Occident](https://en.wikipedia.org/wiki/Occident).
>
**Occiglot-7B-EU5-Instruct** is a the instruct version of [occiglot-7b-eu5](https://huggingface.co/occiglot/occiglot-7b-eu5/), a generative language model with 7B parameters supporting the top-5 EU languages (English, Spanish, French, German, and Italian) and trained by the [Occiglot Research Collective](https://occiglot.github.io/occiglot/).
It was trained on 400M tokens of additional multilingual and code instructions.
Note that the model was not safety aligned and might generate problematic outputs.
This is the first release of an ongoing open research project for multilingual language models.
If you want to train a model for your own language or are working on evaluations, please contact us or join our [Discord server](https://discord.gg/wUpvYs4XvM). **We are open for collaborations!**
### Model details
- **Instruction tuned from:** [occiglot-7b-eu5](https://huggingface.co/occiglot/occiglot-7b-eu5)
- **Model type:** Causal decoder-only transformer language model
- **Languages:** English, Spanish, French, German, Italian, and code.
- **License:** [Apache 2.0](https://www.apache.org/licenses/LICENSE-2.0.html)
- **Compute resources:** [DFKI cluster](https://www.dfki.de/en/web)
- **Contributors:** Manuel Brack, Patrick Schramowski, Pedro Ortiz, Malte Ostendorff, Fabio Barth, Georg Rehm, Kristian Kersting
- **Research labs:** [Occiglot](https://occiglot.github.io/occiglot/) with support from [SAINT](https://www.dfki.de/en/web/research/research-departments/foundations-of-systems-ai) and [SLT](https://www.dfki.de/en/web/research/research-departments/speech-and-language-technology)
- **Contact:** [Discord](https://discord.gg/wUpvYs4XvM)
### How to use
The model was trained using the chatml instruction template. You can use the transformers chat template feature for interaction.
Since the generation relies on some randomness, we
set a seed for reproducibility:
```python
>>> from transformers import AutoTokenizer, MistralForCausalLM, set_seed
>>> tokenizer = AutoTokenizer.from_pretrained("occiglot/occiglot-7b-eu5-instruct")
>>> model = MistralForCausalLM.from_pretrained('occiglot/occiglot-7b-eu5-instruct') # You may want to use bfloat16 and/or move to GPU here
>>> set_seed(42)
>>> messages = [
>>> {"role": "system", 'content': 'You are a helpful assistant. Please give short and concise answers.'},
>>> {"role": "user", "content": "Wer ist der deutsche Bundeskanzler?"},
>>> ]
>>> tokenized_chat = tokenizer.apply_chat_template(messages, tokenize=True, add_generation_prompt=True, return_dict=False, return_tensors='pt',)
>>> set_seed(42)
>>> outputs = model.generate(tokenized_chat.to('cuda'), max_new_tokens=200,)
>>> tokenizer.decode(out[0][len(tokenized_chat[0]):])
'Der deutsche Bundeskanzler ist Olaf Scholz.'
```
## Dataset
The training data was split evenly amongst the 5 languages based on the total number of tokens. We would like to thank [Disco Research](https://huggingface.co/DiscoResearch), [Jan Philipp Harries](https://huggingface.co/jphme), and [Björn Plüster](https://huggingface.co/bjoernp) for making their dataset available to us.
**English and Code**
- [Open-Hermes-2B](https://huggingface.co/datasets/teknium/OpenHermes-2.5)
**German**
- [DiscoLM German Dataset](https://huggingface.co/DiscoResearch) includes the publicly available [germanrag](https://huggingface.co/datasets/DiscoResearch/germanrag) dataset
- [OASST-2](https://huggingface.co/datasets/OpenAssistant/oasst2) (German subset)
- [Aya-Dataset](https://huggingface.co/datasets/CohereForAI/aya_dataset) (German subset)
**Spanish**
- [Mentor-ES](https://huggingface.co/datasets/projecte-aina/MentorES)
- [Squad-es](https://huggingface.co/datasets/squad_es)
- [OASST-2](https://huggingface.co/datasets/OpenAssistant/oasst2) (Spanish subset)
- [Aya-Dataset](https://huggingface.co/datasets/CohereForAI/aya_dataset) (Spanish subset)
**French**
- [Bactrian-X](https://huggingface.co/datasets/MBZUAI/Bactrian-X) (French subset)
- [AI-Society Translated](https://huggingface.co/datasets/camel-ai/ai_society_translated) (French subset)
- [GT-Dorimiti](https://huggingface.co/datasets/Gt-Doremiti/gt-doremiti-instructions)
- [OASST-2](https://huggingface.co/datasets/OpenAssistant/oasst2) (French subset)
- [Aya-Dataset](https://huggingface.co/datasets/CohereForAI/aya_dataset) (French subset)
**Italian**
- [Quora-IT-Baize](https://huggingface.co/datasets/andreabac3/Quora-Italian-Fauno-Baize)
- [Stackoverflow-IT-Vaize](https://huggingface.co/datasets/andreabac3/StackOverflow-Italian-Fauno-Baize)
- [Camoscio](https://huggingface.co/datasets/teelinsan/camoscio_cleaned)
- [OASST-2](https://huggingface.co/datasets/OpenAssistant/oasst2) (Italian subset)
- [Aya-Dataset](https://huggingface.co/datasets/CohereForAI/aya_dataset) (Italian subset)
## Training settings
- Full instruction fine-tuning on 8xH100.
- 0.6 - 4 training epochs (depending on dataset sampling).
- Framework: [axolotl](https://github.com/OpenAccess-AI-Collective/axolotl)
- Precision: bf16
- Optimizer: AdamW
- Global batch size: 128 (with 8192 context length)
- Cosine Annealing with Warmup
## Tokenizer
Tokenizer is unchanged from [Mistral-7B-v0.1](https://huggingface.co/mistralai/Mistral-7B-v0.1).
## Evaluation
Preliminary evaluation results can be found below.
Please note that the non-English results are based on partially machine-translated datasets and English prompts ([Belebele](https://huggingface.co/datasets/facebook/belebele) and [Okapi framework](https://github.com/nlp-uoregon/Okapi)) and thus should be interpreted with caution, e.g., biased towards English model performance.
Currently, we are working on more suitable benchmarks for Spanish, French, German, and Italian.
<details>
<summary>Evaluation results</summary>
### All 5 Languages
| | avg | arc_challenge | belebele | hellaswag | mmlu | truthfulqa |
|:---------------------------|---------:|----------------:|-----------:|------------:|---------:|-------------:|
| Occiglot-7b-eu5 | 0.516895 | 0.508109 | 0.675556 | 0.718963 | 0.402064 | 0.279782 |
| Occiglot-7b-eu5-instruct | 0.537799 | 0.53632 | 0.691111 | 0.731918 | 0.405198 | 0.32445 |
| Occiglot-7b-de-en | 0.518337 | 0.496297 | 0.715111 | 0.669034 | 0.412545 | 0.298697 |
| Occiglot-7b-de-en-instruct | 0.543173 | 0.530826 | 0.745778 | 0.67676 | 0.411326 | 0.351176 |
| Occiglot-7b-it-en | 0.513221 | 0.500564 | 0.694444 | 0.668099 | 0.413528 | 0.289469 |
| Occiglot-7b-it-en-instruct | 0.53721 | 0.523128 | 0.726667 | 0.683414 | 0.414918 | 0.337927 |
| Occiglot-7b-fr-en | 0.509209 | 0.496806 | 0.691333 | 0.667475 | 0.409129 | 0.281303 |
| Occiglot-7b-fr-en-instruct | 0.52884 | 0.515613 | 0.723333 | 0.67371 | 0.413024 | 0.318521 |
| Occiglot-7b-es-en | 0.483388 | 0.482949 | 0.606889 | 0.653902 | 0.398922 | 0.274277 |
| Occiglot-7b-es-en-instruct | 0.504023 | 0.494576 | 0.65 | 0.670847 | 0.406176 | 0.298513 |
| Leo-mistral-hessianai-7b | 0.484806 | 0.462103 | 0.653556 | 0.642242 | 0.379208 | 0.28692 |
| Claire-mistral-7b-0.1 | 0.514226 | 0.502773 | 0.705111 | 0.666871 | 0.412128 | 0.284245 |
| Lince-mistral-7b-it-es | 0.543427 | 0.540222 | 0.745111 | 0.692931 | 0.426241 | 0.312629 |
| Cerbero-7b | 0.532385 | 0.513714 | 0.743111 | 0.654061 | 0.427566 | 0.323475 |
| Mistral-7b-v0.1 | 0.547111 | 0.528937 | 0.768444 | 0.682516 | 0.448253 | 0.307403 |
| Mistral-7b-instruct-v0.2 | 0.56713 | 0.547228 | 0.741111 | 0.69455 | 0.422501 | 0.430262 |
### English
| | avg | arc_challenge | belebele | hellaswag | mmlu | truthfulqa |
|:---------------------------|---------:|----------------:|-----------:|------------:|---------:|-------------:|
| Occiglot-7b-eu5 | 0.59657 | 0.530717 | 0.726667 | 0.789882 | 0.531904 | 0.403678 |
| Occiglot-7b-eu5-instruct | 0.617905 | 0.558874 | 0.746667 | 0.799841 | 0.535109 | 0.449 |
| Leo-mistral-hessianai-7b | 0.600949 | 0.522184 | 0.736667 | 0.777833 | 0.538812 | 0.429248 |
| Mistral-7b-v0.1 | 0.668385 | 0.612628 | 0.844444 | 0.834097 | 0.624555 | 0.426201 |
| Mistral-7b-instruct-v0.2 | 0.713657 | 0.637372 | 0.824444 | 0.846345 | 0.59201 | 0.668116 |
### German
| | avg | arc_challenge_de | belebele_de | hellaswag_de | mmlu_de | truthfulqa_de |
|:---------------------------|---------:|-------------------:|--------------:|---------------:|----------:|----------------:|
| Occiglot-7b-eu5 | 0.508311 | 0.493584 | 0.646667 | 0.666631 | 0.483406 | 0.251269 |
| Occiglot-7b-eu5-instruct | 0.531506 | 0.529512 | 0.667778 | 0.685205 | 0.488234 | 0.286802 |
| Occiglot-7b-de-en | 0.540085 | 0.50556 | 0.743333 | 0.67421 | 0.514633 | 0.26269 |
| Occiglot-7b-de-en-instruct | 0.566474 | 0.54491 | 0.772222 | 0.688407 | 0.515915 | 0.310914 |
| Leo-mistral-hessianai-7b | 0.517766 | 0.474765 | 0.691111 | 0.682109 | 0.488309 | 0.252538 |
| Mistral-7b-v0.1 | 0.527957 | 0.476476 | 0.738889 | 0.610589 | 0.529567 | 0.284264 |
| Mistral-7b-instruct-v0.2 | 0.535215 | 0.485885 | 0.688889 | 0.622438 | 0.501961 | 0.376904 |
### Spanish
| | avg | arc_challenge_es | belebele_es | hellaswag_es | mmlu_es | truthfulqa_es |
|:---------------------------|---------:|-------------------:|--------------:|---------------:|----------:|----------------:|
| Occiglot-7b-eu5 | 0.533194 | 0.508547 | 0.676667 | 0.725411 | 0.499325 | 0.25602 |
| Occiglot-7b-eu5-instruct | 0.548155 | 0.535043 | 0.68 | 0.737039 | 0.503525 | 0.285171 |
| Occiglot-7b-es-en | 0.527264 | 0.529915 | 0.627778 | 0.72253 | 0.512749 | 0.243346 |
| Occiglot-7b-es-en-instruct | 0.5396 | 0.545299 | 0.636667 | 0.734372 | 0.524374 | 0.257288 |
| Lince-mistral-7b-it-es | 0.547212 | 0.52906 | 0.721111 | 0.687967 | 0.512749 | 0.285171 |
| Mistral-7b-v0.1 | 0.554817 | 0.528205 | 0.747778 | 0.672712 | 0.544023 | 0.281369 |
| Mistral-7b-instruct-v0.2 | 0.568575 | 0.54188 | 0.73 | 0.685406 | 0.511699 | 0.373891 |
### French
| | avg | arc_challenge_fr | belebele_fr | hellaswag_fr | mmlu_fr | truthfulqa_fr |
|:---------------------------|---------:|-------------------:|--------------:|---------------:|----------:|----------------:|
| Occiglot-7b-eu5 | 0.525017 | 0.506416 | 0.675556 | 0.712358 | 0.495684 | 0.23507 |
| Occiglot-7b-eu5-instruct | 0.554216 | 0.541488 | 0.7 | 0.724245 | 0.499122 | 0.306226 |
| Occiglot-7b-fr-en | 0.542903 | 0.532934 | 0.706667 | 0.718891 | 0.51333 | 0.242694 |
| Occiglot-7b-fr-en-instruct | 0.567079 | 0.542344 | 0.752222 | 0.72553 | 0.52051 | 0.29479 |
| Claire-mistral-7b-0.1 | 0.515127 | 0.486741 | 0.694444 | 0.642964 | 0.479566 | 0.271919 |
| Cerbero-7b | 0.526044 | 0.462789 | 0.735556 | 0.624438 | 0.516462 | 0.290978 |
| Mistral-7b-v0.1 | 0.558129 | 0.525235 | 0.776667 | 0.66481 | 0.543121 | 0.280813 |
| Mistral-7b-instruct-v0.2 | 0.575821 | 0.551754 | 0.758889 | 0.67916 | 0.506837 | 0.382465 |
### Italian
| | avg | arc_challenge_it | belebele_it | hellaswag_it | mmlu_it | truthfulqa_it |
|:---------------------------|---------:|-------------------:|--------------:|---------------:|----------:|----------------:|
| Occiglot-7b-eu5 | 0.421382 | 0.501283 | 0.652222 | 0.700533 | 0 | 0.252874 |
| Occiglot-7b-eu5-instruct | 0.437214 | 0.516681 | 0.661111 | 0.71326 | 0 | 0.295019 |
| Occiglot-7b-it-en | 0.432667 | 0.536356 | 0.684444 | 0.694768 | 0 | 0.247765 |
| Occiglot-7b-it-en-instruct | 0.456261 | 0.545766 | 0.717778 | 0.713804 | 0 | 0.303959 |
| Cerbero-7b | 0.434939 | 0.522669 | 0.717778 | 0.631567 | 0 | 0.302682 |
| Mistral-7b-v0.1 | 0.426264 | 0.502139 | 0.734444 | 0.630371 | 0 | 0.264368 |
| Mistral-7b-instruct-v0.2 | 0.442383 | 0.519247 | 0.703333 | 0.6394 | 0 | 0.349936 |
</details>
## Acknowledgements
The pre-trained model training was supported by a compute grant at the [42 supercomputer](https://hessian.ai/) which is a central component in the development of [hessian AI](https://hessian.ai/), the [AI Innovation Lab](https://hessian.ai/infrastructure/ai-innovationlab/) (funded by the [Hessian Ministry of Higher Education, Research and the Art (HMWK)](https://wissenschaft.hessen.de) & the [Hessian Ministry of the Interior, for Security and Homeland Security (HMinD)](https://innen.hessen.de)) and the [AI Service Centers](https://hessian.ai/infrastructure/ai-service-centre/) (funded by the [German Federal Ministry for Economic Affairs and Climate Action (BMWK)](https://www.bmwk.de/Navigation/EN/Home/home.html)).
The curation of the training data is partially funded by the [German Federal Ministry for Economic Affairs and Climate Action (BMWK)](https://www.bmwk.de/Navigation/EN/Home/home.html)
through the project [OpenGPT-X](https://opengpt-x.de/en/) (project no. 68GX21007D).
## License
[Apache 2.0](https://www.apache.org/licenses/LICENSE-2.0.html)
## See also
- https://huggingface.co/collections/occiglot/occiglot-eu5-7b-v01-65dbed502a6348b052695e01
|