Text Generation
Transformers
Safetensors
English
Spanish
mistral
conversational
text-generation-inference
4-bit precision
awq
Instructions to use mayflowergmbh/occiglot-7b-es-en-instruct-AWQ with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use mayflowergmbh/occiglot-7b-es-en-instruct-AWQ with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="mayflowergmbh/occiglot-7b-es-en-instruct-AWQ") messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)# pip install -U transformers accelerate # Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("mayflowergmbh/occiglot-7b-es-en-instruct-AWQ") model = AutoModelForCausalLM.from_pretrained("mayflowergmbh/occiglot-7b-es-en-instruct-AWQ", device_map="auto") 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=256) print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use mayflowergmbh/occiglot-7b-es-en-instruct-AWQ with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "mayflowergmbh/occiglot-7b-es-en-instruct-AWQ" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "mayflowergmbh/occiglot-7b-es-en-instruct-AWQ", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/mayflowergmbh/occiglot-7b-es-en-instruct-AWQ
- SGLang
How to use mayflowergmbh/occiglot-7b-es-en-instruct-AWQ 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 "mayflowergmbh/occiglot-7b-es-en-instruct-AWQ" \ --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": "mayflowergmbh/occiglot-7b-es-en-instruct-AWQ", "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 "mayflowergmbh/occiglot-7b-es-en-instruct-AWQ" \ --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": "mayflowergmbh/occiglot-7b-es-en-instruct-AWQ", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Docker Model Runner
How to use mayflowergmbh/occiglot-7b-es-en-instruct-AWQ with Docker Model Runner:
docker model run hf.co/mayflowergmbh/occiglot-7b-es-en-instruct-AWQ
Create README.md
Browse files
README.md
ADDED
|
@@ -0,0 +1,138 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
license: apache-2.0
|
| 3 |
+
language:
|
| 4 |
+
- en
|
| 5 |
+
- es
|
| 6 |
+
pipeline_tag: text-generation
|
| 7 |
+
---
|
| 8 |
+
|
| 9 |
+

