Smoltalk
A high-quality 2025 synthetic dataset created to train the SmolLM2 family of small language models. 1 million examples covering diverse tasks, generated with careful quality filtering. Demonstrates that small models (1.7B, 360M) can achieve strong performance with the right training data.
from datasets import load_dataset
ds = load_dataset("HuggingFaceTB/smoltalk")Preview a sample row
{
"messages": [
{ "role": "user", "content": "Summarize the key differences between TCP and UDP." },
{ "role": "assistant", "content": "TCP is connection-oriented: it establishes a session, guarantees delivery, and retransmits lost packets. UDP is connectionless: it fires packets without handshaking or delivery guarantees, making it faster but less reliable. Use TCP for web traffic and file transfers; UDP for video streaming, DNS, and gaming." }
]
}Fine-tune with this dataset
Estimated VRAM to fine-tune with QLoRA (4-bit base model + LoRA adapters), using conservative defaults:
New to fine-tuning? Follow the step-by-step walkthrough: Fine-Tune Your First LLM in 1 Hour
Frequently asked questions
Can I use Smoltalk commercially?
Yes — Smoltalk is released under Apache 2.0, a permissive license that allows commercial use, including training models you ship in a product. Check the dataset card for attribution requirements before release.
How much data does Smoltalk contain, and do I need all of it?
Smoltalk contains 1M Rows. You rarely need all of it: for style and format fine-tuning, a few hundred to a few thousand examples are enough — load a slice (e.g. split="train[:1000]") and scale up only if quality plateaus.
What is Smoltalk best used for?
General SFT for small models (the SmolLM2 recipe). It belongs to the Instruction / SFT section of our dataset hub, where you'll find alternatives and complementary sets.