Fine-Tuning Best Practices and Case Studies¶
What You'll Learn¶
| Objective | Time | Difficulty |
|---|---|---|
| Apply best practices from production projects | 35 min | Advanced |
| Avoid the most common fine-tuning mistakes | ||
| Design an iterative improvement workflow | ||
| Make informed build vs buy decisions |
The Fine-Tuning Decision Framework¶
Before starting any fine-tuning project, run through this checklist:
Step 1: Do You Actually Need Fine-Tuning?¶
Have you tried prompt engineering?
|-- No -> Try it first. 80% of tasks are solved here.
|-- Yes, but results are inconsistent
|
Have you tried few-shot prompting with examples?
|-- No -> Try 3-5 examples in the prompt
|-- Yes, still not working
|
Does the model need external knowledge?
|-- Yes -> Use RAG (retrieval)
|-- No -> Does it need consistent style/behavior?
|-- Yes -> Fine-tune!
|-- No -> Try a different/larger base model
Step 2: Scope the Project¶
| Question | Impact |
|---|---|
| How many distinct tasks? | More tasks = more training data needed |
| How consistent is the desired output? | High consistency = fine-tuning shines |
| What's the acceptable quality threshold? | 90% quality at 10% cost is often worth it |
| What's the expected request volume? | >10K/day = strong ROI for fine-tuning |
| How often will requirements change? | Frequent changes = prompt engineering is more flexible |
Best Practices¶
1. Start Small, Iterate Fast¶
Iteration 1: 100-200 examples, 1 epoch, evaluate
-> Identify gaps in the training data
Iteration 2: Fix data gaps, add 100-200 more examples, retrain
-> Evaluate again, compare to iteration 1
Iteration 3: Refine based on production feedback
-> Deploy if quality meets threshold
Do not try to build a perfect dataset on the first attempt. The fastest path to a good model is rapid iteration.
2. Quality Over Quantity¶
A dataset of 200 excellent examples consistently outperforms 2,000 mediocre ones.
How to ensure quality: - Have domain experts review every training example - Use the "would I be happy if the model gave this exact response?" test - Remove examples where the correct answer is ambiguous - Ensure consistency: all examples should reflect the same style and standards
3. Diverse Training Data¶
Cover the full range of inputs your model will see in production:
| Dimension | Examples |
|---|---|
| Topic coverage | All product categories, departments, scenarios |
| Difficulty levels | Easy, medium, hard, edge cases |
| Input length | Short questions, long multi-part requests |
| Tone | Polite, neutral, frustrated, confused |
| Edge cases | Ambiguous requests, out-of-scope questions, adversarial inputs |
4. System Prompt Strategy¶
Fine-tuning can reduce or eliminate the need for long system prompts:
- Before fine-tuning: Long system prompt (500-2,000 tokens) explaining behavior
- After fine-tuning: Short system prompt (20-50 tokens) or none at all
- Best practice: Include the system prompt in training examples, then gradually shorten it
5. Avoid Catastrophic Forgetting¶
Fine-tuning on narrow data can degrade general capabilities. Mitigate this by: - Including some general-purpose examples in your training data (10-20%) - Using LoRA instead of full fine-tuning (changes fewer weights) - Training for fewer epochs (2-3 is usually sufficient) - Evaluating on both task-specific and general benchmarks
Common Pitfalls¶
Pitfall 1: Overfit to Training Data¶
Symptoms: Perfect scores on training examples, poor performance on new inputs.
Fix: Use a validation set, reduce epochs, increase data diversity.
Pitfall 2: Fine-Tuning for Knowledge¶
Symptoms: Model still hallucates facts despite fine-tuning.
Why: Fine-tuning changes behavior, not knowledge. Use RAG for factual grounding.
Pitfall 3: Inconsistent Training Examples¶
Symptoms: Model randomly switches between different styles or formats.
Fix: Audit training data for consistency. Every example should reflect one clear standard.
Pitfall 4: Not Comparing to Baseline¶
Symptoms: You deployed a fine-tuned model but don't know if it's actually better.
Fix: Always A/B test against the base model with prompt engineering. Fine-tuning should clearly outperform.
Pitfall 5: Ignoring Edge Cases¶
Symptoms: Model works great on typical inputs but fails on unusual requests.
Fix: Include edge cases and graceful failure examples in training data (e.g., "I don't have enough information to answer that").
Case Studies¶
Case Study 1: Customer Service Bot¶
Company: E-commerce platform (50K support tickets/day)
Approach: - Started with GPT-4.1 + long system prompt - Cost: $15K/month in API fees - Collected 500 examples of ideal agent responses - Distilled to GPT-4.1-mini fine-tuned model - Result: 92% quality match at $2K/month (87% cost reduction)
Key Lesson: Distillation from a strong teacher model is often the fastest path to a good fine-tuned model.
Case Study 2: Legal Document Analysis¶
Company: Law firm automating contract review
Approach: - Fine-tuned Llama-3.1-8B on 2,000 annotated contract clauses - Used QLoRA to train on a single A10G GPU - Self-hosted with vLLM for data privacy - Result: 89% accuracy on clause identification, 3x faster than manual review
Key Lesson: Open-source fine-tuning is essential when data privacy requirements prevent using cloud APIs.
Case Study 3: Code Review Assistant¶
Company: Software team automating PR reviews
Approach: - Attempted fine-tuning GPT-4.1-mini on 300 code review examples - Result: Worse than GPT-4.1 with good prompt engineering - Pivoted to: GPT-4.1 + few-shot prompting + RAG (pulling relevant coding standards) - Lesson: Not every use case benefits from fine-tuning
Key Lesson: Complex reasoning tasks (like code review) often work better with larger models + RAG than fine-tuned smaller models.
Production Workflow¶
1. Define success criteria (measurable quality threshold)
|
2. Establish baseline (best prompt engineering with base model)
|
3. Collect/generate training data (200-500 examples)
|
4. First fine-tuning run + evaluation
|
5. Iterate on data quality (2-3 rounds)
|
6. A/B test fine-tuned vs baseline
|
7. Deploy with monitoring
|
8. Collect production feedback for next iteration
|
(repeat from step 3)
Resources¶
- OpenAI Fine-Tuning Cookbook: Practical recipes for common fine-tuning tasks
- Blog: Lessons From Fine-Tuning LLMs in Production: Real-world post-mortems and learnings
- Hugging Face Model Hub: Browse thousands of fine-tuned models for inspiration
- LMSys Chatbot Arena: See how fine-tuned models compare to base models in blind tests
Key Takeaways¶
- Always try prompt engineering and RAG before fine-tuning
- Start with 200 high-quality examples and iterate rapidly
- Quality of training data matters far more than quantity
- Test for regressions on general capabilities, not just your specific task
- Fine-tuning works best for consistent style/behavior changes, not factual knowledge
- Self-hosted open-source models are essential for privacy-sensitive applications
Module Complete!¶
Congratulations on completing the Fine-Tuning & Custom Models module! You now know how to prepare data, train models with OpenAI and Hugging Face, use LoRA for efficient training, evaluate results, deploy to production, and apply real-world best practices.
Next Module: AI Safety & Ethics — Learn to build AI systems that are fair, transparent, and aligned with human values.