Text Generation
Transformers
Safetensors
apertus
multilingual
compliant
swiss-ai
conversational
3-bit
Instructions to use swiss-ai/Apertus-v1.1-0.5B-Instruct-MLX-INT3 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use swiss-ai/Apertus-v1.1-0.5B-Instruct-MLX-INT3 with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="swiss-ai/Apertus-v1.1-0.5B-Instruct-MLX-INT3") messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)# Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("swiss-ai/Apertus-v1.1-0.5B-Instruct-MLX-INT3") model = AutoModelForCausalLM.from_pretrained("swiss-ai/Apertus-v1.1-0.5B-Instruct-MLX-INT3", 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=40) print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use swiss-ai/Apertus-v1.1-0.5B-Instruct-MLX-INT3 with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "swiss-ai/Apertus-v1.1-0.5B-Instruct-MLX-INT3" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "swiss-ai/Apertus-v1.1-0.5B-Instruct-MLX-INT3", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/swiss-ai/Apertus-v1.1-0.5B-Instruct-MLX-INT3
- SGLang
How to use swiss-ai/Apertus-v1.1-0.5B-Instruct-MLX-INT3 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 "swiss-ai/Apertus-v1.1-0.5B-Instruct-MLX-INT3" \ --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": "swiss-ai/Apertus-v1.1-0.5B-Instruct-MLX-INT3", "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 "swiss-ai/Apertus-v1.1-0.5B-Instruct-MLX-INT3" \ --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": "swiss-ai/Apertus-v1.1-0.5B-Instruct-MLX-INT3", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Docker Model Runner
How to use swiss-ai/Apertus-v1.1-0.5B-Instruct-MLX-INT3 with Docker Model Runner:
docker model run hf.co/swiss-ai/Apertus-v1.1-0.5B-Instruct-MLX-INT3
File size: 11,968 Bytes
102c4f3 1894e1e 102c4f3 1894e1e 3dfd133 1894e1e 8be6cbf 1894e1e 8be6cbf 1894e1e 8be6cbf 1894e1e 8be6cbf 1894e1e 8be6cbf 1894e1e 102c4f3 1894e1e | 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 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 | ---
license: apache-2.0
base_model:
- swiss-ai/Apertus-v1.1-0.5B-Instruct
pipeline_tag: text-generation
library_name: transformers
tags:
- multilingual
- compliant
- swiss-ai
- apertus
extra_gated_prompt: "### Apertus LLM Acceptable Use Policy \n(1.0 | September 1, 2025)\n\"Agreement\" The Swiss National AI Institute (SNAI) is a partnership between the two Swiss Federal Institutes of Technology, ETH Zurich and EPFL. \n\nBy using the Apertus LLM you agree to indemnify, defend, and hold harmless ETH Zurich and EPFL against any third-party claims arising from your use of Apertus LLM. \n\nThe training data and the Apertus LLM may contain or generate information that directly or indirectly refers to an identifiable individual (Personal Data). You process Personal Data as independent controller in accordance with applicable data protection law. SNAI will regularly provide a file with hash values for download which you can apply as an output filter to your use of our Apertus LLM. The file reflects data protection deletion requests which have been addressed to SNAI as the developer of the Apertus LLM. It allows you to remove Personal Data contained in the model output. We strongly advise downloading and applying this output filter from SNAI every six months following the release of the model. "
extra_gated_fields:
Your Name: text
Country: country
Affiliation: text
geo: ip_location
By clicking Submit below I accept the terms of use: checkbox
extra_gated_button_content: Submit
---
# Apertus-v1.1-0.5B-Instruct-MLX-INT3

