File size: 14,939 Bytes
afd4e47
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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