alt.freeweights.smollm / SmolLM3-3B-GGUF
From: unsloth <huggingface.co/unsloth>Newsgroups: alt.freeweights.smollmSubject:

SmolLM3-3B-GGUF

Date: 2026-11-15Commit: a7bc172Signed: 2DC28CC7B26A283B ✓

Model. Gguf weights, 50.0 GB in all. Published by unsloth under Apache-2.0.

smollm50.0GBSmolLM3-3B-GGUFggufpermissive
FactsParamsnot statedSize50.0 GBFormatsggufTasknot taggedLicenseApache-2.0From sourcepermissive
$ fw get unsloth/SmolLM3-3B-GGUF
# manifest sha256 8e4038efefa2… · 50.0 GB · 27 files
$ fw verify ./SmolLM3-3B-GGUF unsloth/SmolLM3-3B-GGUF
From sourceHosted (signed)unsloth/SmolLM3-3B-GGUFLast check: 2026-11-15 04:49 UTC

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

Quantized of SmolLM3-3B.

Works with

Convert with

Scan with

Overview

Size
50.0 GB
Weights
955 MB (smallest of 24 GGUF variants)
Parameters
not stated
Formats
gguf
Task
not tagged
License
Apache-2.0 (permissive)
Files
27, each with a sha256
Publisher
unsloth
Added
2026-11-15
Section
alt.freeweights.smollm
Lineage

Original release from the publisher.

Base model: HuggingFaceTB/SmolLM3-3B

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 04:49 UTCpassed

Model card

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

Note. Includes our chat template fixes!

If you are using llama.cpp, use --jinja

Unsloth Dynamic 2.0 achieves superior accuracy & outperforms other leading quants.

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

SmolLM3#

Image: image/png

Table of Contents#

  1. Model Summary
  2. How to use
  3. Evaluation
  4. Training
  5. Limitations
  6. License

Model Summary#

SmolLM3 is a 3B parameter language model designed to push the boundaries of small models. It supports 6 languages, advanced reasoning and long context. SmolLM3 is a fully open model that offers strong performance at the 3B–4B scale.

Image: image/png

The model is a decoder-only transformer using GQA and NoPE (with 3:1 ratio), it was pretrained on 11.2T tokens with a staged curriculum of web, code, math and reasoning data. Post-training included midtraining on 140B reasoning tokens followed by supervised fine-tuning and alignment via Anchored Preference Optimization (APO).

Key features#
  • Instruct model optimized for hybrid reasoning
  • Fully open model: open weights + full training details including public data mixture and training configs
  • Long context: Trained on 64k context and suppots up to 128k tokens using YARN extrapolation
  • Multilingual: 6 natively supported (English, French, Spanish, German, Italian, and Portuguese)

For more details refer to our blog post: https://hf.co/blog/smollm3

How to use#

The modeling code for SmolLM3 is available in transformers v4.53.0, so make sure to upgrade your transformers version. You can also load the model with the latest vllm which uses transformers as a backend.

pip install -U transformers
from transformers import AutoModelForCausalLM, AutoTokenizer

model_name = "HuggingFaceTB/SmolLM3-3B"
device = "cuda"  # for GPU usage or "cpu" for CPU usage

# load the tokenizer and the model
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(
    model_name,
).to(device)

# 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,
)
model_inputs = tokenizer([text], return_tensors="pt").to(model.device)

# Generate the output
generated_ids = model.generate(**model_inputs, max_new_tokens=32768)

# Get and decode the output
output_ids = generated_ids[0][len(model_inputs.input_ids[0]) :]
print(tokenizer.decode(output_ids, skip_special_tokens=True))

Tip. We recommend setting temperature=0.6 and top_p=0.95 in the sampling parameters.

Enabling and Disabling Extended Thinking Mode#

We enable extended thinking by default, so the example above generates the output with a reasoning trace. For choosing between enabling, you can provide the /think and /no_think flags through the system prompt as shown in the snippet below for extended thinking disabled. The code for generating the response with extended thinking would be the same except that the system prompt should have /think instead of /no_think.

prompt = "Give me a brief explanation of gravity in simple terms."
messages = [
    {"role": "system", "content": "/no_think"},
    {"role": "user", "content": prompt}
]

text = tokenizer.apply_chat_template(
    messages,
    tokenize=False,
    add_generation_prompt=True,
)

We also provide the option of specifying the whether to use extended thinking through the enable_thinking kwarg as in the example below. You do not need to set the /no_think or /think flags through the system prompt if using the kwarg, but keep in mind that the flag in the system prompt overwrites the setting in the kwarg.

