Model reference · open weights
Apriel is an open-weight language model from ServiceNow-AI. AxForge deploys and operates it for you on dedicated EU-owned hardware — with the licence handled where one is required.
Available as managed deployment — configured and operated for you on dedicated EU hardware, quoted per deployment.
What it is
| Maker | ServiceNow-AI |
|---|---|
| Type | Language models |
| Task | Text gen |
| Parameters (lead) | 4.8B |
| Context | 16k tokens |
| Runs with | transformers |
| Based on | ServiceNow-AI/Apriel-5B-Base |
| Released | 2025-04-11 |
| Popularity | 1k downloads / month |
| Licence | Open weights |
About
/ˈɑː.pri.əl/
Apriel is a family of models built for versatility, offering high throughput and efficiency across a wide range of tasks.
Apriel-5B-base is a decoder-only transformer trained on 4.5T+ tokens of data. It is the first release in the Apriel model family, designed to support research on foundation models. Apriel-5B-base achieves strong performance across common benchmarks for models under 5B parameters.
Apriel-5B-Instruct is built on top of Apriel-5B-base using continual pretraining (CPT), supervised finetuning (SFT), and post-training alignment with DPO and RLVR.
Both CPT and SFT stages involved training multiple domain-biased variants with overlapping datasets (e.g., instruction, code, math). These were then merged to form a more general-purpose model before alignment. The final model is aligned for instruction following, reasoning, and safety-aware dialogue.
The y-axis shows average downstream benchmark scores. Throughput (x-axis) was measured using vLLM with batch size 8, 256 input tokens, and 32 output tokens.
pip install transformers
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
checkpoint = "ServiceNow-AI/Apriel-5B-Base"
device = "cuda" # or "cpu"
tokenizer = AutoTokenizer.from_pretrained(checkpoint)
model = AutoModelForCausalLM.from_pretrained(checkpoint, torch_dtype=torch.bfloat16).to(device)
inputs = tokenizer.encode("Snow is", return_tensors="pt").to(device)
outputs = model.generate(inputs)
print(tokenizer.decode(outputs[0]))
>>> print(f"Memory footprint: {model.get_memory_footprint() / 1e6:.2f} MB")
Memory footprint: 9664.14 MB
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
checkpoint = "ServiceNow-AI/Apriel-5B-Instruct"
tokenizer = AutoTokenizer.from_pretrained(checkpoint)
device = "cuda" if torch.cuda.is_available() else "cpu"
model = AutoModelForCausalLM.from_pretrained(
checkpoint,
torch_dtype=torch.bfloat16 if device == "cuda" else torch.float32
).to(device)
messages = [
{"role": "system", "content": "You are a helpful AI assistant that provides accurate and concise information."},
{"role": "user", "content": "Tell me about artificial intelligence"}
]
input_text = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
inputs = tokenizer(input_text, return_tensors="pt").to(device)
generation_params = {
"max_new_tokens": 512,
"temperature": 0.2,
"top_p": 0.9,
"do_sample": True
}
outputs = model.generate(**inputs, **generation_params)
response = tokenizer.decode(outputs[0], skip_special_tokens=True)
print(response)
System message here (optional)
User message here
Assistant response here
If no system message is provided, the model inserts a blank system prompt to maintain format structure. The model supports structured interaction patterns, including tool calling and reasoning steps for more advanced workflows.
Evaluations were conducted using lm-eval-harness and evalchemy.
| Task Name | Apriel-5B-Base | OLMo-2-1124-7B | Llama-3.1-8B | Mistral-Nemo-Base-2407 |
|---|---|---|---|---|
| Average | 58.7 | 58.71 | 61.72 | 66.01 |
| ARC Challenge | 56.7 | 62.7 | 58.2 | 62.9 |
| ARC Easy | 82.4 | 86.0 | 85.7 | 86.7 |
| MMMLU | 44.5 | 35.3 | 47.4 | 54.7 |
| Global MMLU | 57.4 | 52.4 | 61.1 | 68.4 |
| GSM8k | 64.2 | 63.2 | 54.8 | 58.5 |
| HellaSwag | 74.4 | 80.5 | 78.8 | 82.7 |
| MUSR | 39.1 | 39.6 | 38.0 | 39.9 |
| MBPP | 27.6 | 22.4 | 46.0 | 54.6 |
| MMLU | 61.3 | 63.9 | 66.0 | 69.6 |
| PIQA | 78.9 | 81.1 | 81.2 | 82.1 |
| Task Name | Apriel-5B-Instruct | OLMo-2-1124-7B-Instruct | Llama-3.1-8B-Instruct | Mistral-Nemo-Instruct-2407 |
|---|---|---|---|---|
| Average | 49.64 | 43.91 | 52.60 | 48.63 |
| ARC Challenge | 59.04 | 61.45 | 64.25 | 66.38 |
| GSM8k | 80.36 | 79.68 | 82.63 | 77.63 |
| Hellaswag | 74.52 | 80.21 | 78.43 | 81.71 |
| BBH | 39.82 | 39.95 | 50.86 | 50.06 |
| GPQA | 28.36 | 27.85 |
From the published model card. Full card on the HuggingFace links in the sidebar.
Using it via the API
Once AxForge deploys apriel for you, it answers on the OpenAI-compatible API — the same base URL and keys as every other model. (apriel below is illustrative; you get the exact model name on deployment.)
$ curl -sS https://api.axforge.ai/v1/chat/completions \
-H "Authorization: Bearer $AXFORGE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"apriel","messages":[{"role":"user","content":"Hello"}]}'
Create an account — your API key is available in the console. 5M tokens/month currently included with every new account at launch.