alt.freeweights.mistral / Magistral-Small-2506-bnb-4bit
From: unsloth <huggingface.co/unsloth>Newsgroups: alt.freeweights.mistralSubject:

Magistral-Small-2506-bnb-4bit

Date: 2026-11-15Commit: 5b21a60Signed: 2DC28CC7B26A283B ✓

Text generation model with 24.3B parameters. Safetensors weights, 14.2 GB in all. Published by unsloth under Apache-2.0.

24.3B params14.2GBMagistral-Small-2506-bnb-4bitsafetensorspermissive
FactsParams24.3BSize14.2 GBFormatssafetensorsTasktext generationLicenseApache-2.0From sourcepermissive
$ fw get unsloth/Magistral-Small-2506-bnb-4bit
# manifest sha256 632cf8bdb105… · 14.2 GB · 12 files
$ fw verify ./Magistral-Small-2506-bnb-4bit unsloth/Magistral-Small-2506-bnb-4bit
From sourceHosted (signed)unsloth/Magistral-Small-2506-bnb-4bitLast check: 2026-11-15 05:14 UTC

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

Quantized of Magistral-Small-2506.

Works with

Overview

Size
14.2 GB
Weights
14.2 GB (safetensors)
Parameters
24.3B
Formats
safetensors
Task
text generation
License
Apache-2.0 (permissive)
Files
12, each with a sha256
Publisher
unsloth
Added
2026-11-15
Section
alt.freeweights.mistral
Lineage

Original release from the publisher.

Base model: mistralai/Magistral-Small-2506

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 05:14 UTCpassed

Model card

From the publisher at commit 5b21a60. Shown as plain text with links; images open at the publisher.

Learn to run Magistral correctly - Read our Guide.

Unsloth Dynamic 2.0 achieves SOTA performance in model quantization.

https://github.com/unslothai/unsloth/ https://discord.gg/unsloth https://docs.unsloth.ai/basics/magistral

✨ Run & Fine-tune Magistral with Unsloth!#

Model Card for Magistral-Small-2506#

Building upon Mistral Small 3.1 (2503), with added reasoning capabilities, undergoing SFT from Magistral Medium traces and RL on top, it's a small, efficient reasoning model with 24B parameters.

Magistral Small can be deployed locally, fitting within a single RTX 4090 or a 32GB RAM MacBook once quantized.

Learn more about Magistral in our blog post.

Key Features#

  • Reasoning: Capable of long chains of reasoning traces before providing an answer.
  • Multilingual: Supports dozens of languages, including English, French, German, Greek, Hindi, Indonesian, Italian, Japanese, Korean, Malay, Nepali, Polish, Portuguese, Romanian, Russian, Serbian, Spanish, Swedish, Turkish, Ukrainian, Vietnamese, Arabic, Bengali, Chinese, and Farsi.
  • Apache 2.0 License: Open license allowing usage and modification for both commercial and non-commercial purposes.
  • Context Window: A 128k context window, but performance might degrade past 40k. Hence we recommend setting the maximum model length to 40k.

Benchmark Results#

ModelAIME24 pass@1AIME25 pass@1GPQA DiamondLivecodebench (v5)
Magistral Medium73.59%64.95%70.83%59.36%
Magistral Small70.68%62.76%68.18%55.84%

Sampling parameters#

Please make sure to use:

  • top_p: 0.95
  • temperature: 0.7
  • max_tokens: 40960

Basic Chat Template#

We highly recommend including the default system prompt used during RL for the best results, you can edit and customise it if needed for your specific use case.

<s>[SYSTEM_PROMPT]system_prompt

A user will ask you to solve a task. You should first draft your thinking process (inner monologue) until you have derived the final answer. Afterwards, write a self-contained summary of your thoughts (i.e. your summary should be succinct but contain all the critical steps you needed to reach the conclusion). You should use Markdown to format your response. Write both your thoughts and summary in the same language as the task posed by the user. NEVER use \boxed{} in your response.

Your thinking process must follow the template below:
<think>
Your thoughts or/and draft, like working through an exercise on scratch paper. Be as casual and as long as you want until you are confident to generate a correct answer.
</think>

Here, provide a concise summary that reflects your reasoning and presents a clear final answer to the user. Don't mention that this is a summary.

Problem:

[/SYSTEM_PROMPT][INST]user_message[/INST]<think>
reasoning_traces
</think>
assistant_response</s>[INST]user_message[/INST]

system_prompt, user_message and assistant_response are placeholders.

We invite you to choose, depending on your use case and requirements, between keeping reasoning traces during multi-turn interactions or keeping only the final assistant response.

Please make sure to use mistral-common as the source of truth

Usage#

The model can be used with the following frameworks;

Inference#

In addition the community has prepared quantized versions of the model that can be used with the following frameworks (alphabetically sorted):