prompt = "Give me a brief explanation of gravity in simple terms."
messages = [
    {"role": "user", "content": prompt}
]

text = tokenizer.apply_chat_template(
    messages,
    tokenize=False,
    add_generation_prompt=True,
    enable_thinking=False
)
Agentic Usage#

SmolLM3 supports tool calling! Just pass your list of tools:

  • Under the argument xml_tools for standard tool-calling: these tools will be called as JSON blobs within XML tags, like <tool_call>{"name": "get_weather", "arguments": {"city": "Copenhagen"}}</tool_call>
  • Or under python_tools: then the model will call tools like python functions in a <code> snippet, like <code>get_weather(city="Copenhagen")</code>
from transformers import AutoModelForCausalLM, AutoTokenizer

checkpoint = "HuggingFaceTB/SmolLM3-3B"

tokenizer = AutoTokenizer.from_pretrained(checkpoint)
model = AutoModelForCausalLM.from_pretrained(checkpoint)

tools = [
    {
        "name": "get_weather",
        "description": "Get the weather in a city",
        "parameters": {"type": "object", "properties": {"city": {"type": "string", "description": "The city to get the weather for"}}}}
]

messages = [
    {
        "role": "user",
        "content": "Hello! How is the weather today in Copenhagen?"
    }
]

inputs = tokenizer.apply_chat_template(
    messages,
    enable_thinking=False, # True works as well, your choice!
    xml_tools=tools,
    add_generation_prompt=True,
    tokenize=True,
    return_tensors="pt"
)

outputs = model.generate(inputs)
print(tokenizer.decode(outputs[0]))
Using Custom System Instructions.#

You can specify custom instruction through the system prompt while controlling whether to use extended thinking. For example, the snippet below shows how to make the model speak like a pirate while enabling extended thinking.

prompt = "Give me a brief explanation of gravity in simple terms."
messages = [
    {"role": "system", "content": "Speak like a pirate./think"},
    {"role": "user", "content": prompt}
]

text = tokenizer.apply_chat_template(
    messages,
    tokenize=False,
    add_generation_prompt=True,
)

For local inference, you can use llama.cpp, ONNX, MLX and MLC. You can find quantized checkpoints in this collection (https://huggingface.co/collections/HuggingFaceTB/smollm3-686d33c1fdffe8e635317e23)

vLLM and SGLang#

You can use vLLM and SGLang to deploy the model in an API compatible with OpenAI format.

SGLang#
python -m sglang.launch_server --model-path HuggingFaceTB/SmolLM3-3B
vLLM#
vllm serve HuggingFaceTB/SmolLM3-3B
Setting chat_template_kwargs#

You can specify chat_template_kwargs such as enable_thinking and xml_tools to a deployed model by passing the chat_template_kwargs parameter in the API request.

curl http://localhost:8000/v1/chat/completions -H "Content-Type: application/json" -d '{
  "model": "HuggingFaceTB/SmolLM3-3B",
  "messages": [
    {"role": "user", "content": "Give me a brief explanation of gravity in simple terms."}
  ],
  "temperature": 0.6,
  "top_p": 0.95,
  "max_tokens": 16384,
  "chat_template_kwargs": {"enable_thinking": false}
}'

Evaluation#

In this section, we report the evaluation results of SmolLM3 model. All evaluations are zero-shot unless stated otherwise, and we use lighteval to run them.

We highlight the best score in bold and underline the second-best score.

Instruction Model#
No Extended Thinking#

Evaluation results of non reasoning models and reasoning models in no thinking mode. We highlight the best and second-best scores in bold.

CategoryMetricSmoLLM3-3BQwen2.5-3BLlama3.1-3BQwen3-1.7BQwen3-4B
High school math competitionAIME 20259.32.90.38.017.1
Math problem-solvingGSM-Plus72.874.159.268.382.1
Competitive programmingLiveCodeBench v415.210.53.415.024.9
Graduate-level reasoningGPQA Diamond35.732.229.431.844.4
Instruction followingIFEval76.765.671.674.068.9
AlignmentMixEval Hard26.927.624.924.331.6
Tool CallingBFCL92.3-92.3 *89.595.0
Multilingual Q&AGlobal MMLU53.550.5446.849.565.1

(*): this is a tool calling finetune

Extended Thinking#

Evaluation results in reasoning mode for SmolLM3 and Qwen3 models:

