Instructions to use swiss-ai/Apertus-v1.5-8B-base with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use swiss-ai/Apertus-v1.5-8B-base with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("image-text-to-text", model="swiss-ai/Apertus-v1.5-8B-base")# pip install -U transformers accelerate # Load model directly from transformers import AutoModelForSeq2SeqLM model = AutoModelForSeq2SeqLM.from_pretrained("swiss-ai/Apertus-v1.5-8B-base", device_map="auto") - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use swiss-ai/Apertus-v1.5-8B-base 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.5-8B-base" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "swiss-ai/Apertus-v1.5-8B-base", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }'Use Docker
docker model run hf.co/swiss-ai/Apertus-v1.5-8B-base
- SGLang
How to use swiss-ai/Apertus-v1.5-8B-base 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.5-8B-base" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "swiss-ai/Apertus-v1.5-8B-base", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }'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.5-8B-base" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "swiss-ai/Apertus-v1.5-8B-base", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }' - Docker Model Runner
How to use swiss-ai/Apertus-v1.5-8B-base with Docker Model Runner:
docker model run hf.co/swiss-ai/Apertus-v1.5-8B-base
Apertus-v1.5-8B-base
Apertus 1.5 is a family of 8B and 70B fully open, multilingual, and multimodal models from the Swiss AI Initiative, trained only on openly available data and released with open weights, open data, and open training documentation. The models cover a large variety of languages, handle contexts up to 262,144 tokens, accept image and audio input, and support a thinking mode for reasoning tasks.
This checkpoint is the long context extended model of the 8B pre-training pipeline.
| Stage | 8B | 70B |
|---|---|---|
| Pre-Training | Apertus-v1.5-8B-base (this model) | Apertus-v1.5-70B-base |
| Supervised finetuning | Apertus-v1.5-8B-SFT | Apertus-v1.5-70B-SFT |
| Reinforcement learning | Apertus-v1.5-8B-RLVR | Apertus-v1.5-70B-RLVR |
| Preference alignment (DPO) | Apertus-v1.5-8B-DPO | Apertus-v1.5-70B |
| Charter alignment (SDPO) | Apertus-v1.5-8B | -- |
How to Use
This is a base model without a chat template: use plain-text completion. For the instruction-tuned model, see swiss-ai/Apertus-v1.5-8B.
Installation
VLLM_USE_PRECOMPILED=1 \
VLLM_PRECOMPILED_WHEEL_COMMIT=8700f86a7012b2354c3f2834c1a0d2b6023b0bcd \
pip install "vllm @ git+https://github.com/swiss-ai/vllm.git@b84ba28e5ed19c08e09a9f2561451001b65aaa0e"
pip install "transformers[torch,vision,audio] @ git+https://github.com/swiss-ai/transformers.git@0c5e12f18a5ff5c93cb1ef755aebbd557e26e884"
vLLM
from vllm import LLM, SamplingParams
llm = LLM(model="swiss-ai/Apertus-v1.5-8B-base")
outputs = llm.generate(["The capital of Switzerland is"], SamplingParams(max_tokens=64))
print(outputs[0].outputs[0].text)
Transformers
import torch
from transformers import AutoModelForMultimodalLM, AutoProcessor
MODEL_ID = "swiss-ai/Apertus-v1.5-8B-base"
processor = AutoProcessor.from_pretrained(MODEL_ID)
model = AutoModelForMultimodalLM.from_pretrained(MODEL_ID, dtype="auto", device_map="auto")
inputs = processor(text="The capital of Switzerland is", return_tensors="pt").to(model.device)
with torch.inference_mode():
output_ids = model.generate(**inputs, max_new_tokens=64)
print(processor.decode(output_ids[0, inputs["input_ids"].shape[-1]:], skip_special_tokens=True))
For image or audio input, add an <|image|> or <|audio|> placeholder to the text and pass images=[...] or audio=[...] to the processor.
Evaluations
| Benchmark | Apertus 1.0 (8B) | Apertus 1.5 (8B) | OLMo 3 (7B) | Marin (8B) | Qwen3.5 (9B) | Llama 3.1 (8B) |
|---|---|---|---|---|---|---|
| General language understanding | ||||||
| HellaSwag | 78.8 | 78.1 | 74.1 | 82.4 | 79.3 | 79.3 |
| PIQA | 80.2 | 80.3 | 78.7 | 81.9 | 80.5 | 81.2 |
| CommonsenseQA | 62.3 | 62.3 | 58.7 | 70.3 | 83.6 | 70.4 |
| LAMBADA | 70.1 | 68.8 | 65.1 | 68.8 | 70.5 | 72.3 |
| XNLI | 44.1 | 45.3 | 39.6 | 42.4 | 39.8 | 45.6 |
| XCOPA | 65.6 | 64.9 | 55.1 | 57.0 | 64.1 | 62.5 |
| Avg | 66.9 | 66.6 | 61.9 | 67.1 | 69.6 | 68.6 |
| Factual knowledge | ||||||
| MMLU CoT | 59.3 | 62.9 | 59.4 | 62.6 | 76.7 | 60.7 |
| Global-MMLU | 54.4 | 56.0 | 44.3 | 48.5 | 77.1 | 52.7 |
| MMLU-Pro | 29.6 | 38.5 | 33.0 | 30.9 | 58.4 | 36.1 |
| AGIEval | 36.1 | 37.2 | 35.0 | 37.3 | 58.0 | 35.5 |
| SQuADv2 | 32.1 | 17.6 | 36.9 | 24.5 | 38.7 | 23.6 |
| TruthfulQA | 51.3 | 49.0 | 46.9 | 53.7 | 51.8 | 44.2 |
| Avg | 43.8 | 43.5 | 42.6 | 42.9 | 60.1 | 42.1 |
| Reasoning, mathematics and code | ||||||
| BBH | 48.8 | 60.2 | 63.9 | 55.8 | 84.4 | 65.2 |
| ACP | 22.1 | 28.1 | 31.8 | 32.0 | 52.7 | 35.1 |
| GSM8K | 47.2 | 66.2 | 67.6 | 60.4 | 87.0 | 50.5 |
| GSM8K-P | 48.2 | 67.8 | 71.1 | 63.6 | 89.9 | 52.4 |
| Minerva | 14.0 | 29.6 | 40.4 | 24.6 | 50.4 | 19.7 |
| MGSM-En | 5.2 | 40.1 | 31.5 | 12.9 | 55.3 | 16.5 |
| HumanEval | 48.6 | 81.8 | 81.4 | 58.5 | 93.5 | 75.7 |
| MBPP | 37.6 | 50.6 | 50.6 | 39.2 | 62.2 | 48.6 |
| Avg | 34.0 | 53.1 | 54.8 | 43.4 | 71.9 | 45.5 |
| Multilingual | ||||||
| XNLI | 44.1 | 45.3 | 39.6 | 42.4 | 39.8 | 45.6 |
| XCOPA | 65.6 | 64.9 | 55.1 | 57.0 | 64.1 | 62.5 |
| ARC-ml | 38.4 | 37.5 | 25.5 | 26.4 | 37.9 | 33.1 |
| HellaSwag-ml | 55.0 | 53.6 | 37.4 | 42.1 | 51.9 | 49.1 |
| LAMBADA-ml | 52.2 | 48.9 | 40.2 | 44.7 | 50.3 | 49.6 |
| TruthfulQA-ml | 46.3 | 46.7 | 45.4 | 47.2 | 46.0 | 45.0 |
| Avg | 50.3 | 49.5 | 40.5 | 43.3 | 48.3 | 47.5 |
| Bias, safety and cultural knowledge | ||||||
| BBQ | 56.7 | 57.0 | 59.4 | 58.4 | 63.0 | 58.6 |
| ToxiGen | 52.2 | 42.7 | 58.8 | 48.3 | 59.8 | 43.0 |
| WMDP | 50.2 | 53.2 | 54.5 | 54.9 | 63.7 | 54.3 |
| CulturalBench | 69.7 | 69.9 | 70.6 | 72.8 | 78.1 | 67.2 |
| Avg | 57.2 | 55.7 | 60.8 | 58.6 | 66.2 | 55.8 |
| Context | Apertus 1.0 (8B) | Apertus 1.5 (8B) | OLMo 3 (7B) | Gemma 3 (12B) | Qwen3 (8B) |
|---|---|---|---|---|---|
| RULER | |||||
| 8k | 82.0 | 85.9 | 85.5 | 91.3 | 92.5 |
| 16k | 75.7 | 81.3 | 77.8 | 90.0 | 91.1 |
| 32k | 71.2 | 76.1 | 70.9 | 89.4 | 86.6 |
| 64k | 55.5 | 67.5 | 62.4 | 85.1 | – |
| 128k | – | 61.5 | – | 78.8 | – |
| 256k | – | 54.8 | – | – | – |
| HELMET | |||||
| 8k | 49.2 | 45.1 | 48.7 | 50.0 | 52.8 |
| 16k | 47.2 | 42.1 | 47.0 | 49.3 | 50.9 |
| 32k | 44.5 | 40.7 | 44.6 | 47.5 | 48.3 |
| 64k | 37.3 | 37.6 | 39.7 | 46.6 | – |
| 128k | – | 36.5 | – | 44.1 | – |
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.
See the Apertus Charter for the alignment principles that govern the responses of the models.
License
Apache 2.0.
Legal and Compliance
By 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.
EU AI Act documentation (Apertus_1_5_EU_Public_Summary.pdf and
Apertus_1_5_EU_Code_of_Practice.pdf) is available at
https://github.com/swiss-ai/apertus-legal/, alongside the
usage policy
and privacy policy.
We strongly advise downloading and updating new model weights from this site every six months.
Data protection contacts: llm-privacy-requests@swiss-ai.org and llm-copyright-requests@swiss-ai.org.
Contact
General inquiries: llm-requests@swiss-ai.org, or https://apertus-ai.org/contact/.
Citation
@misc{apertus2026apertus15opentext,
title={Apertus 1.5: From Open Text Models to Open Multimodal Reasoners},
author={Project Apertus and : and Yixuan Xu and Yassine Turki and Vinko Sabolčec and Valentina Pyatkin and Tommy Chu and Sven Najem-Meyer and Sean F. Carroll and Robert Smith and Raphael Kreft and Oscar Alessandro Tazza and Oleg Lavrovsky and Nicola Irmiger and Matteo Santelmo and Marian Schneider and Juan García Giraldo and Hanna Yukhymenko and Eduard Ďurech and Davit Melikidze and Dani Tamayo and Bettina Messmer and Aryan Ahadinia and Anunay Yadav and Allen Huang and Ahmad Fraij and Alessandro Bombarda and Alex Padula and Alexander Hägele and Alexander Sternfeld and Anna Hedström and Anna Kosovskaia and Arthur Wuhrmann and Arundhati Balasubramaniam and Badr Al Mahouri and Barna Pasztor and Bartosz Szostakiewicz and Bich Ngoc Doan and Bryan Schmid and Burak Sezen and Camille Challier and Clément Charmillot and Dana Shayakhmetova and Daniel Perruchoud and David Brüggemann and David Isztl and Elia Palme and Emma Anastassova and Fabian Bösch and Faruk Zahiragić and Fawzi Roberto Mohamed and Fiona Panicali and Florian Kolly and Flynn Guerra and Francesco Monti and Frederike Lübeck and Gennaro Oliva and Haofeng Yang and Haoliang Shang and Helen El Khoury and Henrique Mendonça and Jannis Vamvas and Jérome Landolt and Jessica Lam and Jingchun Xiao and Jonathan Coles and Joshua Oyebanji and Khanh Nguyen and Konstantinos Pitas and Lasse B. Strand and Li Mi and Loïc Deslarzes and Lorenzo Baggi and Lorenzo Noci and Luca Baumann and Luca Sartori and Lukas Drescher and Marco De Negri and Marco Passerini and Mark Klein and Marko Stojanovic and Martin Majsec and Matin Ansaripour and Mattea Busato and Mauro Pellonara and Max Neuwinger and Michael Graber and Michal Tešnar and Michelle Wastl and Miguel Gila and Mikolaj Boronski and Morgane Magnin and Moritz Reihs and Mukhammadali Sayfiddinov and Nathan Ranchin and Nicolas Cuveillier and Oscar Wohlfahrt and Qianqian Zou and Rada Kamysheva and Rita Sevastjanova and Roman Machacek and Sebastian Keller and Simon Matrenok and Simon Pierre and Stefano Schuppli and Suei-Wen Chen and Szabina Horváth-Mikulas and Taliesin Perez and Thilo Spinner and Thomas Kleine Buening and Tim Robinson and Tymoteusz Kwiecinski and Vilém Zouhar and Vinzenz Thoma and Xiaozhe Yao and Yannick Metz and Yuhei Fukuhara and Yusif Askari and Zixuan Chen and Alexander Ilic and Ana Klimovic and Andreas Krause and Andrei Kucharavy and Elliott Ash and Joost VandeVondele and Martin Rajman and Mennatallah El-Assady and Thomas Schulthess and Timo Kehrer and Torsten Hoefler and Antoine Bosselut and Martin Jaggi and Imanol Schlag},
year={2026},
eprint={2610.15542},
archivePrefix={arXiv},
primaryClass={cs.CL},
url={https://arxiv.org/abs/2610.15542},
}
- Downloads last month
- 1,441