alt.freeweights.smollm / SmolLM3-3B-GSM8K-SFT
From: HuggingFaceTB <huggingface.co/HuggingFaceTB>Newsgroups: alt.freeweights.smollmSubject:

SmolLM3-3B-GSM8K-SFT

Date: 2026-11-14Commit: 44034b1Signed: 2DC28CC7B26A283B ✓

Text generation model with 3.1B parameters. Safetensors weights, 6.17 GB in all. Published by HuggingFaceTB under Apache-2.0.

3.1B params6.17GBSmolLM3-3B-GSM8K-SFTsafetensorspermissive
FactsParams3.1BSize6.17 GBFormatssafetensorsTasktext generationLicenseApache-2.0From sourcepermissive
$ fw get HuggingFaceTB/SmolLM3-3B-GSM8K-SFT
# manifest sha256 d827059cb651… · 6.17 GB · 15 files
$ fw verify ./SmolLM3-3B-GSM8K-SFT HuggingFaceTB/SmolLM3-3B-GSM8K-SFT
From sourceHosted (signed)HuggingFaceTB/SmolLM3-3B-GSM8K-SFTLast check: 2026-11-14 21:11 UTC

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

Fine-tune of SmolLM3-3B-Base.

Works with

Overview

Size
6.17 GB
Weights
6.15 GB (safetensors)
Parameters
3.1B
Formats
safetensors
Task
text generation
License
Apache-2.0 (permissive)
Files
15, each with a sha256
Publisher
HuggingFaceTB
Added
2026-11-14
Section
alt.freeweights.smollm
Lineage

Original release from the publisher.

Base model: HuggingFaceTB/SmolLM3-3B-Base

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-14 21:11 UTCpassed

Model card

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

SmolLM3-3B-GSM8K-SFT#

Fine-tuned version of HuggingFaceTB/SmolLM3-3B-Base optimized for grade school math (GSM8K benchmark).

Performance#

MetricScore
GSM8K Accuracy65.8%
Baseline (SmolLM3-3B-Base)23.3%
Improvement+42.5 pp (2.8x)

Quick Start#

from transformers import AutoModelForCausalLM, AutoTokenizer

model_id = "HuggingFaceTB/SmolLM3-3B-GSM8K-SFT"
model = AutoModelForCausalLM.from_pretrained(model_id, torch_dtype="auto", device_map="auto")
tokenizer = AutoTokenizer.from_pretrained(model_id)

# Solve a math problem
messages = [{"role": "user", "content": "Janet's ducks lay 16 eggs per day. She eats three for breakfast every morning and bakes muffins for her friends every day with four. She sells the remainder at the farmers' market daily for $2 per fresh duck egg. How much in dollars does she make every day at the farmers' market?"}]

inputs = tokenizer.apply_chat_template(messages, return_tensors="pt", add_generation_prompt=True).to(model.device)
outputs = model.generate(inputs, max_new_tokens=512, do_sample=False)
print(tokenizer.decode(outputs[0], skip_special_tokens=False))

Expected output:

Janet's ducks lay 16 eggs per day.
She eats 3 for breakfast, so 16 - 3 = 13 eggs remain.
She bakes muffins with 4 eggs, so 13 - 4 = 9 eggs remain.
She sells the remaining 9 eggs at $2 each.
9 × $2 = $18

#### 18
from vllm import LLM, SamplingParams

llm = LLM(model="HuggingFaceTB/SmolLM3-3B-GSM8K-SFT")
tokenizer = llm.get_tokenizer()

messages = [{"role": "user", "content": "What is 15 * 23 + 47?"}]
prompt = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)

outputs = llm.generate([prompt], SamplingParams(max_tokens=256, temperature=0))
print(outputs[0].outputs[0].text)

Training Details#

ParameterValue
Base ModelHuggingFaceTB/SmolLM3-3B-Base
Training DataMetaMathQA (100k samples)
MethodSupervised Fine-Tuning (SFT) with TRL 1.0.0
HardwareNVIDIA H100 80GB
Training Time~3h 16min
Epochs1
Batch Size2 (effective 16 with gradient accumulation)
Learning Rate1e-5
Max Sequence Length2048
OptimizerAdamW