## Table of Contents
1. [Model Summary](#model-summary)
2. [How to use](#how-to-use)
3. [Evaluation](#evaluation)
4. [Training](#training)
5. [Limitations](#limitations)
6. [Legal Aspects](#legal-aspects)
---
## Model Summary
Apertus-v1.1 is a series of highly efficient, 0.5-4B billion parameter language models designed to extend the fully-open and compliant Apertus ecosystem to highly constrained hardware environments.
The models rely on a dense transformer architecture featuring grouped-query attention and xIELU activations. To achieve high performance with a minimized memory footprint, this model uses tied embeddings and a deeper, thinner architectural design.
Instead of standard pre-training, Apertus-v1.1 models were created using pre-training distillation (PD) from the [Apertus-8B-2509](https://huggingface.co/swiss-ai/Apertus-8B-2509) teacher model. They were trained on 1.7T tokens from Phase 5 of the original Apertus data pipelineβthe highest quality tier of filtered documents, code, and instruction samples without introducing any new data sources or licenses. Post-training included supervised fine-tuning (SFT) and alignment similar to that of the original Apertus.
### Key features
- **Fully open model**: open weights + open data + full training details including all data and training recipes
- **Massively Multilingual**: 1811 natively supported languages
- **Compliant** Apertus is trained while respecting opt-out consent of data owners (even retrospectively), and avoiding memorization of training data
- **Cost-Effective Distillation**: Trained using a 90%/10% mix of KL-Divergence and label cross-entropy derived from the 8B teacher model, drastically reducing the required compute.
- **Hardware Optimized**: Specifically optimized for memory-limited scenarios like mobile and edge deployments, with quantized checkpoints available for Apple devices (MLX) in INT2, INT3, INT4, and INT6 formats.
### Quantized Checkpoints
This model family includes base pre-trained models and instruction-tuned models.
For instruction-tuned models, we additionally provide high-quality quantization-aware distillation (QAD) checkpoints, obtained via the official [`qat-suite`](https://github.com/swiss-ai/qat-suite). We provide FP8 and NVFP4A16 checkpoints with vLLM inference in mind and INT3-6 checkpoints optimized for mobile usage on Apple devices.
The full list of released checkpoints is shown below:
| | BF16 | BF16 | FP8 | NVFP4A16 | INT3 | INT4 | INT6 |
|---|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
| | Base | Instruct | Instruct | Instruct | Instruct | Instruct | Instruct |
| **0.5B** | [β
](https://huggingface.co/swiss-ai/Apertus-v1.1-0.5B) | [β
](https://huggingface.co/swiss-ai/Apertus-v1.1-0.5B-Instruct) | [β
](https://huggingface.co/swiss-ai/Apertus-v1.1-0.5B-Instruct-vLLM-FP8) | [β
](https://huggingface.co/swiss-ai/Apertus-v1.1-0.5B-Instruct-vLLM-NVFP4A16) | [β
](https://huggingface.co/swiss-ai/Apertus-v1.1-0.5B-Instruct-MLX-INT3) | [β
](https://huggingface.co/swiss-ai/Apertus-v1.1-0.5B-Instruct-MLX-INT4) | [β
](https://huggingface.co/swiss-ai/Apertus-v1.1-0.5B-Instruct-MLX-INT6) |
| **1.5B** | [β
](https://huggingface.co/swiss-ai/Apertus-v1.1-1.5B) | [β
](https://huggingface.co/swiss-ai/Apertus-v1.1-1.5B-Instruct) | [β
](https://huggingface.co/swiss-ai/Apertus-v1.1-1.5B-Instruct-vLLM-FP8) | [β
](https://huggingface.co/swiss-ai/Apertus-v1.1-1.5B-Instruct-vLLM-NVFP4A16) | [β
](https://huggingface.co/swiss-ai/Apertus-v1.1-1.5B-Instruct-MLX-INT3) | [β
](https://huggingface.co/swiss-ai/Apertus-v1.1-1.5B-Instruct-MLX-INT4) | [β
](https://huggingface.co/swiss-ai/Apertus-v1.1-1.5B-Instruct-MLX-INT6) |
| **4B** | [β
](https://huggingface.co/swiss-ai/Apertus-v1.1-4B) | [β
](https://huggingface.co/swiss-ai/Apertus-v1.1-4B-Instruct) | [β
](https://huggingface.co/swiss-ai/Apertus-v1.1-4B-Instruct-vLLM-FP8) | [β
](https://huggingface.co/swiss-ai/Apertus-v1.1-4B-Instruct-vLLM-NVFP4A16) | [β
](https://huggingface.co/swiss-ai/Apertus-v1.1-4B-Instruct-MLX-INT3) | [β
](https://huggingface.co/swiss-ai/Apertus-v1.1-4B-Instruct-MLX-INT4) | [β
](https://huggingface.co/swiss-ai/Apertus-v1.1-4B-Instruct-MLX-INT6) |
| **8B** | [β
](https://huggingface.co/swiss-ai/Apertus-8B-2509) | [β
](https://huggingface.co/swiss-ai/Apertus-8B-Instruct-2509) | [β
](https://huggingface.co/swiss-ai/Apertus-8B-Instruct-2509-vLLM-FP8) | [β
](https://huggingface.co/swiss-ai/Apertus-8B-Instruct-2509-vLLM-NVFP4A16) | β | [β
](https://huggingface.co/swiss-ai/Apertus-8B-Instruct-2509-MLX-INT4) | β |
For more details refer to the original Apertus [technical report](https://arxiv.org/abs/2509.14233) and the new Apertus [distillation technical report](https://arxiv.org/abs/2605.29128).
---
## How to use
The modeling code for this Apertus MLX quantization is available via `mlx-lm`.
```bash
pip install mlx-lm
```
```python
from mlx_lm import load, generate
model_name = "swiss-ai/Apertus-v1.1-0.5B-Instruct-MLX-INT3"
# load the model and tokenizer
model, tokenizer = load(model_name)
# prepare the model input
prompt = "Give me a brief explanation of gravity in simple terms."
messages_think = [
{"role": "user", "content": prompt}
]
text = tokenizer.apply_chat_template(
messages_think,
tokenize=False,
add_generation_prompt=True,
)
# Generate the output
response = generate(model, tokenizer, prompt=text, verbose=True, max_tokens=32768)
```
>[!TIP]
> We recommend setting `temperature=0.8` and `top_p=0.9` in the sampling parameters.
---
## Evaluation
**Post-Training Multilingual Evaluation:** Performance of the Apertus-v1.1 models across multilingual benchmarks compared to models in similar size classes.
| *Model* | *Average* | MMLU | TruthfulQA | Arc | IF | LogiQA |
| :--- | :---: | :---: | :---: | :---: | :---: | :---: |
| **Apertus-v1.1-0.5B-Instruct** | 0.318 | 0.258 | 0.461 | 0.225 | 0.328 | 0.279 |
| **Apertus-v1.1-1.5B-Instruct** | 0.382 | 0.377 | 0.451 | 0.266 | 0.434 | 0.276 |
| **Apertus-v1.1-4B-Instruct** | 0.473 | 0.504 | 0.506 | 0.332 | 0.550 | 0.296 |
| **Apertus-8B-Instruct-2509** | 0.534 | 0.553 | 0.524 | 0.368 | 0.689 | 0.290 |
| EuroLLM-1.7B-Instruct | 0.291 | 0.260 | 0.433 | 0.250 | 0.222 | 0.269 |
| EuroLLM-9B-Instruct | 0.480 | 0.520 | 0.465 | 0.322 | 0.613 | 0.345 |
| gemma-3-270m-it | 0.289 | 0.242 | 0.465 | 0.215 | 0.236 | 0.205 |
| gemma-3-1b-it | 0.406 | 0.409 | 0.457 | 0.250 | 0.509 | 0.379 |
| gemma-3-4b-it | 0.497 | 0.547 | 0.492 | 0.316 | 0.635 | 0.411 |
| SmolLM2-1.7B-Instruct | 0.348 | 0.365 | 0.452 | 0.213 | 0.364 | 0.246 |
| SmolLM3-3B | 0.479 | 0.507 | 0.500 | 0.270 | 0.637 | 0.365 |
| Qwen3-0.6B | 0.401 | 0.377 | 0.464 | 0.222 | 0.541 | 0.353 |
| Qwen3-1.7B | 0.457 | 0.477 | 0.490 | 0.251 | 0.611 | 0.414 |
| Qwen3-4B | 0.521 | 0.581 | 0.497 | 0.274 | 0.733 | 0.500 |
While Apertus-v1.1 demonstrates competitive baseline multilingual chatting performance, it may lack in specific capabilities such as advanced math and complex instruction following.
---
## Training
### Model Architecture
**Apertus-v1.1-0.5B**
* **Architecture Type:** Dense transformer decoder with grouped-query attention.
* **Layers:** 20.
* **Model Dimension:** 1024.
* **MLP Dimension:** 6144.
* **Heads (Q/KV):** 16/4.
* **Tied Embeddings:** Yes.
* **Activation Function:** xIELU.
* **Compute / Storage Size:** 0.4B/0.4B parameters.
### Pre-Training Details
* **Training Tokens:** 1.7T.
* **Optimizer:** AdEMAMix with WSD schedule and weight decay.
* **Sequence Handling:** Documents packed into chunks of 4096 tokens with cross-document attention masked.
* **Total Compute:** 0.2E22 FLOPs.
### Software & hardware
- **GPUs:** 64 GH200
- **Pre-Training Distillation Framework:** [Megatron-LM](https://github.com/swiss-ai/Megatron-LM-Distill)
- **Post-Training Framework:** [posttraining](https://github.com/swiss-ai/posttraining)
- **Quantization Suite:** [qat-suite](https://github.com/swiss-ai/qat-suite)
### Open resources
All elements used in the training process are made openly available
- **Training data reconstruction scripts:** [github.com/swiss-ai/pretrain-data](https://github.com/swiss-ai/pretrain-data)
---
## Limitations
Apertus can produce text on a variety of topics, but the generated content may not always be factually accurate, logically consistent, or free from biases present in the training data. These models should be used as assistive tools rather than definitive sources of information. Users should always verify important information and critically evaluate any generated content.
---
## Legal Aspects
The Apertus-v1.1 fully reuses the data of the original Apertus release, meaning the original data summary is representative of this release as well.
#### EU AI Act Transparency Documentation and Code of Practice
- [Apertus_EU_Public_Summary.pdf](https://huggingface.co/swiss-ai/Apertus-70B-2509/blob/main/Apertus_EU_Public_Summary.pdf)
- [Apertus_EU_Code_of_Practice.pdf](https://huggingface.co/swiss-ai/Apertus-70B-2509/blob/main/Apertus_EU_Code_of_Practice.pdf)
#### Data Protection and Copyright Requests
For removal requests of personally identifiable information (PII) or of copyrighted content, please contact the respective dataset owners or us directly
- llm-privacy-requests@swiss-ai.org
- llm-copyright-requests@swiss-ai.org
#### Output Filter for PII
- Currently no output filter is provided.
- Please check this site regularly for an output filter that can be used on top of the Apertus LLM. The filter reflects data protection deletion requests which have been addressed to us as the developer of the Apertus LLM. It allows you to remove Personal Data contained in the model output. We strongly advise downloading and applying this output filter from this site every six months.
## Contact
To contact us, please send an email to
llm-requests@swiss-ai.org
## Citation
```bash
@misc{panferov2026apertusllmfamilyexpansion,
title={Apertus LLM Family Expansion via Distillation and Quantization},
author={Andrei Panferov and Davit Melikidze and Martin Jaggi and Dan Alistarh},
year={2026},
eprint={2605.29128},
archivePrefix={arXiv},
primaryClass={cs.LG},
url={[https://arxiv.org/abs/2605.29128](https://arxiv.org/abs/2605.29128)},
}
```
|