Learn

Practical guides to fine-tuning, distillation, and deploying small language models.

What Size Model Do You Need?

A constraint-first way to choose a student model size, with the parameter tier each constraint implies, the evidence that bigger doesn't reliably win, and the sizing mistakes that cost the most time.

When Does Self-Hosting Beat an API?

Five criteria that decide whether a dedicated GPU is cheaper than per-token billing (utilisation, task shape, latency budget, data residency, and team capacity), with the threshold for each.

When Not to Use a Small Language Model

Five conditions that should make you walk away: an undefined task, weekly-changing requirements, low volume, a need for broad capability, and a teacher that can't solve it either.

Which Task Type Should You Pick?

A row-by-row decision guide for choosing between the six distil labs task types, the tie-breaks when two of them fit, and the four mistakes that cost a training run.

Writing a Job Description for Synthetic Data Generation

How to write the job_description.json that defines correct behaviour for your task, the field that carries the normative signal for every generated training example.

Few-Shot Fine-Tuning: Train a Model with 10 Examples

Learn how few-shot fine-tuning lets you train a small language model with as few as 10 labeled examples, and when it outperforms in-context learning.

How to Fine-Tune an LLM Without a GPU

You don't need expensive hardware to fine-tune a language model. Learn how cloud-based distillation platforms let you train custom SLMs from a prompt, with no GPU required.

Fine-Tune with Synthetic Data: Generate Training Data from a Prompt

Learn how to use synthetic data generation to create high-quality training datasets for fine-tuning small language models, even when you have little or no labeled data.

Generate Synthetic Training Data for LLM Fine-Tuning

Learn how to generate high-quality synthetic training data using a teacher LLM to fine-tune smaller, faster models, even when you have little or no labeled data to start with.