alt.freeweights.text / EuroLLM-22B-Instruct-2512
From: utter-project <huggingface.co/utter-project>Newsgroups: alt.freeweights.textSubject:

EuroLLM-22B-Instruct-2512

Date: 2026-11-15Commit: 8c6ed5cSigned: 2DC28CC7B26A283B ✓

Text generation model with 22.6B parameters. Safetensors weights, 45.3 GB in all. Published by utter-project under Apache-2.0.

22.6B params45.3GBEuroLLM-22B-Instruct-2512safetensorspermissive
FactsParams22.6BSize45.3 GBFormatssafetensorsTasktext generationLicenseApache-2.0From sourcepermissive
$ fw get utter-project/EuroLLM-22B-Instruct-2512
# manifest sha256 2ad5b0a7dd5b… · 45.3 GB · 20 files
$ fw verify ./EuroLLM-22B-Instruct-2512 utter-project/EuroLLM-22B-Instruct-2512
From sourceHosted (signed)utter-project/EuroLLM-22B-Instruct-2512Last check: 2026-11-15 02:47 UTC

Get help: custom fine-tune or private deploy. We review your setup before we quote.

Fine-tune of EuroLLM-22B-2512.

Works with

Overview

Size
45.3 GB
Weights
45.3 GB (safetensors)
Parameters
22.6B
Formats
safetensors
Task
text generation
License
Apache-2.0 (permissive)
Files
20, each with a sha256
Publisher
utter-project
Added
2026-11-15
Section
alt.freeweights.text
Lineage

Original release from the publisher.

Base model: utter-project/EuroLLM-22B-2512

Where these bytes come from
Publisher at the pinned commit→You

Sources are tried in order. A file counts only when its size and sha256 match the manifest. Sources are checked when you ask for them, not on a timer.

Sources
BadgeHostLast checkResult
From sourcehuggingface.co2026-11-15 02:47 UTCpassed

Model card

From the publisher at commit 8c6ed5c. Shown as plain text with links; images open at the publisher.

Model Card for EuroLLM-22B-Instruct#

This is the model card for EuroLLM-22B-Instruct. You can also check the pre-trained version: EuroLLM-22B-2515.

  • Developed by: Instituto Superior Técnico - University of Lisbon, Instituto de Telecomunicações, University of Edinburgh, Aveni, Unbabel, University of Paris-Saclay, Artefact Research Center, University of Amsterdam, Naver Labs, Sorbonne Université.
  • Funded by: European Union.
  • Model type: A 22B 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.

Built with Axolotl See axolotl config

axolotl version: 0.12.2

auto_resume_from_checkpoints: true
use_tensorboard: true

base_model: utter-project/EuroLLM-22B-2512
model_type: AutoModelForCausalLM
tokenizer_type: AutoTokenizer

load_in_8bit: false
load_in_4bit: false
strict: false

dataset_processes: 64
datasets:
  - path: utter-project/EuroBlocks-SFT-2512
    type: chat_template
    split: train
    conversation: chatml
    field_messages: conversations
    message_field_role: role
    message_field_content: content
    roles_to_train: ["assistant"]
    train_on_eos: all


chat_template_jinja: "{% for message in messages %}{% if message['role'] == 'assistant' %}{% set role = 'assistant' %}{% else %}{% set role = message['role'] %}{% endif %}<|im_start|>{{ role }}\n{{ message['content'] | trim }}<|im_end|>\n{% endfor %}{% if add_generation_prompt %}{{'<|im_start|>assistant\n'}}{% endif %}"
 
output_dir: checkpoints
val_set_size: 0

sequence_len: 32768
sample_packing: true
pad_to_sequence_len: true

# sequence_parallel_degree: 4
# heads_k_stride: 1
# ring_attn_func:

plugins:
  - axolotl.integrations.liger.LigerPlugin
liger_rope: true
liger_rms_norm: true
liger_glu_activation: true
liger_layer_norm: true
liger_fused_linear_cross_entropy: true

# N_GPUS * GRAD_ACC_STEPS * MICRO_BATCH_SIZE * SEQ_LEN = tokens/step ->
# Assuming 32 gpus (32 * 2 * 2 * 32k = 4 096 000 tokens/step)
gradient_accumulation_steps: 2
micro_batch_size: 2

eval_batch_size: 1
num_epochs: 5
optimizer: adamw_torch
lr_scheduler: cosine
learning_rate: 1e-5

train_on_inputs: false
group_by_length: false
bf16: true
fp16: false
tf32: false

gradient_checkpointing: true
logging_steps: 1
flash_attention: true
flash_attn_cross_entropy: false
flash_attn_rms_norm: false
flash_attn_fuse_qkv: false
flash_attn_fuse_mlp: false

