johannhartmann's picture
Create README.md
e76ad4f verified
metadata
license: apache-2.0
language:
  - en
  - es
  - de
  - fr
  - it
pipeline_tag: text-generation

image/png

Occiglot-7B-EU5-Instruct

A polyglot language model for the Occident.

Occiglot-7B-EU5-Instruct is a the instruct version of 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. 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. We are open for collaborations!

Model details

  • Instruction tuned from: occiglot-7b-eu5
  • Model type: Causal decoder-only transformer language model
  • Languages: English, Spanish, French, German, Italian, and code.
  • License: Apache 2.0
  • Compute resources: DFKI cluster
  • Contributors: Manuel Brack, Patrick Schramowski, Pedro Ortiz, Malte Ostendorff, Fabio Barth, Georg Rehm, Kristian Kersting
  • Research labs: Occiglot with support from SAINT and SLT
  • Contact: Discord

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:

>>> 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, Jan Philipp Harries, and Björn Plüster for making their dataset available to us.

English and Code

German

Spanish

French

Italian

Training settings

  • Full instruction fine-tuning on 8xH100.
  • 0.6 - 4 training epochs (depending on dataset sampling).
  • Framework: 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.

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 and Okapi framework) 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.

Evaluation results

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

Acknowledgements

The pre-trained model training was supported by a compute grant at the 42 supercomputer which is a central component in the development of hessian AI, the AI Innovation Lab (funded by the Hessian Ministry of Higher Education, Research and the Art (HMWK) & the Hessian Ministry of the Interior, for Security and Homeland Security (HMinD)) and the AI Service Centers (funded by the German Federal Ministry for Economic Affairs and Climate Action (BMWK)). The curation of the training data is partially funded by the German Federal Ministry for Economic Affairs and Climate Action (BMWK) through the project OpenGPT-X (project no. 68GX21007D).

License

Apache 2.0

See also