Training#

Fine-tuning is possible with (alphabetically sorted):

Other#

Also you can use Magistral with:

We recommend using this model with the vLLM library to implement production-ready inference pipelines.

Installation

Make sure you install the latest vLLM code:

pip install -U vllm \
    --pre \
    --extra-index-url https://wheels.vllm.ai/nightly

Doing so should automatically install mistral_common >= 1.6.0.

To check:

python -c "import mistral_common; print(mistral_common.__version__)"

You can also make use of a ready-to-go docker image or on the docker hub.

Serve model as follows:

vllm serve mistralai/Magistral-Small-2506 --tokenizer_mode mistral --config_format mistral --load_format mistral --tool-call-parser mistral --enable-auto-tool-choice --tensor-parallel-size 2

Ping model as follows:

from openai import OpenAI
from huggingface_hub import hf_hub_download

# Modify OpenAI's API key and API base to use vLLM's API server.
openai_api_key = "EMPTY"
openai_api_base = "http://localhost:8000/v1"

TEMP = 0.7
TOP_P = 0.95
MAX_TOK = 40_960

client = OpenAI(
    api_key=openai_api_key,
    base_url=openai_api_base,
)

models = client.models.list()
model = models.data[0].id

def load_system_prompt(repo_id: str, filename: str) -> str:
    file_path = hf_hub_download(repo_id=repo_id, filename=filename)
    with open(file_path, "r") as file:
        system_prompt = file.read()
    return system_prompt

SYSTEM_PROMPT = load_system_prompt(model, "SYSTEM_PROMPT.txt")

query = "Write 4 sentences, each with at least 8 words. Now make absolutely sure that every sentence has exactly one word less than the previous sentence."
# or try out other queries
# query = "Exactly how many days ago did the French Revolution start? Today is June 4th, 2025."
# query = "Think about 5 random numbers. Verify if you can combine them with addition, multiplication, subtraction or division to 133"
# query = "If it takes 30 minutes to dry 12 T-shirts in the sun, how long does it take to dry 33 T-shirts?"

messages = [
    {"role": "system", "content": SYSTEM_PROMPT},
    {"role": "user", "content": query}
]
stream = client.chat.completions.create(
  model=model,
  messages=messages,
  stream=True,
  temperature=TEMP,
  top_p=TOP_P,
  max_tokens=MAX_TOK,
)

print("client: Start streaming chat completions...")
printed_content = False

for chunk in stream:
  content = None
  # Check the content is content
  if hasattr(chunk.choices[0].delta, "content"):
    content = chunk.choices[0].delta.content

  if content is not None:
    if not printed_content:
        printed_content = True
        print("\ncontent:", end="", flush=True)
    # Extract and print the content
    print(content, end="", flush=True)

# content:<think>
# Alright, I need to write 4 sentences where each one has at least 8 words and each subsequent sentence has one fewer word than the previous one.
# ...
# Final boxed answer (the four sentences):

# \[
# \boxed{
# \begin{aligned}
# &\text{1. The quick brown fox jumps over lazy dog and yells hello.} \\
# &\text{2. I saw the cat on the stair with my hat.} \\
# &\text{3. The man in the moon came down quickly today.} \\
# &\text{4. A cat sat on the mat today patiently.}
# \end{aligned}
# }
# \]

Files

12 files · 14.2 GBWeights 14.2 GB (safetensors). Sizes and sha256 from the signed manifest.
Hide all 12 files with their sha256
FileSizesha256
.gitattributes1.57 KB34448b82c17d60fec9b65b1f093c115ddbaadc04beb1b0140b6bfed2e012a930
README.md9.68 KB676d0bb5bbff44ad66a203e09cc57e71bbbc0f3cf16e56add6eb96a3ec2385d8
chat_template.jinja2.73 KB475c1213058c888f772753afae99a2275df72a1ba33df8251b46c0b2215ae2b4
config.json1.24 KB6d62e1d0d737a21855d3db21ec2625d00cf1161a283d3915894d6a22621c8644
generation_config.json216 B50f937b0c25cc721846794881c9f48cdcffd2c70938c9c49c04d82fc5149c426
model-00001-of-00003.safetensors4.98 GB4b1f73cd2e769c0076167299b46b8c5e30af748e746da60dc40967910d8cd0bb
model-00002-of-00003.safetensors4.99 GBa96a7eda8bc9340adf3ff4407de8035a216b9017a8fa7a2a14195e02c8c12ccd
model-00003-of-00003.safetensors4.18 GBd656ad64006d0bfced28bbe1f3cd555334cb45f09509500de6d00a085637366a
model.safetensors.index.json165 KB8e6ea2acdb2500bdfead36536f0e854385c210338e8e6ea4f0423ffcf0c8731e
special_tokens_map.json21.4 KBeea95589f0339b15d91e77ae59d303331d81b46b9006a32f857a078312146ac0
tokenizer.json17.1 MB23ad081f384b2bdb3c97f6e5461dfce52c1174c7328854a55006988f0fef9da7
tokenizer_config.json201 KB33cd52a6b8fa32deb6412aca134805e20a578832be72aa4bb3998bbc4eecdee6
VersionsEach time the pinned upstream commit or file list changed in this repo. Newest first.
Upstream commitDateContents
5b21a6029b pinned now2026-11-15 05:14 UTC12 files · 14.2 GB

