File size: 4,309 Bytes
403abe9
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
681ecd4
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
403abe9
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
---
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
tags:
- llama-cpp
- gguf-my-repo
base_model: utter-project/EuroLLM-1.7B
---

# Triangle104/EuroLLM-1.7B-Q4_K_M-GGUF
This model was converted to GGUF format from [`utter-project/EuroLLM-1.7B`](https://huggingface.co/utter-project/EuroLLM-1.7B) 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-1.7B) for more details on the model.

---
Model details:
-
This is the model card for the first pre-trained model of the EuroLLM
 series: EuroLLM-1.7B. You can also check the instruction tuned version:
 EuroLLM-1.7B-Instruct.


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 1.7B 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-1.7B is a 1.7B 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-1.7B-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 256 Nvidia H100 GPUs of the Marenostrum 5 
supercomputer, training the model with a constant batch size of 3,072 
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-1.7B-Q4_K_M-GGUF --hf-file eurollm-1.7b-q4_k_m.gguf -p "The meaning to life and the universe is"
```

### Server:
```bash
llama-server --hf-repo Triangle104/EuroLLM-1.7B-Q4_K_M-GGUF --hf-file eurollm-1.7b-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-1.7B-Q4_K_M-GGUF --hf-file eurollm-1.7b-q4_k_m.gguf -p "The meaning to life and the universe is"
```
or 
```
./llama-server --hf-repo Triangle104/EuroLLM-1.7B-Q4_K_M-GGUF --hf-file eurollm-1.7b-q4_k_m.gguf -c 2048
```