CategoryMetricSmoLLM3-3BQwen3-1.7BQwen3-4B
High school math competitionAIME 202536.730.758.8
Math problem-solvingGSM-Plus83.479.488.2
Competitive programmingLiveCodeBench v430.034.452.9
Graduate-level reasoningGPQA Diamond41.739.955.3
Instruction followingIFEval71.274.285.4
AlignmentMixEval Hard30.833.938.0
Tool CallingBFCL88.888.895.5
Multilingual Q&AGlobal MMLU64.162.373.3
Base Pre-Trained Model#
English benchmarks#

Note: All evaluations are zero-shot unless stated otherwise. For Ruler 64k evaluation, we apply YaRN to the Qwen models with 32k context to extrapolate the context length.

CategoryMetricSmolLM3-3BQwen2.5-3BLlama3-3.2BQwen3-1.7B-BaseQwen3-4B-Base
Reasoning & CommonsenseHellaSwag76.1574.1975.5260.5274.37
ARC-CF (Average)65.6159.8158.5855.8862.11
Winogrande58.8861.4158.7257.0659.59
CommonsenseQA55.2849.1460.6048.9852.99
Knowledge & UnderstandingMMLU-CF (Average)44.1342.9341.3239.1147.65
MMLU Pro CF19.6116.6616.4218.0424.92
MMLU Pro MCF32.7031.3225.0730.3941.07
PIQA78.8978.3578.5175.3577.58
OpenBookQA40.6040.2042.0036.4042.40
BoolQ78.9973.6175.3374.4674.28
Math & Code
Coding & mathHumanEval+30.4834.1425.0043.2954.87
MBPP+52.9152.1138.8859.2563.75
MATH (4-shot)46.1040.107.4441.6451.20
GSM8k (5-shot)67.6370.1325.9265.8874.14
Long context
Ruler 32k76.3575.9377.5870.6383.98
Ruler 64k67.8564.9072.9357.1860.29
Ruler 128k61.0362.2371.3043.0347.23
Multilingual benchmarks#
CategoryMetricSmolLM3 3B BaseQwen2.5-3BLlama3.2 3BQwen3 1.7B BaseQwen3 4B Base
Main supported languages
FrenchMLMM Hellaswag63.9457.4757.6651.2661.00
Belebele51.0051.5549.2249.4455.00
Global MMLU (CF)38.3734.2233.7134.9441.80
Flores-200 (5-shot)62.8561.3862.89<u/u>58.6865.76
SpanishMLMM Hellaswag65.8558.2559.3952.4061.85
Belebele47.0048.8847.0047.5650.33
Global MMLU (CF)38.5135.8435.6034.7941.22
Flores-200 (5-shot)48.2550.0044.4546.9350.16
GermanMLMM Hellaswag59.5649.9953.1946.1056.43
Belebele48.4447.8846.2248.0053.44
Global MMLU (CF)35.1033.1932.6032.7338.70
Flores-200 (5-shot)56.6050.6354.9552.5850.48
ItalianMLMM Hellaswag62.4953.2154.9648.7258.76
Belebele46.4444.7743.8844.0048.7844.88
Global MMLU (CF)36.9933.9132.7935.3739.26
Flores-200 (5-shot)52.6554.8748.8348.3749.11
PortugueseMLMM Hellaswag63.2257.3856.8450.7359.89
Belebele47.6749.2245.0044.0050.0049.00
Global MMLU (CF)36.8834.7233.0535.2640.66
Flores-200 (5-shot)60.9357.6854.2856.5863.43

The model has also been trained on Arabic (standard), Chinese and Russian data, but has seen fewer tokens in these languages compared to the 6 above. We report the performance on these langages for information.

CategoryMetricSmolLM3 3B BaseQwen2.5-3BLlama3.2 3BQwen3 1.7B BaseQwen3 4B Base
Other supported languages
ArabicBelebele40.2244.2245.3342.3351.78
Global MMLU (CF)28.5728.8127.6729.3731.85
Flores-200 (5-shot)40.2239.4444.4335.8239.76
ChineseBelebele43.7844.5649.5648.7853.22
Global MMLU (CF)36.1633.7939.5738.5644.55
Flores-200 (5-shot)29.1733.2131.8925.7032.50
RussianBelebele47.4445.8947.4445.2251.44
Global MMLU (CF)36.5132.4734.5234.8338.80
Flores-200 (5-shot)47.1348.7450.7454.7060.53

Training#

Model#
  • Architecture: Transformer decoder
  • Pretraining tokens: 11T
  • Precision: bfloat16
Software & hardware#
Open resources#