Chat Template#

This model uses the ChatML format:

<|im_start|>system
You are a helpful AI assistant.<|im_end|>
<|im_start|>user
What is 2 + 2?<|im_end|>
<|im_start|>assistant
2 + 2 = 4

#### 4<|im_end|>

Training History#

We tried multiple approaches to improve math reasoning:

StageGSM8K AccuracyMethodNotes
Baseline23.3%-SmolLM3-3B-Base with no training
SFT V159.6%SFT 2 epochsMetaMathQA 50k samples
GRPO58%GRPOGSM8K train set - ineffective
SFT V265.8%SFT 1 epochMetaMathQA 100k samples ✓

Key finding: More diverse training data (100k vs 50k samples) was more effective than more epochs or GRPO reinforcement learning.

Reproduction#

Training and evaluation scripts are available in the training/ folder:

# Train from scratch
python training/train_sft.py

# Evaluate on GSM8K
python training/evaluate_gsm8k.py --model HuggingFaceTB/SmolLM3-3B-GSM8K-SFT --samples 1319

Limitations#

  • Optimized specifically for grade school math; may not generalize to advanced mathematics
  • Best performance with step-by-step reasoning format ending with #### answer
  • Context window limited to 2048 tokens during training

Citation#

@misc{smollm3-gsm8k-sft,
  title={SmolLM3-3B-GSM8K-SFT: Fine-tuned SmolLM3 for Math Reasoning},
  author={Hugging Face},
  year={2026},
  publisher={Hugging Face},
  url={https://huggingface.co/HuggingFaceTB/SmolLM3-3B-GSM8K-SFT}
}

License#

Apache 2.0

Files

15 files · 6.17 GBWeights 6.15 GB (safetensors). Sizes and sha256 from the signed manifest.
Hide all 15 files with their sha256
FileSizesha256
.gitattributes1.57 KB34448b82c17d60fec9b65b1f093c115ddbaadc04beb1b0140b6bfed2e012a930
README.md4.50 KB2be4ce7e2bed81b159708595143923f5fa779c9515b5ce137ab0764eb219ea9d
chat_template.jinja391 Bd2771c9694cc22f4d983cbf2344551d4d0933156a927f673584a358e4aee0563
config.json2.02 KB7e92814b1877e9975e539ffd6e63dddc37c08c9b98333382370b43a47a78e096
generation_config.json131 Bfc1b5c5105108a1aa16ae36f54facd8d1442e33fe958726931010f2cc7f8c92a
model-00001-of-00002.safetensors4.97 GB3efb15d254372a45b8310dd8999f912becaf8b5b7e16f6a366c381b317a77aa6
model-00002-of-00002.safetensors1.18 GB8b68a5f873c649c2672219d11ee7ff44bc3f562c6619b291d4280040275d3f89
model.safetensors.index.json26.9 KBe3a7254c086c4a78f95ad5864f435d165ffed1ed8998326ce5107b4423c15b76
special_tokens_map.json299 B15864bf8c2203d4df3e6030bf2f917a45d7ee5e6b4145bc42868392703da7972
tokenizer.json17.2 MBab4da6b2aa68247e9c0fa9b97fc7fcc796505038d01f7e144522a65ce0dbd2e5
tokenizer_config.json50.4 KBce5751001657b8a901887461604ff5e452c283e574373ca94a6b3ca81ef8d027
training/evaluate_gsm8k.py2.77 KB4c715f29392f1f98e635384ab10745ce3df4c42c690bef22c0aac57335923513
training/requirements.txt132 B49ad229769f78b512cfd798eb6997080809aa5ab6ab1bfa884e2690a7c2272f7
training/train_sft.py4.37 KB048525ae9eb3a4297a56f1d7bc59b8243c3c76b7146797a476022fea7be15cd5
training_args.bin6.29 KB00a928c87b198b750003285050886aa0c72c601fd48924723197a3bdb7df3b3f
VersionsEach time the pinned upstream commit or file list changed in this repo. Newest first.
Upstream commitDateContents
44034b1b88 pinned now manifest updated, same commit2026-11-14 21:11 UTC15 files · 6.17 GB
44034b1b882026-11-14 21:11 UTC15 files · 6.17 GB

Use it

$ fw get HuggingFaceTB/SmolLM3-3B-GSM8K-SFT
# manifest sha256 d827059cb651… · 6.17 GB · 15 files
$ fw verify ./SmolLM3-3B-GSM8K-SFT HuggingFaceTB/SmolLM3-3B-GSM8K-SFT
fw.pyChecks the signature and every sha256, tries each source in order, resumes.
$ python3 fw.py get https://freeweights.allternit.com/manifests/HuggingFaceTB/SmolLM3-3B-GSM8K-SFT.json --dir ./SmolLM3-3B-GSM8K-SFT $ python3 fw.py verify ./SmolLM3-3B-GSM8K-SFT ./HuggingFaceTB__SmolLM3-3B-GSM8K-SFT.json
hfThe Hugging Face CLI with one setting. Same repo id.
$ HF_ENDPOINT=https://freeweights.allternit.com hf download HuggingFaceTB/SmolLM3-3B-GSM8K-SFT --revision 44034b1b8898ad2ad3c5a7034b5bbde1c0b87c0a --local-dir ./SmolLM3-3B-GSM8K-SFT
transformersLoad the weights in Python.
import os os.environ["HF_ENDPOINT"] = "https://freeweights.allternit.com" from transformers import AutoModelForCausalLM, AutoTokenizer tok = AutoTokenizer.from_pretrained("HuggingFaceTB/SmolLM3-3B-GSM8K-SFT", revision="44034b1b8898ad2ad3c5a7034b5bbde1c0b87c0a") model = AutoModelForCausalLM.from_pretrained("HuggingFaceTB/SmolLM3-3B-GSM8K-SFT", revision="44034b1b8898ad2ad3c5a7034b5bbde1c0b87c0a", device_map="auto")
vLLMServe an OpenAI-compatible API.
$ HF_ENDPOINT=https://freeweights.allternit.com vllm serve HuggingFaceTB/SmolLM3-3B-GSM8K-SFT --revision 44034b1b8898ad2ad3c5a7034b5bbde1c0b87c0a

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-14
Text in
README.md
Text sha256
2be4ce7e2bed81b159708595143923f5fa779c9515b5ce137ab0764eb219ea9d
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: HuggingFaceTB <huggingface.co/HuggingFaceTB>Newsgroups: alt.freeweights.smollmSubject: SmolLM3-3B-GSM8K-SFTDate: 2026-11-14Commit: 44034b1Signed: 2DC28CC7B26A283B ✓
Upstream
HuggingFaceTB/SmolLM3-3B-GSM8K-SFT
Pinned commit
44034b1b8898ad2ad3c5a7034b5bbde1c0b87c0a
Manifest
SmolLM3-3B-GSM8K-SFT.json · .minisig
Manifest sha256
d827059cb651ad6c9ccc2a519570340336a92431e7351e0d64be4db64e6cb8f6
Signature
minisign, Ed25519, key 2DC28CC7B26A283B
Created
2026-11-14 21:11 UTC
Generator
freeweights-manifest/0.1.0
Takedowns
None.

How to verify

$ curl -O https://freeweights.allternit.com/manifests/HuggingFaceTB/SmolLM3-3B-GSM8K-SFT.json $ curl -O https://freeweights.allternit.com/manifests/HuggingFaceTB/SmolLM3-3B-GSM8K-SFT.json.minisig $ minisign -Vm SmolLM3-3B-GSM8K-SFT.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-Base · this model is a finetune of it

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

Get it
Download
$ HF_ENDPOINT=https://freeweights.allternit.com hf download HuggingFaceTB/SmolLM3-3B-GSM8K-SFT
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-GSM8K-SFT.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