warmup_steps: 125
eval_sample_packing: False
save_steps: 500
save_total_limit: 2
deepspeed: deepspeed_configs/zero3_bf16.json
weight_decay: 0.01

special_tokens:
  eos_token: "<|im_end|>"

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-22B is a 22B 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-22B-Instruct was further instruction tuned on EuroBlocks, an instruction tuning dataset with focus on general instruction-following and machine translation.

Architecture#

EuroLLM uses a standard, dense Transformer architecture withgrouped query attention (GQA), pre-layer normalization with RMSNorm, SwiGLU activations and rotary positional embeddings (RoPE) in every layer. Here is a summary of the model hyper-parameters:

Sequence Length32,768
Number of Layers56
Embedding Size6,144
FFN Hidden Size16,384
Number of Heads48
Number of KV Heads (GQA)8
Activation FunctionSwiGLU
Position EncodingsRoPE (\Theta=1,000,000)
Layer NormRMSNorm
Tied EmbeddingsNo
Embedding Parameters0.786B
LM Head Parameters0.786B
Non-embedding Parameters21.067B
Total Parameters22.639B
Pre-training#

EuroLLM-22B was trained on approximately 4 trillion tokens, using 400 Nvidia H100 GPUs on the MareNostrum5 supercomputer, thanks to an EuroHPC extreme-scale access grant. The training process was carefully structured into three key phases:

Initial Pre-training (3.6 trillion tokens) This phase includes the warm-up and constant learning rate stages, during which the model is trained on a mixture of web data alongside higher quality sources such as parallel data, Wikipedia, Arxiv, books, math, code and Apollo datasets. This balanced mix helps the model build a strong multilingual foundation.

Annealing (400 billion tokens) During this phase, there is a linear decay of the learning rate and we adjust the data mix to reduce the proportion of web data while increasing the multilingual content and select the highest quality data—by making use of quality filters such as CometKiwi-22 and EuroFilter. This shift helps the model refine its understanding across diverse languages and domains.

Annealing to Zero (100 billion tokens) In this final stage, the learning rate decays linearly to zero. In this phase, the data mix was optimized to be of even higher quality, in order to polish the model's performance, and long context data sources were upsampled to increase the model context window to 32k tokens.

Post-training#

During post-training, we adapt EuroLLM to be an instruction-following model capable of handling multi-turn conversations. We start by regenerating the final responses from publicly available datasets using several open models, and keep the best candidate using a reward model. To this data, we add records from other datasets (Nemotron, Hermes-3 and Tulu 3), removing duplicates based on the first prompt. This pipeline shows how EuroLLM can be easily adapted for your use-cases.

The model excels at translation tasks being capable of translating across all official EU languages, matching or outperforming strong models like Gemma-3-27B, Qwen-3-32B and Apertus-70B. Furthermore, when it comes to general benchmarks, it is the best EU-made fully open model.

Run the model#

from transformers import AutoModelForCausalLM, AutoTokenizer

model_id = "utter-project/EuroLLM-22B-Instruct-2512" tokenizer = AutoTokenizer.from_pretrained(model_id) model = AutoModelForCausalLM.from_pretrained(model_id)

messages = [ { "role": "system", "content": "You are EuroLLM --- an AI assistant specialized in European languages that provides safe, educational and helpful answers.", }, { "role": "user", "content": "What is the capital of Portugal? How would you describe it?" }, ]

inputs = tokenizer.apply_chat_template(messages, tokenize=True, add_generation_prompt=True, return_tensors="pt") outputs = model.generate(inputs, max_new_tokens=1024) print(tokenizer.decode(outputs[0], skip_special_tokens=True))

Results#

Multilingual#

Image: EuroLLM 22B Blog Results - Multilingual

Table 1: Comparison of fully open and open-weight LLMs on a suite of multilingual benchmarks, averaging over all languages supported by EuroLLM-22B that are present in each benchmark. The table reports scores on HellaSwag, MMLU, MMLU-Pro, ARC-Challenge, MGSM, FLORES, and WMT24++. The Borda Count (Colombo et al., 2022) reflects the average ranking of each model across all benchmarks. Bold values indicate the best overall system for each benchmark, while underscored values denote the best fully open system.

English#

Image: EuroLLM 22B Blog Results - English

Table 2: Comparison of fully open and open-weight LLMs on a suite of English benchmarks. The table reports scores on IFEval, HellaSwag, MMLU, MMLU-Pro, BBH, ARC-Challenge, GPQA, GSM8K, MATH-500, and HumanEval. The Borda Count reflects the average ranking of each model across all benchmarks. Bold values indicate the best overall system for each benchmark, while underscored values denote the best fully open system.

Bias, Risks, and Limitations#

