Building custom LLMs in late 2026
Changing only the inference engine, with weights, decoding and hardware held fixed, moved benchmark scores by up to 16.6 points in one unreplicated preprint. This episode shows how to tell a real capability gain from a serving artifact before you fund a fine-tune, a RAG pipeline or an RL run.
- 00:00 Defining core terminology for custom LLMs
- 01:30 The inference engine benchmark problem
- 03:30 Foundation: retrieval versus fine-tuning
- 05:30 Fine-tuning for behavior and evidence use
- 07:00 LoRA's limits on hard tasks
- 08:00 The QLoRA headline trap
- 09:00 When small tuned models beat large prompts
- 10:00 RL with verifiable rewards: the R1 context
- 11:30 Pass at one gains and capability sharpening
- 13:30 Pipeline bugs over algorithmic limits
- 14:00 Prompt sensitivity and seed variance
- 16:00 Designing a reliable evaluation suite
- 17:30 Prompt caching economics
- 18:30 Fine-tuning versus cache break-even math
- 20:00 Surviving model base upgrades
- 22:00 Three core decision rules for 2026
Read transcript
Retrieval beats fine-tuning for facts; training is for behaviour
Retrieval beats fine-tuning for putting new or changing facts into a model, and fine-tuning earns its place by teaching behaviour (Gekhman et al. (2024), Does Fine-Tuning LL…)(Ovadia et al. (2024), Fine-Tuning or Retri…). A controlled EMNLP 2024 study found models learn unknown facts slowly from fine-tuning (Gekhman et al. (2024), Does Fine-Tuning LL…). And once they memorise those facts, hallucination on what they already knew rises roughly in line (Gekhman et al. (2024), Does Fine-Tuning LL…). So each new fact you train in can cost you an old one.
Two 2024 studies on 7B-class models found retrieval (RAG, fetching documents into the prompt at question time) beat fine-tuning for knowledge (Ovadia et al. (2024), Fine-Tuning or Retri…)(Soudani, Kanoulas & Hasibi (2024), Fine Tu…). Ovadia tested only unsupervised fine-tuning, so this does not prove every recipe loses (Ovadia et al. (2024), Fine-Tuning or Retri…). Retrieval also gives each answer a source and lets you delete a document, which weights do not (Engels, V. (2 Nov 2026), Building custom L…).
But fine-tuning can teach a model to use retrieved evidence well. RAFT, supervised training on citing sources and ignoring distractors, beat plain RAG on Llama-2-7B: 73.3 vs 58.8 on PubMed and 35.3 vs 0.03 on HotpotQA (Zhang et al. (2024), RAFT: Adapting Langua…). That is a preprint without confidence intervals (Zhang et al. (2024), RAFT: Adapting Langua…). Nearly all this evidence comes from 2023–24 models near 7B, and nobody has tested it on 2026 frontier bases (Engels, V. (2 Nov 2026), Building custom L…).
Long context, pasting the whole corpus into the prompt, has no settled winner against RAG. Li et al. found long context scored higher on average, RAG cost far less, and 63% of predictions were identical (Li et al. (2024), Retrieval Augmented Gene…). ChatQA-2 found RAG slightly ahead above 100K tokens, 64.55 vs 64.29 for Llama3-70B (Llama3-ChatQA-2 (2024), long-context vs RA…). And LongRAG beat long-context baselines by 6.94 points with a stronger retrieval design (LongRAG (2024), EMNLP, multi-hop retrieval…). Benchmarks such as LOFT now span 35 datasets with contexts up to 1M tokens (Lee et al. (2024), LOFT: Can Long-Context…), but no controlled study covers 2026 models. The working rule is long context for small dense corpora, RAG for large sparse ones (Engels, V. (2 Nov 2026), Building custom L…).
RAFT beat plain RAG on Llama-2-7B: 73.3 vs 58.8 on PubMed and 35.3 vs 0.03 on HotpotQA.
What this means for listeners: Put facts in retrieval, fine-tune only for behaviour, and test RAG, long context and a router on your own corpus before committing.
LoRA matches full fine-tuning on small jobs, and small tuned models win some narrow tasks
LoRA, a small trainable add-on beside frozen weights, matches full fine-tuning on small and medium supervised jobs but falls behind on large ones (Biderman et al. (2024), LoRA Learns Less a…). Biderman et al. trained on 20B tokens of code: full fine-tuning scored 26.3% on HumanEval against 22.4% for rank-256 LoRA (Biderman et al. (2024), LoRA Learns Less a…). On math, GSM8K was 29.3% vs 20.2% (Biderman et al. (2024), LoRA Learns Less a…). But on instruction tuning the two sat near parity, 49.8 vs 49.7 on code (Biderman et al. (2024), LoRA Learns Less a…).
That gap exists because full-tuning updates had an effective rank 10–100× typical LoRA ranks (Biderman et al. (2024), LoRA Learns Less a…). LoRA kept more general ability, 0.617 vs 0.545, but that edge shrinks at high rank, partly because LoRA learned less (Biderman et al. (2024), LoRA Learns Less a…). On heterogeneous instruction data, one study needed ranks of 2,048–4,096 to match full tuning (LREC-COLING (2024), LoRA rank study on Sup…). A Thinking Machines blog, not peer reviewed, reports parity on small and medium data with LoRA on all linear layers, a higher learning rate, and about two-thirds of the compute per pass (Thinking Machines Lab (2025), LoRA Without…). QLoRA fine-tuned a 65B model on one 48GB GPU, but its "99.3% of ChatGPT" was a GPT-4-judged score on one narrow benchmark (Dettmers et al. (2023), QLoRA, NeurIPS).
Small tuned models can beat big prompted ones on narrow tasks, but the evidence is task by task. A 770M T5 beat few-shot PaLM-540B using 80% of the labels (Hsieh et al. (2023), Distilling Step-by-St…). For exact function calls, fine-tuning beat in-context examples on ToolACE (ToolACE (2024), function-calling fine-tuni…). Fine-tuned Llama-3 reached 91% on emotion classification against about 40–68% for prompting, yet zero-shot prompting matched tuning on another clinical task (Mental-health classification and clinical…). GPT-4 prompting beat the best tuned code model by 8.59 on HumanEval but lost by 28.3 on MBPP (Code adaptation comparison: GPT-4 promptin…). Vendor reports are louder: TinyAgent lifted a 1.1B model from 12.71% to 78.89%, and LoRA Land claims +10 points over GPT-4, neither independently replicated (TinyAgent (2024); Predibase, LoRA Land (20…).
At 20B tokens of code, full fine-tuning scored 26.3% on HumanEval against 22.4% for rank-256 LoRA.
What this means for listeners: Start LoRA at rank 16 on all linear layers, raise rank as data grows, and test any small model on a private eval.
RLVR reliably sharpens first-try accuracy where a checker exists
Reinforcement learning with verifiable rewards (RLVR, rewarding answers a program can check) reliably raises pass@1, the chance the first answer is right (DeepSeek-AI (2025), DeepSeek-R1, Nature)(Lambert et al. (2025), Tülu 3, COLM). DeepSeek-R1-Zero's AIME pass@1 rose from 15.6 to 71.0 during RL (DeepSeek-AI (2025), DeepSeek-R1, Nature). But AIME has only 30 problems, and the final R1 also used supervised stages, so it is not pure RL (DeepSeek-AI (2025), DeepSeek-R1, Nature).
Gains in general post-training are far smaller. Tülu 3's RLVR stage added up to 3.3 points on GSM8K, 84.3 to 87.6, over its DPO model at 8B (Lambert et al. (2025), Tülu 3, COLM). DAPO moved Qwen2.5-32B from 30 to 50 on AIME, but changed algorithm, clipping and sampling at once (Yu et al. (2025), DAPO, preprint).
Whether RL adds new ability is contested. Yue et al. sampled 256 attempts per problem on Omni-MATH: Qwen2.5-7B's pass@1 rose from 9.9 to 26.1 while pass@256 slipped from 67.2 to 66.3 (Yue et al. (2025), Does RL Really Incentiv…). So the base model could already solve those problems, and RL made it find the answer more often. Distillation from a stronger teacher, by contrast, can expand that frontier (Yue et al. (2025), Does RL Really Incentiv…). A "spurious rewards" result, where random rewards lifted Qwen2.5-Math, suggests some Qwen gains come from what the model already knew; that paper was not re-verified (Spurious-rewards paper (2025), random-rewa…).
No controlled evidence covers multi-turn, agentic or soft-verifier RL (Engels, V. (2 Nov 2026), Building custom L…). Practitioners report reward hacking after about 3 epochs and memory at 4–8× supervised fine-tuning, in unverified posts (Practitioner discourse digest, Reddit/X/HF…).
Qwen2.5-7B's pass@1 rose from 9.9 to 26.1 while pass@256 slipped from 67.2 to 66.3.
What this means for listeners: Start RLVR only when you can name the checker and red-team it in a 1–2 day pilot of at least 100 prompts.
Serving details can move scores more than training does
Changing nothing but the serving setup can move a benchmark score more than many fine-tunes gain (The Silent Hyperparameter (2026), arXiv 26…)(Furman, D. (2024), Evaluations with Chat F…). A 2026 preprint held weights, decoding and hardware fixed and swapped only the inference engine across 5 engines; scores moved by up to 16.6 points (The Silent Hyperparameter (2026), arXiv 26…). It is one unreplicated study, and practitioners report 8–12 point swings on sensitive tasks, under 4 once sampling was controlled (Practitioner discourse digest, Reddit/X/HF…). A Hugging Face blog found chat-template handling moved Zephyr-7B-β's IFEval score by about 39 points, on one model (Furman, D. (2024), Evaluations with Chat F…). Peer-reviewed work found prompt-format changes produced up to 76 points of spread on Llama-2-13B (Sclar et al. (2024), Quantifying LMs' Sens…).
Each figure is a single-study maximum measuring a different thing. And 6.5M evaluations across 20 models and 39 tasks show single-prompt scores are unreliable (Mizrahi et al. (2024), State of What Art?…). So promote models on paired comparisons: score both on the same items and put a bootstrap confidence interval on the difference (Engels, V. (2 Nov 2026), Building custom L…). A 200-item paired suite detects about 6–9 points if the systems disagree on 10–20% of items (Engels, V. (2 Nov 2026), Building custom L…). Under Miller's less favourable assumptions, one generation per item, it detects only 13.2 (Miller (2024), Adding Error Bars to Evals…).
Random seeds add noise too. Across 10 seeds, Llama-LoRA's predictions on RTE agreed only 54.51% of the time (Bui et al. (2025), Macro and Micro Effects…). Bespoke-Stratos-7B ranged from 19.3% to 23.0% on AIME across seeds (Reasoning reproducibility audit (2025), pr…).
LLM judges agreed with humans 85% of the time in MT-Bench, against 81% between humans (Zheng et al. (2023), Judging LLM-as-a-Judg…). But agreement varies by judge, task and rubric (Judge-Bench (2024), LLMs Instead of Human…). Contamination, test items leaking into training data, is estimated at 1–45% across benchmarks, and contaminated subsets gained up to 14 points (Yang et al. (2024), An Open-Source Data Co…). Paraphrase or translation slips past n-gram checks (Golchin & Surdeanu (2023/24), contaminatio…).
Swapping only the inference engine moved scores by up to 16.6 points.
Each bar is a maximum from a single study, on a different model and benchmark. They are not comparable effects.
What this means for listeners: Freeze an eval manifest, run a 20–100 item conformance check on the production stack, use at least 3 seeds on close calls, and report paired CIs.
The fine-tune-or-cache break-even depends on your own numbers
A cached prompt now competes with fine-tuning, and the break-even depends on your volume, cache hit rate and training-cycle cost (Engels, V. (2 Nov 2026), Building custom L…). Anthropic charges 1.25× the input price to write a 5-minute cache, 2× for 1 hour, and about 0.1× to read it (Anthropic (2026), prompt caching documenta…). OpenAI charges 1.25× for 30 minutes and 2.5× for 12 hours (OpenAI (2026), prompt caching guide). So the 5-minute cache pays back after one reuse: 1.35 price units against 2.0 uncached (Engels, V. (2 Nov 2026), Building custom L…). But hit rate decides the bill. One worked example costs $0.011 a call at 90% hits, $0.030 at 50% and $0.054 at 0% (Engels, V. (2 Nov 2026), Building custom L…).
Compute is the cheap part. Crusoe lists an H100 at about $3.90 an hour (Crusoe Cloud, on-demand pricing FAQ (refer…), while CoreWeave works out near $6.16 (CoreWeave pricing page; Savrn derivation (…). H100 prices fell from about $7–8 in 2023 to a median of $3.30–3.40 by mid-2026, though some trackers saw a ~40% rise into early 2026 (Engels, V. (2 Nov 2026), Building custom L…). AWS raised capacity-block prices in January 2026 (ITPro (Jan 2026), AWS EC2 Capacity Blocks…). Fireworks charges $0.50 per million training tokens for LoRA up to 16B (Fireworks AI, fine-tuning pricing page (20…). OpenAI bills reinforcement fine-tuning at $100 per training hour (OpenAI Help Center, billing guide for the…), though its self-serve fine-tuning may be winding down (Engels, V. (2 Nov 2026), Building custom L…). A rented H100 at $3.29 beats Together's $0.48 managed rate only above about 2,500 tokens per second per GPU (Engels, V. (2 Nov 2026), Building custom L…).
The full bill is uncertain. The 1.5–3× real-bill multiplier and the $40K–95K estimate for a 70B RL run are unvalidated estimates (Engels, V. (2 Nov 2026), Building custom L…). Break-even calls per year equal cycle cost times cycles per year, divided by per-call savings (Engels, V. (2 Nov 2026), Building custom L…). A $250 cycle breaks even near 340K calls a year; a cycle with $15K of engineering needs about 3.8M at a 90% hit rate (Engels, V. (2 Nov 2026), Building custom L…). One unverified post claims $18K a month saved self-hosting a LoRA'd Qwen3-32B, while others quit fine-tuning when cache prices fell (Practitioner discourse digest, Reddit/X/HF…).
One worked example costs $0.011 a call at 90% hits, $0.030 at 50% and $0.054 at 0%.
One worked example with a 20,000-token cached prefix. The inputs are assumptions; the arithmetic was re-checked.
What this means for listeners: Put your own call volume, cache hit rate and full cycle cost, people included, into the break-even formula before funding any fine-tune.
Plan to re-run the pipeline on every major base upgrade
The durable asset is the pipeline (data recipes, verifiers, eval manifest), because weights rarely survive a base upgrade (Engels, V. (2 Nov 2026), Building custom L…). Moving the Llama 3.0 post-training delta onto Llama 3.1-8B raised IFEval from 36.4 to 83.3 with no new training, in one unreplicated study (Lin et al. (2025), Efficient Model Develop…). Chat-vector work corroborates this within a family, but the effect fades as bases drift apart (Huang et al. (2024), Chat Vector; Cao et a…). Merging works on a shared base: two task vectors kept about 98.9% of accuracy, eight about 91.2% (Ilharco et al. (2023), Task Arithmetic, IC…). And 500 MATH samples reproduced much of an RL policy by re-distillation, within one model generation (Re-distillation study on Qwen2.5-1.5B (202…).
No study validates the full upgrade ladder end to end (Engels, V. (2 Nov 2026), Building custom L…). So climb it cheapest first, and stop at the first rung that passes your paired eval (Engels, V. (2 Nov 2026), Building custom L…):
- Evaluate the untouched new base with your prompt (Engels, V. (2 Nov 2026), Building custom L…).
- Mount the old LoRA only if architecture, tokenizer, special tokens and chat template are identical (Engels, V. (2 Nov 2026), Building custom L…).
- Within one family, try delta transfer (Lin et al. (2025), Efficient Model Develop…).
- Otherwise regenerate data and re-distil, then re-run the full pipeline (Engels, V. (2 Nov 2026), Building custom L…).
For data, start with 500–2,000 curated examples for style and 5K–50K for a robust narrow skill (Engels, V. (2 Nov 2026), Building custom L…). Filtering beats volume, though that edge weakens at scale (Engels, V. (2 Nov 2026), Building custom L…). Keep real data in every mix: replacing real data with synthetic data each generation causes collapse, while accumulating it does not (Shumailov et al. (2024), AI Models Collaps…). Unsloth's claimed 2× speed holds on one GPU with short sequences, shrinking to about 1.1× for a 30B mixture-of-experts model at 16K context (Engels, V. (2 Nov 2026), Building custom L…).
Before distilling, have counsel read the teacher's terms: Anthropic requires authorisation and OpenAI restricts training competing models (Engels, V. (2 Nov 2026), Building custom L…). One unverified reading says the EU AI Act's one-third-of-compute provider threshold almost never applies to LoRA runs (Analyst reading of EU AI Act downstream-mo…).
Moving the Llama 3.0 post-training delta onto Llama 3.1-8B raised IFEval from 36.4 to 83.3 with no new training.
Stop at the first rung that passes your paired eval. No study has validated the whole ladder end to end.
What this means for listeners: Budget a full pipeline re-run for each major base generation, and treat adapter or delta reuse as a saving when it passes.
- Gekhman et al. (2024), *Does Fine-Tuning LLMs on New Knowledge Encourage Hallucinations?*, EMNLP
- Ovadia et al. (2024), *Fine-Tuning or Retrieval? Comparing Knowledge Injection in LLMs*, EMNLP
- Soudani, Kanoulas & Hasibi (2024), *Fine Tuning vs. RAG for Less Popular Knowledge*, ACM
- Engels, V. (2 Nov 2026), *Building custom LLMs in late 2026*, multi-source research report (synthesis, partly circular with tool digests)
- Zhang et al. (2024), *RAFT: Adapting Language Model to Domain-Specific RAG*, preprint
- Li et al. (2024), *Retrieval Augmented Generation or Long-Context LLMs?*, EMNLP Industry
- Llama3-ChatQA-2 (2024), long-context vs RAG comparison, preprint
- LongRAG (2024), EMNLP, multi-hop retrieval design
- Lee et al. (2024), *LOFT: Can Long-Context LMs Subsume Retrieval, RAG, SQL and More?*, preprint
- Biderman et al. (2024), *LoRA Learns Less and Forgets Less*, TMLR
- LREC-COLING (2024), LoRA rank study on Super-NaturalInstructions (757 tasks)
- Thinking Machines Lab (2025), *LoRA Without Regret*, research blog (not peer reviewed)
- Dettmers et al. (2023), *QLoRA*, NeurIPS
- Hsieh et al. (2023), *Distilling Step-by-Step!*, ACL Findings
- ToolACE (2024), function-calling fine-tuning on BFCL, preprint
- Mental-health classification and clinical prompting studies (2024), small studies
- Code adaptation comparison: GPT-4 prompting vs fine-tuned code models (2024)
- TinyAgent (2024); Predibase, *LoRA Land* (2024), vendor technical reports
- DeepSeek-AI (2025), *DeepSeek-R1*, Nature
- Lambert et al. (2025), *Tülu 3*, COLM
- Yu et al. (2025), *DAPO*, preprint
- Yue et al. (2025), *Does RL Really Incentivize Reasoning Capacity Beyond the Base Model?*, NeurIPS
- Spurious-rewards paper (2025), random-reward RLVR on Qwen2.5-Math (cited second-hand, not re-verified)
- Practitioner discourse digest, Reddit/X/HF/Discord, Oct–Nov 2026 (opinion, unverifiable)
- *The Silent Hyperparameter* (2026), arXiv 2605.19537, unreplicated preprint
- Furman, D. (2024), *Evaluations with Chat Formats*, Hugging Face blog
- Sclar et al. (2024), *Quantifying LMs' Sensitivity to Spurious Features in Prompt Design*, ICLR
- Mizrahi et al. (2024), *State of What Art?*, TACL
- Miller (2024), *Adding Error Bars to Evals*, arXiv
- Bui et al. (2025), *Macro and Micro Effects of Random Seeds on Fine-Tuning LLMs*, IJCNLP-AACL
- Reasoning reproducibility audit (2025), preprint
- Zheng et al. (2023), *Judging LLM-as-a-Judge with MT-Bench and Chatbot Arena*, NeurIPS D&B
- Judge-Bench (2024), *LLMs Instead of Human Judges?*, preprint
- Yang et al. (2024), *An Open-Source Data Contamination Report*, EMNLP Findings
- Golchin & Surdeanu (2023/24), contamination detection; ACL 2024 code-contamination study
- Anthropic (2026), prompt caching documentation (read via mirror)
- OpenAI (2026), prompt caching guide
- Crusoe Cloud, on-demand pricing FAQ (references Oct 2025)
- CoreWeave pricing page; Savrn derivation (Oct–Nov 2026)
- ITPro (Jan 2026), AWS EC2 Capacity Blocks price increase
- Fireworks AI, fine-tuning pricing page (2026)
- OpenAI Help Center, billing guide for the Reinforcement Fine-Tuning API
- Lin et al. (2025), *Efficient Model Development through Fine-Tuning Transfer*, EMNLP
- Huang et al. (2024), *Chat Vector*; Cao et al. (2025), *ParamΔ*, ICLR
- Ilharco et al. (2023), *Task Arithmetic*, ICLR; Yu et al. (2024), *DARE*, ICML
- Re-distillation study on Qwen2.5-1.5B (2025), via research digest
- Shumailov et al. (2024), *AI Models Collapse When Trained on Recursively Generated Data*, Nature; accumulation follow-ups
- Analyst reading of EU AI Act downstream-modifier threshold (Claude digest, unverified)