|
| 10 |
+
|
| 11 |
+
# Occiglot-7B-ES-EN
|
| 12 |
+
|
| 13 |
+
> A [polyglot](https://en.wikipedia.org/wiki/Multilingualism#In_individuals) language model for the [Occident](https://en.wikipedia.org/wiki/Occident).
|
| 14 |
+
>
|
| 15 |
+
|
| 16 |
+
**Occiglot-7B-ES-EN** is a generative language model with 7B parameters for Spanish and English and trained by the [Occiglot Research Collective](https://occiglot.github.io/occiglot/).
|
| 17 |
+
It is based on [Mistral-7B-v0.1](https://huggingface.co/mistralai/Mistral-7B-v0.1) and trained on 112B tokens of additional multilingual and code data with a block size of 8,192 tokens per sample.
|
| 18 |
+
Note that the model is a general-purpose base model and was not instruction-fine-tuned nor optimized for chat or other applications. We make an instruction tuned variant available as [occiglot-7b-es-en-instruct](https://huggingface.co/occiglot/occiglot-7b-es-en-instruct)
|
| 19 |
+
|
| 20 |
+
This is the first release of an ongoing open research project for multilingual language models.
|
| 21 |
+
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!**
|
| 22 |
+
|
| 23 |
+
|
| 24 |
+
### Model details
|
| 25 |
+
|
| 26 |
+
- **Continued-pretraining from:** [Mistral-7B-v0.1](https://huggingface.co/mistralai/Mistral-7B-v0.1)
|
| 27 |
+
- **Model type:** Causal decoder-only transformer language model
|
| 28 |
+
- **Languages:** English, Spanish, and code.
|
| 29 |
+
- **License:** [Apache 2.0](https://www.apache.org/licenses/LICENSE-2.0.html)
|
| 30 |
+
- **Compute resources:** [HessianAI's 42](https://hessian.ai/)
|
| 31 |
+
- **Contributors:** Manuel Brack, Patrick Schramowski, Pedro Ortiz, Malte Ostendorff, Fabio Barth, Georg Rehm, Kristian Kersting
|
| 32 |
+
- **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)
|
| 33 |
+
- **Contact:** [Discord](https://discord.gg/wUpvYs4XvM)
|
| 34 |
+
|
| 35 |
+
### How to use
|
| 36 |
+
|
| 37 |
+
You can use this model directly with a pipeline for text generation. Since the generation relies on some randomness, we
|
| 38 |
+
set a seed for reproducibility:
|
| 39 |
+
|
| 40 |
+
```python
|
| 41 |
+
>>> from transformers import pipeline, set_seed
|
| 42 |
+
>>> generator = pipeline('text-generation', model='occiglot/occiglot-7b-es-en')
|
| 43 |
+
>>> set_seed(42)
|
| 44 |
+
>>> generator("Hola, soy una modelo lingüística", max_length=40, num_return_sequences=1)
|
| 45 |
+
[{'generated_text': 'Hola, soy una modelo lingüística que puede ayudarte a traducir textos entre español e inglés. Si me envías un texto en español'}]
|
| 46 |
+
```
|
| 47 |
+
|
| 48 |
+
## Dataset
|
| 49 |
+
|
| 50 |
+
The training data is the respective subset of the data used for [occiglot-7b-eu5](https://huggingface.co/occiglot/occiglot-7b-eu5), i.e. Spanish plus English and Code.
|
| 51 |
+
|
| 52 |
+
The data distribution by language (estimated) is as follows:
|
| 53 |
+
- English: ~34%
|
| 54 |
+
- Code: ~13%
|
| 55 |
+
- Spanish: ~52%
|
| 56 |
+
|
| 57 |
+
The training data was prepared using [lm-datasets](https://github.com/malteos/lm-datasets).
|
| 58 |
+
The exact data configuration is [here](https://huggingface.co/occiglot/occiglot-7b-eu5/blob/main/lm-datasets-config.yml).
|
| 59 |
+
|
| 60 |
+
## Training settings
|
| 61 |
+
|
| 62 |
+
- Continual pre-training on 128 x A100-80GB on [HessianAI's 42](https://hessian.ai/).
|
| 63 |
+
- Framework: [Determined](https://www.determined.ai/)
|
| 64 |
+
- Precision: bf16
|
| 65 |
+
- Optimizer: AdamW (lr: 0.00001, warmup_steps: 420)
|
| 66 |
+
- Global batch size: 512 (with 8192 blocksize) split over 128 GPUs
|
| 67 |
+
- Cosine Annealing with Warmup
|
| 68 |
+
|
| 69 |
+
|
| 70 |
+
## Tokenizer
|
| 71 |
+
|
| 72 |
+
Tokenizer is unchanged from [Mistral-7B-v0.1](https://huggingface.co/mistralai/Mistral-7B-v0.1).
|
| 73 |
+
|
| 74 |
+
## Evaluation
|
| 75 |
+
|
| 76 |
+
Preliminary evaluation results can be found below.
|
| 77 |
+
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.
|
| 78 |
+
Currently, we are working on more suitable benchmarks for Spanish, French, German, and Italian.
|
| 79 |
+
|
| 80 |
+
<details>
|
| 81 |
+
<summary>Evaluation results</summary>
|
| 82 |
+
|
| 83 |
+
### All 5 Languages
|
| 84 |
+
|
| 85 |
+
| | avg | arc_challenge | belebele | hellaswag | mmlu | truthfulqa |
|
| 86 |
+
|:---------------------------|---------:|----------------:|-----------:|------------:|---------:|-------------:|
|
| 87 |
+
| Occiglot-7b-eu5 | 0.516895 | 0.508109 | 0.675556 | 0.718963 | 0.402064 | 0.279782 |
|
| 88 |
+
| Occiglot-7b-eu5-instruct | 0.537799 | 0.53632 | 0.691111 | 0.731918 | 0.405198 | 0.32445 |
|
| 89 |
+
| Occiglot-7b-es-en | 0.483388 | 0.482949 | 0.606889 | 0.653902 | 0.398922 | 0.274277 |
|
| 90 |
+
| Occiglot-7b-es-en-instruct | 0.504023 | 0.494576 | 0.65 | 0.670847 | 0.406176 | 0.298513 |
|
| 91 |
+
| Lince-mistral-7b-it-es | 0.543427 | 0.540222 | 0.745111 | 0.692931 | 0.426241 | 0.312629 |
|
| 92 |
+
| Mistral-7b-v0.1 | 0.547111 | 0.528937 | 0.768444 | 0.682516 | 0.448253 | 0.307403 |
|
| 93 |
+
| Mistral-7b-instruct-v0.2 | 0.56713 | 0.547228 | 0.741111 | 0.69455 | 0.422501 | 0.430262 |
|
| 94 |
+
|
| 95 |
+
|
| 96 |
+
### English
|
| 97 |
+
|
| 98 |
+
| | avg | arc_challenge | belebele | hellaswag | mmlu | truthfulqa |
|
| 99 |
+
|:---------------------------|---------:|----------------:|-----------:|------------:|---------:|-------------:|
|
| 100 |
+
| Occiglot-7b-eu5 | 0.59657 | 0.530717 | 0.726667 | 0.789882 | 0.531904 | 0.403678 |
|
| 101 |
+
| Occiglot-7b-eu5-instruct | 0.617905 | 0.558874 | 0.746667 | 0.799841 | 0.535109 | 0.449 |
|
| 102 |
+
| Occiglot-7b-es-en | 0.593609 | 0.543515 | 0.697778 | 0.788289 | 0.548355 | 0.390109 |
|
| 103 |
+
| Occiglot-7b-es-en-instruct | 0.615707 | 0.552048 | 0.736667 | 0.797451 | 0.557328 | 0.435042 |
|
| 104 |
+
| Leo-mistral-hessianai-7b | 0.600949 | 0.522184 | 0.736667 | 0.777833 | 0.538812 | 0.429248 |
|
| 105 |
+
| Mistral-7b-v0.1 | 0.668385 | 0.612628 | 0.844444 | 0.834097 | 0.624555 | 0.426201 |
|
| 106 |
+
| Mistral-7b-instruct-v0.2 | 0.713657 | 0.637372 | 0.824444 | 0.846345 | 0.59201 | 0.668116 |
|
| 107 |
+
|
| 108 |
+
### Spanish
|
| 109 |
+
|
| 110 |
+
| | avg | arc_challenge_es | belebele_es | hellaswag_es | mmlu_es | truthfulqa_es |
|
| 111 |
+
|:---------------------------|---------:|-------------------:|--------------:|---------------:|----------:|----------------:|
|
| 112 |
+
| Occiglot-7b-eu5 | 0.533194 | 0.508547 | 0.676667 | 0.725411 | 0.499325 | 0.25602 |
|
| 113 |
+
| Occiglot-7b-eu5-instruct | 0.548155 | 0.535043 | 0.68 | 0.737039 | 0.503525 | 0.285171 |
|
| 114 |
+
| Occiglot-7b-es-en | 0.527264 | 0.529915 | 0.627778 | 0.72253 | 0.512749 | 0.243346 |
|
| 115 |
+
| Occiglot-7b-es-en-instruct | 0.5396 | 0.545299 | 0.636667 | 0.734372 | 0.524374 | 0.257288 |
|
| 116 |
+
| Lince-mistral-7b-it-es | 0.547212 | 0.52906 | 0.721111 | 0.687967 | 0.512749 | 0.285171 |
|
| 117 |
+
| Mistral-7b-v0.1 | 0.554817 | 0.528205 | 0.747778 | 0.672712 | 0.544023 | 0.281369 |
|
| 118 |
+
| Mistral-7b-instruct-v0.2 | 0.568575 | 0.54188 | 0.73 | 0.685406 | 0.511699 | 0.373891 |
|
| 119 |
+
|
| 120 |
+
|
| 121 |
+
|
| 122 |
+
</details>
|
| 123 |
+
|
| 124 |
+
## Acknowledgements
|
| 125 |
+
|
| 126 |
+
The 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)).
|
| 127 |
+
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)
|
| 128 |
+
through the project [OpenGPT-X](https://opengpt-x.de/en/) (project no. 68GX21007D).
|
| 129 |
+
|
| 130 |
+
|
| 131 |
+
## License
|
| 132 |
+
|
| 133 |
+
[Apache 2.0](https://www.apache.org/licenses/LICENSE-2.0.html)
|
| 134 |
+
|
| 135 |
+
## See also
|
| 136 |
+
|
| 137 |
+
- https://huggingface.co/collections/occiglot/occiglot-eu5-7b-v01-65dbed502a6348b052695e01
|
| 138 |
+
|