EuroLLM-22B has not been aligned to human preferences, so the model may generate problematic outputs (e.g., hallucinations, harmful content, or false statements).

Citation#

If you use our work, please cite:

@misc{ramos2026eurollm22btechnicalreport,
      title={EuroLLM-22B: Technical Report}, 
      author={Miguel Moura Ramos and Duarte M. Alves and Hippolyte Gisserot-Boukhlef and João Alves and Pedro Henrique Martins and Patrick Fernandes and José Pombal and Nuno M. Guerreiro and Ricardo Rei and Nicolas Boizard and Amin Farajian and Mateusz Klimaszewski and José G. C. de Souza and Barry Haddow and François Yvon and Pierre Colombo and Alexandra Birch and André F. T. Martins},
      year={2026},
      eprint={2602.05879},
      archivePrefix={arXiv},
      primaryClass={cs.CL},
      url={https://arxiv.org/abs/2602.05879}, 
}

Files

20 files · 45.3 GBWeights 45.3 GB (safetensors). Sizes and sha256 from the signed manifest.
Hide all 20 files with their sha256
FileSizesha256
.gitattributes1.63 KB756d20ec8b48ac04f763efa052cfd1ebd72d92fa4bd7411585c08bd5a8f4e12d
EuroLLM_Public_Summary.pdf234 KBeacc95d2048b6fcfcff936c16912e93dc557c9ad1cfea655df94776b46d5c8f9
README.md10.7 KB3340b1c9f381abebbb2cb2262414e2314e67bc1a03d14f4a4abefdcdf0b70b8c
config.json680 B221b0cb63409ebf74a81bc882bf3b13ca5762eb86db98aa7cc667dedd84d6b91
generation_config.json132 B6867ea83aa1a0658ed6958f8f967455016d82aee26cef40ccdb5b905c1dd3bf9
model-00001-of-00010.safetensors4.87 GB3a69899a3f66414fac96f3ccc1b8daf46372ead956ffb9f65d78f7173f10eb33
model-00002-of-00010.safetensors4.88 GBa25a9a14f0f49ea060651a00bfbd4bc90431d2fbc200768946052f43377360c8
model-00003-of-00010.safetensors4.88 GBce50ffabcb159e1703817db2229331ea83ef063ef2e62f3d515e45c40253c238
model-00004-of-00010.safetensors4.98 GBf7f6323135f01ecdb736ef388b3528078c38396e8ef6bb3a3e54f40a6acaf388
model-00005-of-00010.safetensors4.96 GB9a48a12955a4f88b2302769fe6c6e55a034404f8a75dd0e6f95db0192b452048
model-00006-of-00010.safetensors4.88 GBe0254ead2f79aaa8a94fd79f4c2825aa8eae219f979fcf1a5675d2ffbce93655
model-00007-of-00010.safetensors4.98 GBc8c4cdb75ec1d191d4cbb2525798c810e0c311f8b1f086030c2685536f1da803
model-00008-of-00010.safetensors4.96 GBe67bc295cea5da054c2560067fec9e0721106b528c0f9b32fd1b1857019923c5
model-00009-of-00010.safetensors4.30 GB059935872f7bebea830cda266cb6727d4fc5d3b1531cef33e2b5c7888c6947d5
model-00010-of-00010.safetensors1.57 GBb27d28de29be8d883f75edd457ae26fecdfc101d54307f4e3b8e57ac6dc8c06d
model.safetensors.index.json40.3 KB7249bd9dc7f2132c66423e248d0c535d47106dfee1c84123866bd170526bc6a0
special_tokens_map.json443 B60f4998edef989ba22a5eba0838fdce563b44fd6c75a22fc27967720541ff6ad
tokenizer.json15.8 MBd6e4810e827e4ffcd735429d19d585326bb4efb31e921cb870ecefc4c1fa16e3
tokenizer.model2.41 MB42957aec88804838805b335da1bbcce9d116024a20c6c4b56757648b9e348254
tokenizer_config.json47.3 KB965bfe7460b660a6ba0e0dba1ec23b6d3a982e02e6632d40a397d95dbb871cc1
VersionsEach time the pinned upstream commit or file list changed in this repo. Newest first.
Upstream commitDateContents
8c6ed5c8d1 pinned now2026-11-15 02:47 UTC20 files · 45.3 GB

Use it

$ fw get utter-project/EuroLLM-22B-Instruct-2512
# manifest sha256 2ad5b0a7dd5b… · 45.3 GB · 20 files
$ fw verify ./EuroLLM-22B-Instruct-2512 utter-project/EuroLLM-22B-Instruct-2512
fw.pyChecks the signature and every sha256, tries each source in order, resumes.
$ python3 fw.py get https://freeweights.allternit.com/manifests/utter-project/EuroLLM-22B-Instruct-2512.json --dir ./EuroLLM-22B-Instruct-2512 $ python3 fw.py verify ./EuroLLM-22B-Instruct-2512 ./utter-project__EuroLLM-22B-Instruct-2512.json
hfThe Hugging Face CLI with one setting. Same repo id.
$ HF_ENDPOINT=https://freeweights.allternit.com hf download utter-project/EuroLLM-22B-Instruct-2512 --revision 8c6ed5c8d18527d9daed994f645032b86c53f0bb --local-dir ./EuroLLM-22B-Instruct-2512
transformersLoad the weights in Python.
import os os.environ["HF_ENDPOINT"] = "https://freeweights.allternit.com" from transformers import AutoModelForCausalLM, AutoTokenizer tok = AutoTokenizer.from_pretrained("utter-project/EuroLLM-22B-Instruct-2512", revision="8c6ed5c8d18527d9daed994f645032b86c53f0bb") model = AutoModelForCausalLM.from_pretrained("utter-project/EuroLLM-22B-Instruct-2512", revision="8c6ed5c8d18527d9daed994f645032b86c53f0bb", device_map="auto")
vLLMServe an OpenAI-compatible API.
$ HF_ENDPOINT=https://freeweights.allternit.com vllm serve utter-project/EuroLLM-22B-Instruct-2512 --revision 8c6ed5c8d18527d9daed994f645032b86c53f0bb

License

Name
Apache License 2.0
Id
Apache-2.0
Class
Permissive
Redistribution
yes
Listing
Hosted (signed)
Decided
License as declared by the publisher. No person read it. 2026-11-15
Text in
README.md
Text sha256
3340b1c9f381abebbb2cb2262414e2314e67bc1a03d14f4a4abefdcdf0b70b8c
Terms gate
No extra terms beyond the license.

Read the license text

Licenses are checked against the license table. A custom license passes only after a person reads it.

Provenance

From: utter-project <huggingface.co/utter-project>Newsgroups: alt.freeweights.textSubject: EuroLLM-22B-Instruct-2512Date: 2026-11-15Commit: 8c6ed5cSigned: 2DC28CC7B26A283B ✓
Upstream
utter-project/EuroLLM-22B-Instruct-2512
Pinned commit
8c6ed5c8d18527d9daed994f645032b86c53f0bb
Manifest
EuroLLM-22B-Instruct-2512.json · .minisig
Manifest sha256
2ad5b0a7dd5b415fddbac3b2ccc419327db8b430fc1c47b433f4a98d4d295eef
Signature
minisign, Ed25519, key 2DC28CC7B26A283B
Created
2026-11-15 02:47 UTC
Generator
freeweights-manifest/0.1.0
Takedowns
None.

How to verify

$ curl -O https://freeweights.allternit.com/manifests/utter-project/EuroLLM-22B-Instruct-2512.json $ curl -O https://freeweights.allternit.com/manifests/utter-project/EuroLLM-22B-Instruct-2512.json.minisig $ minisign -Vm EuroLLM-22B-Instruct-2512.json -P RWQ7KGqyx4zCLXtUFOqvfv8L3g+8fpKJ1FsuxPyOYMF+4KufbUxKq1Oq $ shasum -a 256 <file> # compare with the Files tab

A manifest whose signature fails must be rejected. A file whose size or sha256 does not match must be discarded. Verify a download

Model tree

Parent

utter-project/EuroLLM-22B-2512 · this model is a finetune of it

1 model in the catalog name this one as their parent.

Quantizations
1
Get it
Download
$ HF_ENDPOINT=https://freeweights.allternit.com hf download utter-project/EuroLLM-22B-Instruct-2512
Open in Freeweights Studio

Pull, verify and run it in the Allternit app on Desktop, web or phone.

Signed manifest
minisign, key 2DC28CC7B26A283B. EuroLLM-22B-Instruct-2512.json. Provenance. Takedown history: none.

Variants

1 quantized or adapter build of EuroLLM-22B-Instruct-2512. Each has its own license check and page.

From: laion <huggingface.co/laion>Subject: a2-rl-e2egit_large-50-32B
From: laion <huggingface.co/laion>Subject: a3-rl-DCAgent_exp_rpt_e2egit-large-15-8B
From: laion <huggingface.co/laion>Subject: a3-rl-DCAgent_exp_rpt_e2egit-v2-10-8B
From: laion <huggingface.co/laion>Subject: a3-rl-DCAgent_exp_rpt_pymethods2test-large-80-8B
From: laion <huggingface.co/laion>Subject: a3-rl-DCAgent_exp_rpt_unitsyn-python-large-10-8B
From: laion <huggingface.co/laion>Subject: a3-rl-DCAgent_mix_h2_language_proportional-65-8B