Fine-Tuning Small Language Models

What actually changes when you fine-tune a model — LoRA and adapters, hyperparameters that matter, and the failure modes that make a fine-tuned model worse than the base.

Fine-tuning changes a model’s weights so it performs better on your task than the general purpose version did. That is the whole idea. Everything else — LoRA, adapters, learning rates, epochs — is machinery for doing it efficiently and without breaking the model in the process.

The practical question is rarely “should the weights change” but “how many of them, and by how much”. Full fine-tuning updates every parameter, which needs enough memory to hold the model, its gradients, and optimiser state at once. For an 8B model that is well beyond a single consumer GPU. Low-rank adaptation sidesteps this by freezing the original weights and training a small number of new ones alongside them — typically under 1% of the total. The result is close to full fine-tuning quality on most task-specific work, at a fraction of the memory.

What tends to go wrong

Fine-tuning has a specific and unintuitive failure mode: the model gets worse. Not worse than it could be — worse than the base model you started from. This surprises people, and it usually comes from one of three places.

Overfitting. Training too long on too little data. The model memorises the training examples and stops generalising. Training loss keeps falling while performance on held-out data flattens or degrades — which is exactly why a held-out test set is not optional.

Catastrophic forgetting. Push the weights hard enough toward your task and the model loses capabilities it had before. On a narrow task this can be acceptable. If your application needs the model to also handle general instructions, it is not.

A learning rate that does not match the method. Full fine-tuning and LoRA want different learning rates, often by an order of magnitude. Carrying a value across from one to the other reliably produces a bad run.

None of these are exotic. They account for most of the “we tried fine-tuning and it did not work” stories.

What you actually have to decide

Less than you might expect. Task type and student model matter a great deal. Rank and learning rate matter somewhat, within a fairly forgiving band. Most other knobs matter far less than the quality and diversity of the training data, which is the thing worth spending your attention on.

That is the honest summary: a well-chosen 1.7B student trained on a thousand diverse, validated examples will beat a carefully tuned run on two hundred repetitive ones, and the gap is not close.

Where this cluster goes

The articles below cover LoRA rank and how to set it, the difference between LoRA and QLoRA, what full fine-tuning actually changes that adapters do not, how long training takes, and diagnostics for each of the three failure modes above.

For where the training data comes from in the first place, see the training data cluster. For how to tell whether the result is good enough to ship, see evaluation.

How Long Does Fine-Tuning Take?

Published distil labs runs land between roughly six and twelve hours end to end. Here is what those figures cover, which stage eats the clock, and what moves it.

LoRA vs QLoRA: Which Should You Use?

QLoRA is LoRA with the frozen base model quantised to 4 bits. Here is what that buys you, what it costs, and which one to enable for a small student model.

LoRA vs Full Fine-Tuning: When to Use What

Compare LoRA and full fine-tuning for small language models. Learn the trade-offs in accuracy, speed, and memory so you can pick the right approach for your project.

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 — no GPU required.

How to Fine-Tune a Small Language Model (Step-by-Step Guide)

Learn how to fine-tune a small language model for your specific use case. This step-by-step guide covers data preparation, training configuration, LoRA adapters, and deployment.

Is Fine-Tuning Worth It? When to Fine-Tune vs Prompt

Prompt engineering is fast and flexible, but fine-tuning delivers higher accuracy, lower latency, and lower cost at scale. Learn when each approach makes sense and how to decide.

No-Code Model Fine-Tuning: Train a Custom SLM Without Writing Code

Learn how to fine-tune a small language model without any coding. Discover no-code and low-code platforms that let you create custom NLP models using just a prompt and a few examples.

Do You Need to Fine-Tune the Tokenizer?

Almost never — the tokenizer that shipped with a checkpoint is bound to its embedding matrix, and changing the vocabulary throws away pretrained representations you cannot cheaply relearn.

Full Fine-Tuning vs Adapters

Full fine-tuning rewrites every weight; adapters leave the base frozen and train a small add-on. Here is what counts as an adapter and where the two approaches genuinely diverge.

What Is LoRA Rank?

LoRA rank is the inner dimension of the low-rank update matrices injected into a frozen model — the one knob that sets how much an adapter can learn.

What Is Catastrophic Forgetting?

A fine-tuned model that nails its new task but has lost the general abilities it arrived with has forgotten catastrophically — here is how to spot it, fix it, and when to accept it.

What Is Overfitting in Fine-Tuning?

Overfitting is when a fine-tuned model memorises its training examples instead of the pattern behind them — spot it from the held-out gap and fix it with data before hyperparameters.

Why Did My Fine-Tuned Model Get Worse?

Your tuned student scores below the base model or the teacher on its own task. Work through the metric artefacts first, then the ranked causes, then the re-run.