Fine-tuning an embedding model is unusually cheap — a base model of a hundred million parameters, fifty thousand pairs and an hour on one GPU. What is not cheap is everything that happens after: a fine-tuned model is a new model, and every vector you have stored becomes incompatible on the day you deploy it.
When this is worth doing
Fine-tuning pays when your domain’s notion of relevance differs from the general one the base model learned. Concretely: your users search with vocabulary the model has never associated with your documents (internal jargon, product codenames, an industry’s terms of art), or your relevance judgements are idiosyncratic in a way no prompt captures — a legal team for whom two superficially similar clauses are not interchangeable, a parts catalogue where the difference between two fittings is the entire point.
It does not pay when retrieval is failing for a reason fine-tuning cannot fix, and it usually is. Bad chunking, missing documents, no lexical index for identifier queries, a query prefix applied on one side and not the other — all of these look like “the model doesn’t understand our domain” and none of them are. Exhaust the cheap fixes first; they are also the reversible ones.






