Fine-tuning & post-training
When changing a model's weights is the right answer, what each method actually costs, and the failure modes that make most fine-tunes a waste of a fortnight.
Fine-tuning is the most over-recommended intervention in applied machine learning. It is also, for a narrow set of problems, the only thing that works. The distance between those two sentences is where this cluster lives.
The pages start with the decision — whether to train at all — because that is where most of the money is lost, and only then get into method, data, evaluation and serving. Where a claim comes from a paper it is named. Where a number is derived, the derivation is shown so you can substitute your own model and redo it. Nothing here reports an experiment we ran, because we did not run one.
Should You Fine-Tune? A Decision Tree
A four-rung ladder — prompt, few-shot, retrieval, stronger model — and the test that tells you whether fine-tuning is the rung you are actually on.
5 min read
Fine-Tuning vs RAG: They Solve Different Problems
One changes what the model knows at inference time, the other changes how it behaves — and each mistake has a distinctive smell.
5 min read
LoRA Explained: Fine-Tuning Without the GPU Bill
Low-rank adaptation worked out on actual matrices: what the parameter counts are, why the memory saving is bigger than the parameter saving, and where it breaks.
6 min read
QLoRA and Fine-Tuning on One Consumer GPU
The 24 GB memory budget worked out term by term, what NF4 and double quantisation actually buy, and the tensor that causes most out-of-memory errors.
6 min read
How Much Data Do You Need to Fine-Tune?
Three published datasets that bracket the range, why the curve flattens so early for behaviour tasks, and a procedure that answers the question for your task instead of in general.
5 min read
Building a Fine-Tuning Dataset From Production Logs
Which requests to select, how to clean them without flattening the distribution, and the two leakage traps that make a fine-tune look better than it is.
5 min read
Supervised Fine-Tuning, Step by Step
What SFT actually optimises, an annotated configuration with a reason for every value, and how to read the loss curve you get back.
6 min read
RLHF Explained Without the Jargon
Three stages, one reward model, and a KL penalty — what each piece is for, written out with the actual loss and the failure it exists to prevent.
5 min read
DPO vs PPO vs GRPO: Preference Tuning Compared
Three ways to turn preferences into weights, compared on the thing that decides between them: how many models must be resident and whether training needs online sampling.
5 min read
Catastrophic Forgetting: What Fine-Tuning Breaks
Why training on a narrow task degrades everything else, what the literature reports about it, and the retention suite that catches it before your users do.
5 min read
Evaluating a Fine-Tuned Model Against the Base
Four evaluation suites rather than one, how many examples you actually need to detect the difference you care about, and why most fine-tuning evaluations cannot detect anything.
5 min read
Serving a Fine-Tuned Model: The Part Nobody Budgets For
Why a fine-tune moves you from per-token billing to per-hour billing, the break-even calculation between them, and the costs that are not compute.
5 min read
Multi-LoRA Serving: Many Adapters, One Base Model
How thousands of per-customer adapters share one base model in memory, the arithmetic that makes it work, and where the arrangement stops working.
5 min read
Distillation: Teaching a Small Model From a Big One
Two different techniques share the name — logit matching and training on generated text — and only one of them is available through an API.
5 min read
Continued Pre-Training for Domain Adaptation
When SFT is the wrong instrument because the corpus is enormous and unlabelled — with the compute budget derived so you can see the gap before committing to it.
5 min read
Synthetic Data for Fine-Tuning: Recipes and Risks
Four published generation recipes, what the model-collapse research actually showed, and the distinction between replacing real data and accumulating alongside it.
5 min read
Fine-Tuning for Format vs Fine-Tuning for Knowledge
Why the same technique works startlingly well for one of these and badly for the other, what the published evidence says, and a test that tells you which you have.
5 min read
The Real Cost of a Fine-Tune, End to End
A four-term cost model you fill in with today's numbers — data, compute, evaluation, serving — and the reason the compute term is almost never the one that matters.
6 min read
Licensing: What You May Legally Fine-Tune and Deploy
The four separate licences that apply to any fine-tune, what the major open-weight licence families actually require of derivatives, and the terms that most often surprise people.
6 min read
Fine-Tuning Failures: The Modes and How to Tell Them Apart
A taxonomy of documented fine-tuning failures — the crashes, the silent ones and the ones that look like quality problems — each with the diagnostic that identifies it.
6 min read
Other topics
- LLM fundamentals & architecture
- Tokens, tokenization & context windows
- Prompt engineering
- Reasoning models & test-time compute
- Multimodal AI: vision, audio, video
- RAG & retrieval
- Embeddings & vector search
- AI agents & tool use
- Structured output & function calling
- Local inference errors, string by string
- Running local models day to day
- Testing code that calls an LLM
- Snapshot and property testing for model output
- Regression suites for prompts
- Eval gates in CI
- Flaky tests against a model
- Determinism and the cost of testing
- Contract and streaming tests
- Testing tool calls and retrieval
- Inference, serving & latency
- Rolling out a prompt change
- Testing AI systems in practice
- Forecasting a time series
- Machine learning on tabular data
- Geospatial data and models
- Understanding audio that is not speech
- Understanding video
- Core computer vision tasks
- Machine learning on graphs
- Point clouds and 3D
- Evaluation, benchmarks & LLM-as-judge
- Sensor and IoT data
- Logs and event streams
- Models over biological sequences
- Machine learning on molecules
- Embedding and searching code
- Extracting invoices and purchase orders
- Receipts, statements and tax forms
- Insurance policies and contracts
- Deeds, court filings and patents
- Extracting from medical records
- Observability & LLMOps
- CVs, certificates and identity documents
- Shipping, customs and technical documents
- Meetings, email, chat and filled-in forms
- Building an extraction pipeline
- Business, property and inspection documents
- Contract clauses and insurance claims
- Regulated and compliance documents
- Consumer, travel and closing documents
- Mapping one chat API onto another
- SDK and framework migrations
- Hallucination & failure modes
- Re-embedding and model deprecation
- Cutting over between providers
- Parity gaps, shims and legacy endpoints
- Moving between model versions
- Migrating vector stores and caches
- Mapping capabilities and parameters
- Migrating pipelines and agents
- Contracts, runbooks and rollback
- Auditing a codebase before a cutover
- Compliance and fine-tune migration
- LLM cost engineering
- Routing, cost tracking and multi-tenancy
- What a migration does to your prompts
- AI security & prompt injection
- Privacy, compliance & data residency
- AI governance, policy & society
- Building reliable AI applications
- AI hardware, GPUs & compute
- Open-weight models & local inference
- AI for developers & coding agents
- AI in industry: vertical playbooks
- AGI, superintelligence, alignment & the long future
- Machine learning foundations
- NLP fundamentals & classical tasks
- Data engineering for AI
- Synthetic data & dataset curation
- AI product design & UX
- Search, ranking & recommendation
- Enterprise adoption & change management
- AI careers, skills & teams
- Reading AI research
- AI in science & discovery
- Robotics & embodied AI
- AI economics, markets & business models
- AI myths, hype & media literacy
- Context engineering
- Shipping AI features: patterns & anti-patterns
- Build it: end-to-end AI tutorials
- Python for AI: hands-on recipes
- TypeScript, React and the web
- Frameworks and SDKs
- Errors and troubleshooting
- AI facts, numbers and statistics
- The history of AI
- The maths behind AI
- Architectures beyond the transformer
- Reinforcement learning
- Diffusion and generative media
- Speech, audio and voice engineering
- Benchmarks, one at a time
- AI search visibility
- Infrastructure and operations
- Databases and storage for AI
- Knowledge graphs and structured knowledge
- Classical ML in production
- Regulation, jurisdiction by jurisdiction
- Prompt recipes and pattern library
- AI for people who do not write code
- Writing, media and creative work
- Edge and on-device AI
- Interpretability and model internals
- Field notes
- OpenAI model behaviour
- Claude model behaviour
- Gemini model behaviour
- Llama model behaviour
- Mistral model behaviour
- Qwen model behaviour
- DeepSeek model behaviour
- Cohere model behaviour
- Grok model behaviour
- Small model behaviour
- Hybrid model architectures
- Token cost by language and script
- Transliteration, romanization and script handling
- Locale-correct output
- Multilingual generation quality
- Multilingual pipelines
- The EU AI Act, article by article
- AI under the GDPR and EU data law
- US AI regulation, state and sector
- International AI governance and standards
- AI litigation and enforcement
- Running AI workloads on AWS
- Running AI workloads on Google Cloud
- Running AI workloads on Azure
- AI at the edge: Workers, Vercel and Netlify
- Serving models on Kubernetes
- Operating AI infrastructure
- Quantization formats and what they cost
- llama.cpp, flag by flag
- Ollama and the desktop local-model runtimes
- Local models on Apple Silicon
- Hardware for local inference
- Running speech and embedding models locally
- Model files, adapters and conversion
- VRAM arithmetic for local models