What it is
Fine-tuning means training an existing model further on your own examples so it does one task better. We use open-weight models such as Llama and Mistral, which are models whose files you download from Hugging Face and run yourself. The result is a model your business owns, running on your own servers or in your own cloud account.
The tasks are narrow:
- Classification, such as sorting a claim, an email or a transaction into the right category
- Extraction, such as reading the fields from a loan application, a policy schedule or a supplier invoice
- House style, such as writing a file note, a credit memo or a client letter the way your team writes them
When it is not worth it
Most tasks start with prompting and retrieval, and many end there. A clear prompt with a few worked examples handles a lot of classification and extraction. Retrieval gives the model facts from your documents, and fine-tuning is a poor way to teach a model facts.
Fine-tuning is not worth it when:
- The model lacks facts rather than skill, which retrieval fixes and fine-tuning does not
- The prompt-only version still improves each time someone works on the prompt
- Volume is low, and a larger model with a longer prompt costs less than a training pipeline
- The task changes often, and each change needs a new training set
We put the answer in writing at the end of the suitability check. The engagement stops there if the answer is no, and you keep the test set for the prompt-only version.
When it is worth it
Fine-tuning is worth it when a narrow task runs at high volume and its output follows a fixed format or a house style. The prompt-only version also has to stop improving on your test set. A smaller tuned model can also replace a large general model on that one task. The smaller model needs less hardware, which matters when it runs on your own servers.
Evaluation
We build the test set first, from your own records, and hold it back from training. The model never sees it, and it catches a model that memorised its training examples. Every version of the model is scored on it against two baselines. The first is the base model before tuning. The second is the best prompt-only version we can build on the same model.
The tuned model goes live only if it beats both on the measures you agree at the start. Examples are accuracy per category or the share of fields extracted correctly. The scores come to you as a table with the errors listed, and a person can read what each version gets wrong.
Training and serving
Training uses LoRA (low-rank adaptation), a method that trains a small set of added weights rather than the whole model. That keeps a training run within hardware a business can own or rent, such as one or more NVIDIA GPU servers. The training data, the test set and the tuned model stay in your environment.
MLflow records each training run with the version of the training data, the settings and the scores. The tuned weights go into the MLflow model registry with a version number. vLLM serves the tuned model inside your environment, and on-prem AI deployment covers how we host it, log requests and control access.
You roll back to the previous version in the registry if a new one performs worse in production.
Where it fits
A tuned model is usually one step inside a larger process. An extraction model reads the fields from a document. A workflow automation build then routes them, checks them and puts a person where an error costs money. A classification model can sort the documents that LLM integration and RAG then searches. The labelled records it trains on often come out of data engineering work already done.
Handover
Your team gets the training code, the training set, the test set and a retraining procedure in your own repositories. The procedure covers how to add new labelled records, run a training job, score it against the test set and promote it in the registry.