Instructions to use occiglot/occiglot-7b-it-en-instruct with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use occiglot/occiglot-7b-it-en-instruct with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="occiglot/occiglot-7b-it-en-instruct") messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)# Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("occiglot/occiglot-7b-it-en-instruct") model = AutoModelForCausalLM.from_pretrained("occiglot/occiglot-7b-it-en-instruct") messages = [ {"role": "user", "content": "Who are you?"}, ] inputs = tokenizer.apply_chat_template( messages, add_generation_prompt=True, tokenize=True, return_dict=True, return_tensors="pt", ).to(model.device) outputs = model.generate(**inputs, max_new_tokens=40) print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Inference
- Notebooks
- Google Colab
- Kaggle
- Local Apps
- vLLM
How to use occiglot/occiglot-7b-it-en-instruct with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "occiglot/occiglot-7b-it-en-instruct" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "occiglot/occiglot-7b-it-en-instruct", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/occiglot/occiglot-7b-it-en-instruct
- SGLang
How to use occiglot/occiglot-7b-it-en-instruct with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "occiglot/occiglot-7b-it-en-instruct" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "occiglot/occiglot-7b-it-en-instruct", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "occiglot/occiglot-7b-it-en-instruct" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "occiglot/occiglot-7b-it-en-instruct", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Docker Model Runner
How to use occiglot/occiglot-7b-it-en-instruct with Docker Model Runner:
docker model run hf.co/occiglot/occiglot-7b-it-en-instruct
Occiglot-7B-it-en-Instruct
Occiglot-7B-EU5-Instruct is a the instruct version of occiglot-7b-it-en, 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 160M 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-it-en
- Model type: Causal decoder-only transformer language model
- Languages: English, 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": "chi è il primo ministro italiano?"},
>>> ]
>>> 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]):])
'Il primo ministro italiano è attualmente Giorgia Meloni, presidente di Fratelli d'Italia, un partito politico di estrema destra.'
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 and Björn Plüster for making their dataset available to us.
English and Code
Italian
- Quora-IT-Baize
- Stackoverflow-IT-Vaize
- Camoscio
- OASST-2 (Italian subset)
- Aya-Dataset (Italian subset)
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
English
| arc_challenge | belebele | hellaswag | mmlu | truthfulqa | avg | |
|---|---|---|---|---|---|---|
| occiglot/occiglot-7b-eu5 | 0.530717 | 0.726667 | 0.789882 | 0.531904 | 0.403678 | 0.59657 |
| occiglot/occiglot-7b-eu5-instruct | 0.558874 | 0.746667 | 0.799841 | 0.535109 | 0.449034 | 0.617905 |
| occiglot/occiglot-7b-it-en | 0.580205 | 0.774444 | 0.804222 | 0.578977 | 0.412786 | 0.630127 |
| occiglot/occiglot-7b-it-en-instruct | 0.609215 | 0.82 | 0.809301 | 0.578835 | 0.479562 | 0.659383 |
| galatolo/cerbero-7b | 0.613481 | 0.827778 | 0.810396 | 0.600484 | 0.480911 | 0.66661 |
| mistralai/Mistral-7B-v0.1 | 0.612628 | 0.844444 | 0.834097 | 0.624555 | 0.426201 | 0.668385 |
| mistralai/Mistral-7B-Instruct-v0.2 | 0.637372 | 0.824444 | 0.846345 | 0.59201 | 0.668116 | 0.713657 |
Italian
| arc_challenge_it | belebele_it | hellaswag_it | mmlu_it | truthfulqa_it | avg | |
|---|---|---|---|---|---|---|
| occiglot/occiglot-7b-eu5 | 0.501283 | 0.652222 | 0.700533 | 0 | 0.252874 | 0.421382 |
| occiglot/occiglot-7b-eu5-instruct | 0.516681 | 0.661111 | 0.71326 | 0 | 0.295019 | 0.437214 |
| occiglot/occiglot-7b-it-en | 0.536356 | 0.684444 | 0.694768 | 0 | 0.247765 | 0.432667 |
| occiglot/occiglot-7b-it-en-instruct | 0.545766 | 0.717778 | 0.713804 | 0 | 0.303959 | 0.456261 |
| galatolo/cerbero-7b | 0.522669 | 0.717778 | 0.631567 | 0 | 0.302682 | 0.434939 |
| mistralai/Mistral-7B-v0.1 | 0.502139 | 0.734444 | 0.630371 | 0 | 0.264368 | 0.426264 |
| mistralai/Mistral-7B-Instruct-v0.2 | 0.519247 | 0.703333 | 0.6394 | 0 | 0.349936 | 0.442383 |
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
See also
- Downloads last month
- 2,181