Here is an infographic with all the training details

  • The datasets used for pretraining can be found in this collection and those used in mid-training and post-training will be uploaded later
  • The training and evaluation configs and code can be found in the huggingface/smollm repository.

Image: image/png

Limitations#

SmolLM3 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.

License#

Apache 2.0

Files

27 files · 50.0 GBWeights 955 MB (smallest of 24 GGUF variants). Sizes and sha256 from the signed manifest.
Show all 27 files with their sha256
FileSizesha256
.gitattributes3.07 KBfcefb9992a128ef95b6695ef00ce0207bae705c56fdbaaf8340fb3ee1519c846
README.md16.5 KBcc3e2985fe1b789e2c7b9be5fe0d226d09e1e52bf030fe049276bf9d64a571b8
SmolLM3-3B-BF16.gguf6.16 GB3082a0be39c4014306e8aa688b2f8051468fe077fc99835ad576e21e83f93788
SmolLM3-3B-IQ4_NL.gguf1.81 GB7448f197e76fc311f322367e460ddd9a309dfaff945fbb5477edc00ca884ccab
SmolLM3-3B-IQ4_XS.gguf1.72 GBc1ab400f2c4375d3c949af0d6ea4ef4ac71691430bb8b9d92af887a400ee7306
SmolLM3-3B-Q2_K.gguf1.25 GB9d7d2b79c7cfc77618bc9b5488f75c62b02a1076b12232d80dbec16878c95683
SmolLM3-3B-Q2_K_L.gguf1.25 GB9d7d2b79c7cfc77618bc9b5488f75c62b02a1076b12232d80dbec16878c95683
SmolLM3-3B-Q3_K_M.gguf1.57 GBd9709768b02f4952ddea7481e34c0950a98a41229b1653d5a4476f7cf525f815
SmolLM3-3B-Q3_K_S.gguf1.43 GBe723e59cae777b4d1811bbb2d3fc07e97e243f4cbfc2e170288e2ff01d8b8073
SmolLM3-3B-Q4_0.gguf1.81 GB7077558daebcbb2b598aef526e420f82517d766084aff0e03950c56b86429622
SmolLM3-3B-Q4_1.gguf1.98 GB7b4219fcea8f7390751e2a133c738fc68beefd416303adeecbbb8bbe98e71653
SmolLM3-3B-Q4_K_M.gguf1.92 GB4de907d2d388a5508fb7cb443a06effe14cce3518b0a78d3bdd9e74d9edce989
SmolLM3-3B-Q4_K_S.gguf1.82 GB029fe4799ac58710ab909adbd4b861cf95684afeb6ac00dbe926f6fc4caadda2
SmolLM3-3B-Q5_K_M.gguf2.21 GBb8018a9870aa26be4f61f7b8bbc100c11750104b27de3578cc39f2f88cc8b229
SmolLM3-3B-Q5_K_S.gguf2.16 GB2db91708a0e3787e4fe87816532d78fdcce0ec72eb727131622e0d06a96abc6c
SmolLM3-3B-Q6_K.gguf2.53 GBe11c5af94a7beb95dc1352f8395d47a50ea12d017f979e29945b08e496f9096b
SmolLM3-3B-Q8_0.gguf3.28 GB5bd828e684d883459a03ce1eec9dc9044345c6da64075d9ae7e890dedc68de28
SmolLM3-3B-UD-IQ2_M.gguf1.15 GB84feae2f688ba00bda39e5d41a1c1a3048494a168b223d454c05aa6147a2316a
SmolLM3-3B-UD-IQ2_XXS.gguf955 MB7de8576f0723f22b2e4510646c45caa046e9cd352563cababe63e13c4f6553c5
SmolLM3-3B-UD-IQ3_XXS.gguf1.29 GBea1b75753dceb76c48f15a55f199815cd7651fc6d66592bf57101815534e5081
SmolLM3-3B-UD-Q2_K_XL.gguf1.29 GBcb017b3388c278f44b37602f2a2a564d18f21f8b0c51dad468112c351ece2e83
SmolLM3-3B-UD-Q3_K_XL.gguf1.61 GBa46546442c25f6689a7df768fc5a5c66a0d5cf1d67d8211029ea47b435ab3934
SmolLM3-3B-UD-Q4_K_XL.gguf1.94 GB305234462409d659233b0ea75fd1e070cc28d5add7d0480f2db02387679e3d0c
SmolLM3-3B-UD-Q5_K_XL.gguf2.21 GB20fed5f48105193ec3699265f42f25082b9b461fbda89263671d0a0cb4bd19e4
SmolLM3-3B-UD-Q6_K_XL.gguf2.76 GB35aed16bd523a4903a3c2c23f2c5462e00f844ef55fe5682f9b06e5805c90391
SmolLM3-3B-UD-Q8_K_XL.gguf3.90 GBc0208a078cd32ada1ed8f6f4f9fa5e99475743d909cf9582c7a1ecc5690bf3b3
imatrix_unsloth.dat3.36 MBe8bede2deadd62cae0cd7a55bf4dd49f3e4defcb5d9c06428dcbc92a1caca030
VersionsEach time the pinned upstream commit or file list changed in this repo. Newest first.
Upstream commitDateContents
a7bc17204c pinned now2026-11-15 04:49 UTC27 files · 50.0 GB