Use it

$ fw get unsloth/Magistral-Small-2506-bnb-4bit
# manifest sha256 632cf8bdb105… · 14.2 GB · 12 files
$ fw verify ./Magistral-Small-2506-bnb-4bit unsloth/Magistral-Small-2506-bnb-4bit
fw.pyChecks the signature and every sha256, tries each source in order, resumes.
$ python3 fw.py get https://freeweights.allternit.com/manifests/unsloth/Magistral-Small-2506-bnb-4bit.json --dir ./Magistral-Small-2506-bnb-4bit $ python3 fw.py verify ./Magistral-Small-2506-bnb-4bit ./unsloth__Magistral-Small-2506-bnb-4bit.json
hfThe Hugging Face CLI with one setting. Same repo id.
$ HF_ENDPOINT=https://freeweights.allternit.com hf download unsloth/Magistral-Small-2506-bnb-4bit --revision 5b21a6029b2b54e36d37cd632b54136b708695e1 --local-dir ./Magistral-Small-2506-bnb-4bit
transformersLoad the weights in Python.
import os os.environ["HF_ENDPOINT"] = "https://freeweights.allternit.com" from transformers import AutoModelForCausalLM, AutoTokenizer tok = AutoTokenizer.from_pretrained("unsloth/Magistral-Small-2506-bnb-4bit", revision="5b21a6029b2b54e36d37cd632b54136b708695e1") model = AutoModelForCausalLM.from_pretrained("unsloth/Magistral-Small-2506-bnb-4bit", revision="5b21a6029b2b54e36d37cd632b54136b708695e1", device_map="auto")
vLLMServe an OpenAI-compatible API.
$ HF_ENDPOINT=https://freeweights.allternit.com vllm serve unsloth/Magistral-Small-2506-bnb-4bit --revision 5b21a6029b2b54e36d37cd632b54136b708695e1

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
676d0bb5bbff44ad66a203e09cc57e71bbbc0f3cf16e56add6eb96a3ec2385d8
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: unsloth <huggingface.co/unsloth>Newsgroups: alt.freeweights.mistralSubject: Magistral-Small-2506-bnb-4bitDate: 2026-11-15Commit: 5b21a60Signed: 2DC28CC7B26A283B ✓
Upstream
unsloth/Magistral-Small-2506-bnb-4bit
Pinned commit
5b21a6029b2b54e36d37cd632b54136b708695e1
Manifest
Magistral-Small-2506-bnb-4bit.json · .minisig
Manifest sha256
632cf8bdb1056b95e981daec9f829b52dff4fcb30fb42731a996d47ebaed79c3
Signature
minisign, Ed25519, key 2DC28CC7B26A283B
Created
2026-11-15 05:14 UTC
Generator
freeweights-manifest/0.1.0
Takedowns
None.

How to verify

$ curl -O https://freeweights.allternit.com/manifests/unsloth/Magistral-Small-2506-bnb-4bit.json $ curl -O https://freeweights.allternit.com/manifests/unsloth/Magistral-Small-2506-bnb-4bit.json.minisig $ minisign -Vm Magistral-Small-2506-bnb-4bit.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

mistralai/Magistral-Small-2506 · this model is a quantization of it

No model in the catalog names this one as its parent.

Get it
Download
$ HF_ENDPOINT=https://freeweights.allternit.com hf download unsloth/Magistral-Small-2506-bnb-4bit
Open in Freeweights Studio

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

Signed manifest
minisign, key 2DC28CC7B26A283B. Magistral-Small-2506-bnb-4bit.json. Provenance. Takedown history: none.
From: bartowski <huggingface.co/bartowski>Subject: alamios_Mistral-Small-3.1-DRAFT-0.5B-GGUF
From: microsoft <huggingface.co/microsoft>Subject: chatbench-mistral-7b
From: NousResearch <huggingface.co/NousResearch>Subject: DeepHermes-3-Mistral-24B-Preview
From: mistralai <huggingface.co/mistralai>Subject: Devstral-Small-2-24B-Instruct-2512
From: mlx-community <huggingface.co/mlx-community>Subject: Devstral-Small-2-24B-Instruct-2512-4bit
From: mlx-community <huggingface.co/mlx-community>Subject: Devstral-Small-2-24B-Instruct-2512-6bit