Instruction / SFT · HuggingFaceTB

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.

Load it
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:

7B QLoRA · ~6GB VRAM13B QLoRA · ~10GB VRAM
Check if your GPU can fine-tune this →

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.