|
--- |
|
license: apache-2.0 |
|
language: |
|
- en |
|
- de |
|
- es |
|
- fr |
|
- it |
|
- pt |
|
- pl |
|
- nl |
|
- tr |
|
- sv |
|
- cs |
|
- el |
|
- hu |
|
- ro |
|
- fi |
|
- uk |
|
- sl |
|
- sk |
|
- da |
|
- lt |
|
- lv |
|
- et |
|
- bg |
|
- 'no' |
|
- ca |
|
- hr |
|
- ga |
|
- mt |
|
- gl |
|
- zh |
|
- ru |
|
- ko |
|
- ja |
|
- ar |
|
- hi |
|
library_name: transformers |
|
base_model: utter-project/EuroLLM-9B-Instruct |
|
tags: |
|
- llama-cpp |
|
- gguf-my-repo |
|
--- |
|
|
|
# Triangle104/EuroLLM-9B-Instruct-Q4_K_M-GGUF |
|
This model was converted to GGUF format from [`utter-project/EuroLLM-9B-Instruct`](https://huggingface.co/utter-project/EuroLLM-9B-Instruct) using llama.cpp via the ggml.ai's [GGUF-my-repo](https://huggingface.co/spaces/ggml-org/gguf-my-repo) space. |
|
Refer to the [original model card](https://huggingface.co/utter-project/EuroLLM-9B-Instruct) for more details on the model. |
|
|
|
--- |
|
Model details: |
|
- |
|
This is the model card for EuroLLM-9B-Instruct. You can also check the pre-trained version: EuroLLM-9B. |
|
|
|
|
|
Developed by: Unbabel, Instituto Superior Técnico, |
|
Instituto de Telecomunicações, University of Edinburgh, Aveni, |
|
University of Paris-Saclay, University of Amsterdam, Naver Labs, |
|
Sorbonne Université. |
|
Funded by: European Union. |
|
Model type: A 9B parameter multilingual transfomer LLM. |
|
Language(s) (NLP): Bulgarian, Croatian, Czech, |
|
Danish, Dutch, English, Estonian, Finnish, French, German, Greek, |
|
Hungarian, Irish, Italian, Latvian, Lithuanian, Maltese, Polish, |
|
Portuguese, Romanian, Slovak, Slovenian, Spanish, Swedish, Arabic, |
|
Catalan, Chinese, Galician, Hindi, Japanese, Korean, Norwegian, Russian, |
|
Turkish, and Ukrainian. |
|
License: Apache License 2.0. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Model Details |
|
|
|
|
|
|
|
|
|
The EuroLLM project has the goal of creating a suite of LLMs capable |
|
of understanding and generating text in all European Union languages as |
|
well as some additional relevant languages. |
|
EuroLLM-9B is a 9B parameter model trained on 4 trillion tokens divided |
|
across the considered languages and several data sources: Web data, |
|
parallel data (en-xx and xx-en), and high-quality datasets. |
|
EuroLLM-9B-Instruct was further instruction tuned on EuroBlocks, an |
|
instruction tuning dataset with focus on general instruction-following |
|
and machine translation. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Model Description |
|
|
|
|
|
|
|
|
|
EuroLLM uses a standard, dense Transformer architecture: |
|
|
|
|
|
We use grouped query attention (GQA) with 8 key-value heads, since |
|
it has been shown to increase speed at inference time while maintaining |
|
downstream performance. |
|
We perform pre-layer normalization, since it improves the training stability, and use the RMSNorm, which is faster. |
|
We use the SwiGLU activation function, since it has been shown to lead to good results on downstream tasks. |
|
We use rotary positional embeddings (RoPE) in every layer, since |
|
these have been shown to lead to good performances while allowing the |
|
extension of the context length. |
|
|
|
|
|
For pre-training, we use 400 Nvidia H100 GPUs of the Marenostrum 5 |
|
supercomputer, training the model with a constant batch size of 2,800 |
|
sequences, which corresponds to approximately 12 million tokens, using |
|
the Adam optimizer, and BF16 precision. |
|
|
|
--- |
|
## Use with llama.cpp |
|
Install llama.cpp through brew (works on Mac and Linux) |
|
|
|
```bash |
|
brew install llama.cpp |
|
|
|
``` |
|
Invoke the llama.cpp server or the CLI. |
|
|
|
### CLI: |
|
```bash |
|
llama-cli --hf-repo Triangle104/EuroLLM-9B-Instruct-Q4_K_M-GGUF --hf-file eurollm-9b-instruct-q4_k_m.gguf -p "The meaning to life and the universe is" |
|
``` |
|
|
|
### Server: |
|
```bash |
|
llama-server --hf-repo Triangle104/EuroLLM-9B-Instruct-Q4_K_M-GGUF --hf-file eurollm-9b-instruct-q4_k_m.gguf -c 2048 |
|
``` |
|
|
|
Note: You can also use this checkpoint directly through the [usage steps](https://github.com/ggerganov/llama.cpp?tab=readme-ov-file#usage) listed in the Llama.cpp repo as well. |
|
|
|
Step 1: Clone llama.cpp from GitHub. |
|
``` |
|
git clone https://github.com/ggerganov/llama.cpp |
|
``` |
|
|
|
Step 2: Move into the llama.cpp folder and build it with `LLAMA_CURL=1` flag along with other hardware-specific flags (for ex: LLAMA_CUDA=1 for Nvidia GPUs on Linux). |
|
``` |
|
cd llama.cpp && LLAMA_CURL=1 make |
|
``` |
|
|
|
Step 3: Run inference through the main binary. |
|
``` |
|
./llama-cli --hf-repo Triangle104/EuroLLM-9B-Instruct-Q4_K_M-GGUF --hf-file eurollm-9b-instruct-q4_k_m.gguf -p "The meaning to life and the universe is" |
|
``` |
|
or |
|
``` |
|
./llama-server --hf-repo Triangle104/EuroLLM-9B-Instruct-Q4_K_M-GGUF --hf-file eurollm-9b-instruct-q4_k_m.gguf -c 2048 |
|
``` |
|
|