Why Fine-Tune? A Real-World Example
Fine-tuning isn't just a theoretical concept—it's a practical necessity for many production tasks. To illustrate, let me share a personal case from our work.
We fine-tuned a 7B parameter model that completely outperforms foundation models, but only for a very specific subtask: filling out synoptic reporting templates for breast cancer. This is a notoriously difficult task, involving complex input formats, branching logic, and fields that must appear in a strict order. The model needed to correctly identify which of 40 histologic subtypes trigger which subset of fields, with zero hallucinations—an impossible task for a simple conditional table. A single error invalidates the entire output.
Initially, using aggressive system prompts and light RAG with Claude Opus 4.6, our accuracy was only ~35%. We had to include the full template and a detailed guide in the context, roughly 30k tokens per call. Results were riddled with omissions, unnecessary subsections, and hallucinations, forcing manual review of every document—a total non-starter.
After fine-tuning a Mistral 7B model (with QLoRA), accuracy skyrocketed to ~98%. I was stunned by how effective it was. Here's a visual comparison:
Prompt + RAG
███████░░░░░░░░░░░░ 35%
QLoRA
███████████████████░ 98%
This represented a 63 percentage point improvement and completely eliminated API costs for that task. Our initial cost estimate for running this at scale with the frontier model was around $320,000, but we did it for free (excluding the cost of fine-tuning, running a local model, or measuring energy usage per call).
That's why you fine-tune. Despite common belief, RAG and system prompts won't solve all problems—they're not a universal substitute for fine-tuning.
In This Guide
This guide covers four key areas:
- When to Fine-Tune: The RAG vs. Fine-Tune debate, with clear criteria.
- The Mathematical Intuition Behind LoRA/QLoRA: Understanding how these methods work.
- Technical Implementation Details: A step-by-step walkthrough.
- Evaluating with a Custom Harness: How to measure success beyond simple accuracy.
- Legacy Enterprise Documents: Large companies have deeply idiosyncratic templates with many conditional branches.
- Court/Legal Documents: Formats vary by jurisdiction, and these forms weren't in the LLM's training data—they represent new knowledge.
- Medical Forms: Complex, with redundant info, and precision is critical.
- LoRA (Hu et al., 2021) hypothesizes that weight updates during fine-tuning have a low intrinsic rank. Instead of updating the full weight matrix W, it learns a low-rank decomposition: ΔW = BA, where B and A are smaller matrices. This reduces trainable parameters by up to 10,000x.
- QLoRA (Dettmers et al., 2023) takes this further by quantizing the base model to 4-bit precision (NF4) and freezing it, then applying LoRA adapters on top. This cuts memory usage dramatically, enabling fine-tuning of large models on a single GPU.
- Field completeness: Presence of all required fields.
- Field correctness: Verifying values against expected types (e.g., dates, codes).
- Logical consistency: Checking conditional branches (e.g., no contradictory info).
- Format fidelity: Exact match to template structure.
- Use fine-tuning for tasks with strict formatting, complex logic, or high API costs.
- LoRA/QLoRA keeps costs manageable without sacrificing performance.
- Always build a robust evaluation harness to validate improvements.
By the end, you'll know when to fine-tune, why it works, and exactly how to implement it in practice.
When to Fine-Tune
So, do you actually need to fine-tune? Maybe. Look for one of these fine-tuning patterns:
1. Rigid, Highly Specific Formatting Requirements
If your LLM must output complex, unforgiving formats where a hallucination (like a missed or added field) is costly, fine-tuning is often essential. Examples include:
2. Cost Constraints
If you're sending thousands of tokens in a system prompt on every API call, at scale, that's real money and latency. A fine-tuned model that has internalized those patterns needs neither.
3. Complex Instructions and Combinatorial Explosions
System prompts work for simple constraints, but break when rules overlap. If your task involves a massive decision tree (e.g., "If A, do B, but if C and A, do D, unless E is present..."), you'll hit a wall. Fine-tuning lets the model learn these rules from examples, handling complexity gracefully.
The Mathematical Intuition Behind LoRA and QLoRA
Fine-tuning a full LLM is expensive—it updates millions of parameters. LoRA (Low-Rank Adaptation) and QLoRA (Quantized LoRA) offer a smarter alternative.
Why it works: For tasks like template filling, the necessary adjustments are usually simple transformations (e.g., "always include field X when Y"). Low-rank matrices capture these patterns efficiently without needing full fine-tuning.
Technical Implementation: A Step-by-Step Guide
Here's how to fine-tune with QLoRA, using our Mistral 7B example.
Step 1: Prepare Your Dataset
Collect examples of ideal inputs and outputs. For our case, each example was a patient's medical summary and the correct synoptic report. Aim for at least 500-1000 examples, and clean them for consistency.
Step 2: Load the Base Model and Quantize
Use a library like bitsandbytes to load Mistral 7B in 4-bit NF4 format. Then, attach LoRA adapters to key layers (e.g., attention modules).
Step 3: Configure LoRA Hyperparameters
Set the rank (e.g., r=8 or 16), alpha (scaling factor), and dropout. For our task, we used r=8, alpha=16, and dropout=0.05.
Step 4: Training
Use a suitable loss function (cross-entropy for text generation). Set a learning rate around 2e-4 with a cosine scheduler. Train for 3-5 epochs, monitoring validation loss.
Step 5: Merge and Export
After training, optionally merge the LoRA weights into the base model for efficient inference. Export to a format like GGUF for local deployment.
Step 6: Deploy Locally
Running locally eliminates API costs and latency. We deployed using vLLM for high throughput.
Evaluating with a Custom Harness
Standard metrics like BLEU aren't enough. Build a custom evaluation harness that checks:
In our case, we automated scoring by parsing a golden dataset. This gave us the 98% figure—measured as the percentage of reports that passed all checks.
Final Thoughts: Fine-Tuning in 2026
In 2026, fine-tuning remains a critical tool, especially as models become more capable. With QLoRA, it's accessible to teams with modest hardware. Key takeaways:
If you're hitting limits with prompts and RAG, fine-tuning might be the unlock you need.
Note: Our initial cost estimate of $320,000 was based on API usage projections; fine-tuning and local inference made it effectively free, though we excluded the amortized cost of training and energy.
