What you will build, and the plan
The goal of the course (a fine-tuned model you can measure, ship and defend), the route from deciding whether to fine-tune through LoRA, labs and a capstone, times and checkpoints, and the three questions to answer before you start.
#The goal
You finish this course with a fine-tuned model that you can measure, ship and defend: you can say what it does better than the base model, by how much, at what cost, and what you gave up.
#Three questions before you start
- What exactly should the model do differently? A format, a tone, a task, a tool-call habit? If you cannot write ten examples of the desired behaviour, you are not ready to fine-tune.
- How will you know it worked? You need an evaluation set before you train, not after (evaluation).
- Have you tried the cheap options? A better prompt, few-shot examples, retrieval or a larger base model solve many problems without training (when to fine-tune).
#The route
- 1Start hereplan, environment, data basics
- 2Foundationswhen to fine-tune, data, methods, evaluating and serving
- 3LoRA and QLoRAhow adapters work, GPU memory, recipe, forgetting
- 4LabsLoRA with PEFT and TRL, synthetic data, evaluation, structured output, embeddings
- 5Capstonea fine-tune for your own task
| Part | Lessons | Time | Checkpoint |
|---|---|---|---|
| Start here | 3 | about 1.5 hours | envcheck.py runs; you know which GPU option you will use; your data format validates |
| Foundations | 4 | about 3 hours | You can argue for or against fine-tuning a given task |
| LoRA and QLoRA | 4 | about 4 hours | You can estimate the GPU memory for a run and choose rank and target layers |
| Labs | 5 | about 8 hours | A trained, evaluated and merged adapter |
| Capstone | 1 | about 6 hours | A before and after report on your own task |
#What you will be able to do
- Decide whether fine-tuning is the right tool, and which method (LoRA, QLoRA, full) fits.
- Prepare and validate training data, including synthetic data.
- Estimate GPU memory and pick hardware.
- Run a LoRA fine-tune with Hugging Face PEFT and TRL, evaluate it, merge or serve the adapter.
- Fine-tune for structured output, tool calling, embeddings and rerankers.
#Prerequisites
- Python and the ability to run a script.
- How models are served locally, from Local LLM Inference (tokens, context, quantisation).
- Helpful but not required: evaluation basics. The labs teach what they use.
- No GPU is needed to read the course; the next lesson shows your options for running the labs.
#Exercise
Pick one task you would like a model to do better. Write: the behaviour you want in one sentence, ten example inputs with their ideal outputs, and one cheaper alternative to try first.
Answer: there is no single right answer. A good one is specific (for example "always reply in this JSON format"), has examples that disagree with what the base model currently does, and names a concrete alternative such as a stricter prompt plus structured output (structured output).
Quick quiz
+10 XP per correct answer, +25 XP for a perfect score
1. What is the first question to ask before fine-tuning?
2. What does a fine-tune mostly change?
3. Why does the course end with a capstone?
Found this useful?
Send it to someone who is learning the same thing.