Use it

$ fw get unsloth/SmolLM3-3B-GGUF
# manifest sha256 8e4038efefa2… · 50.0 GB · 27 files
$ fw verify ./SmolLM3-3B-GGUF unsloth/SmolLM3-3B-GGUF
fw.pyChecks the signature and every sha256, tries each source in order, resumes.
$ python3 fw.py get https://freeweights.allternit.com/manifests/unsloth/SmolLM3-3B-GGUF.json --dir ./SmolLM3-3B-GGUF $ python3 fw.py verify ./SmolLM3-3B-GGUF ./unsloth__SmolLM3-3B-GGUF.json
hfThe Hugging Face CLI with one setting. Same repo id.
$ HF_ENDPOINT=https://freeweights.allternit.com hf download unsloth/SmolLM3-3B-GGUF --revision a7bc17204c8a326d6bd6e466e076959eddae2025 --local-dir ./SmolLM3-3B-GGUF
llama.cppDownload one GGUF variant (SmolLM3-3B-UD-IQ2_XXS, 955 MB), then serve it.
$ HF_ENDPOINT=https://freeweights.allternit.com hf download unsloth/SmolLM3-3B-GGUF --include "SmolLM3-3B-UD-IQ2_XXS*" --local-dir ./SmolLM3-3B-GGUF $ llama-server -m ./SmolLM3-3B-GGUF/SmolLM3-3B-UD-IQ2_XXS.gguf
OllamaMake an Ollama model from the downloaded file.
$ printf 'FROM ./SmolLM3-3B-GGUF/SmolLM3-3B-UD-IQ2_XXS.gguf\n' > Modelfile $ ollama create smollm3-3b-gguf -f Modelfile

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
cc3e2985fe1b789e2c7b9be5fe0d226d09e1e52bf030fe049276bf9d64a571b8
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.smollmSubject: SmolLM3-3B-GGUFDate: 2026-11-15Commit: a7bc172Signed: 2DC28CC7B26A283B ✓
Upstream
unsloth/SmolLM3-3B-GGUF
Pinned commit
a7bc17204c8a326d6bd6e466e076959eddae2025
Manifest
SmolLM3-3B-GGUF.json · .minisig
Manifest sha256
8e4038efefa20fd38fa328e44f04ea97f93eba4ef2356e79160df15ba2d0f45b
Signature
minisign, Ed25519, key 2DC28CC7B26A283B
Created
2026-11-15 04:49 UTC
Generator
freeweights-manifest/0.1.0
Takedowns
None.

How to verify

$ curl -O https://freeweights.allternit.com/manifests/unsloth/SmolLM3-3B-GGUF.json $ curl -O https://freeweights.allternit.com/manifests/unsloth/SmolLM3-3B-GGUF.json.minisig $ minisign -Vm SmolLM3-3B-GGUF.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

HuggingFaceTB/SmolLM3-3B · 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/SmolLM3-3B-GGUF
Open in Freeweights Studio

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

Signed manifest
minisign, key 2DC28CC7B26A283B. SmolLM3-3B-GGUF.json. Provenance. Takedown history: none.
From: HuggingFaceTB <huggingface.co/HuggingFaceTB>Subject: 135M-lc-100k-rope-12B
From: nisten <huggingface.co/nisten>Subject: Biggie-SmoLlm-0.4B
From: onnx-community <huggingface.co/onnx-community>Subject: Biggie-SmoLlm-0.4B-ONNX
From: unsloth <huggingface.co/unsloth>Subject: SmolLM-1.7B-bnb-4bit
From: unsloth <huggingface.co/unsloth>Subject: SmolLM-1.7B-Instruct
From: unsloth <huggingface.co/unsloth>Subject: SmolLM-135M-bnb-4bit