Finetuning: what we need
What Beam needs from a finetuning platform, and where we'd start.
The promise: higher accuracy than the frontier model our customers run today, at lower cost. Both together. Lower cost at lower accuracy doesn't sell: no customer swaps a model that works for a cheaper one that makes more mistakes.
What we need: a finetuning platform that runs the loop in section 2, on the terms in section 3.
How we'd start: a 3-week test on the traces of our biggest customer (section 4).
1The case: our biggest customer
A German debt-collection group. Our agents process the post its debtors send in.
What the agents do
The customer receives a constant stream of post from debtors and their lawyers: scanned letters and emails. Our agents read each one, classify it, extract the case data and contacts, and write the result into its case management system.
- Two agents are live: insolvency mail, and requests for instalment plans.
- Around 40k tasks a month, all in German, on a dedicated EU instance.
- Accuracy is what the customer cares about: the extracted data decides what happens on a debtor's case, and they want every task right without a human checking it.
Today: cost or accuracy, not both
- Moving the agents from GPT-5 to GPT-5.5 took LLM cost from $0.35 to $0.64 a task in one week: from about $14k to $25.5k a month.
- Moving the evals to a cheap model brought it back to about $0.36 a task, around $14k a month. The step that does the work still runs on GPT-5.5.
- The cheaper model we tested for that step held up on most fields but dropped to 71% on one, against 80–82% for GPT-5, GPT-5.5 and Claude Sonnet 4.6 (607 cases).
So today, cutting cost means giving up accuracy. We want both.
2What the platform has to do
Four stages, run as a loop. Each point says what we need and why.
Teach
Where the accuracy comes from.
The teacher should be a frontier model.
The finetune learns from the strongest model available (eg. Fable), not from the model the customer runs today. Why a frontier model:
- It has a better world model, so it can handle cases we never trained or tested for.
- It fills the gaps when the prompt isn't specific, and makes a sensible call where a smaller model would guess.
How we'd use it:
- Run it on the customer's real traffic for a while, even if they run Haiku or Opus today.
- Train the finetune on its outputs, plus the historical traces and reviewer feedback we already have.
- Specialised on one task and trained on frontier-level data, the finetune can beat the model the customer runs today.
We decide what counts as high quality data.
We know our customers' processes, so we want to define what a good output looks like, using our own signals:
- Evals that catch the errors we know about
- Code checks, eg. schema validation or business rules
- Human feedback from the people who review the agent's work
- More as we learn what matters
Only outputs that pass go into training. Better data is where the accuracy comes from.
Serve
Where accuracy has to hold on live traffic.
The finetune has to beat the frontier model, including on inputs it hasn't seen.
Our customers switch when cost goes down and accuracy goes up. A finetune that is accurate on familiar inputs but slips on new ones fails that, so accuracy has to hold across all their traffic.
One approach we have in mind is a router in front of the finetune:
- For each request, check whether it belongs to the distribution the finetune was trained on.
- If it does, the finetune answers.
- If not, the frontier model answers, and the request becomes training data for the next round.
Happy to hear other ways of getting there.
Prove
Where the promise becomes a measurement.
A finetune only goes live if it beats the customer's current model.
That is the promise, so it has to be measured, not assumed.
- Before launch: benchmark every finetune against the model the customer runs today, on their own data.
- In production: keep comparing, eg. send 5% of requests to both.
We can pull the evidence through an API.
Our customers sign off on every model change. To earn their trust, we have to show them how the finetune performs against the frontier model, not just tell them. So we want to fetch a report through the API that we can put in front of them:
- Accuracy per field, finetune vs frontier, on the held-out set and on sampled live traffic
- How that changes over time, so a regression shows up before the customer notices it
- Example cases where the two disagree, with the reviewed answer
- Cost per task, and the share of traffic the finetune handles
It has to work without our customers defining anything.
Our customers won't write evals, so it has to work out of the box.
- Good defaults from the agent's output schema: exact match per field, a valid schema, null instead of a guess.
- On top of that, our own domain-specific evals that catch known errors.
- An API to send human feedback on individual outputs.
Retrain
Where accuracy is kept, month after month.
Accuracy regresses over time, so training never stops.
We see this with clients, for two reasons:
- Domain logic changes. A frontier model handles new data better than a finetune.
- Agent configs change: prompts, docs, data from integrations. A new prompt means new outputs, and the finetune has to follow.
When the config changes, the frontier model takes over until the finetune catches up.
We'd tag each request with a config version. A finetune is only valid for the version it was trained on, so:
- When the config changes, traffic goes back to the frontier model.
- A retrained finetune takes over once it passes the evals on the new version.
- The requests routed to the frontier model (see Serve) become training data for the next round.
3Platform terms
What has to be true around the loop. Points tagged Later aren't needed for a first test, but we'll need them in production.
Integration
It has to be a drop-in replacement for OpenAI.
Our system runs on OpenAI-style APIs, so switching should mean changing the base URL. That includes structured outputs with JSON schema, since many of the errors we see are format errors.
Pricing
Serving should be priced per token, with many finetunes on one base model.
Like Fireworks. We'll have a finetune per agent, and sometimes per end client: one customer has around 50 client-specific configs. A dedicated GPU for each doesn't work.
Training should be billed by GPU minutes.
Like Modal. We retrain often, so training runs need to stay cheap.
Discounts for work that doesn't need an answer right away. Later
A lot of agent work is back office: incoming post, document runs, evals and retraining. It needs to be done today, not this second. We want to pay less for that, the way every major provider already charges less:
| Turnaround | What we'd expect | What the market charges today |
|---|---|---|
| Real time | Standard price | Standard price |
| Within 4 hours | At least 30% off | Fireworks Spot: 30% off. Flex tiers at Google and OpenAI: 50% off, with minutes of delay |
| Within 24 hours | 50% off | 50% off batch at OpenAI, Anthropic, Google, AWS Bedrock, Fireworks and Together |
| Training, whenever capacity is free | At least 60% off on-demand GPU time | AWS Spot GPUs: up to 90% off. SageMaker managed spot training: up to 90%, 65–70% in AWS's own examples |
We finetune to save cost, and we retrain often. Without these tiers, retraining and back-office volume eat into the savings.
Operations
You run the GPUs.
Uptime and GPU utilisation come with a lot of complexity, and we don't want to take that over. Our customers already accept finetuning providers like Fireworks.
Data and compliance
Data stays in the EU, and our customers can approve you.
Our customers are German enterprises processing personal data. Our contracts need their written approval before we share any data with a new subprocessor, including historical traces. To get that approval, we need:
- EU hosting, with the processing and access locations stated
- A DPA and your subprocessor list
- Zero data retention, with clear security and deletion arrangements
- No rights to reuse our data or the models trained on it
We also want to be able to export the finetuned weights.
Versioned models we can audit end to end. Later
Customers in insurance and banking have to show auditors how each decision was made, internal auditors and external ones. With a finetune in the loop, that means following the whole trace for any output:
- Which model version answered, and which base model and training run it came from
- Which training data and quality checks went into that version
- The evidence report it passed before going live
- The config version, input and output of the request itself
We also need to:
- Keep old versions and their logs for as long as the customer's regulation requires
- Pin a customer to a version, and roll back to an earlier one
Under the EU AI Act, credit scoring and life and health insurance pricing are high-risk systems. They need automatic logs kept for at least six months, longer where financial-services law requires, and handed to regulators on request. Those duties apply from December 2027 (Article 12).
4The pilot: a 3-week test on our biggest customer's traces
Where we'd start, what counts as a pass, and what we expect it to save.
Plan
- Week 0: you share your DPA, subprocessor list and hosting details. We get the customer's written approval.
- Week 1: we share the customer's historical traces. You relabel them with Fable, run our quality checks and train.
- Week 2: benchmark the finetune against GPT-5.5 on a held-out set of tasks with reviewer-confirmed answers. No live traffic yet.
- Week 3: shadow test on a sample of live tasks, then we take the results to the customer.
Success criteria
| What | Bar for a pass |
|---|---|
| Accuracy | At least as accurate as GPT-5.5 on every field group (classification, case data, contacts), on the held-out set |
| Format | Schema-valid output at least as often as production today |
| Coverage | The finetune handles at least 85% of tasks; the rest go to the frontier model |
| Cost | At least 70% lower LLM cost per task, counting fallback, sampling and evals |
| Time | First benchmarked finetune within 3 weeks |
What we share, what we expect
We share
- Historical traces from both live agents: document text in, structured output out (216k tasks in Jan–Jul 2026 alone)
- The agent configs: prompts, output schemas, reference docs
- Reviewer feedback and corrections from the customer's feedback loop
- A test set with confirmed answers, plus today's accuracy and cost per task
We expect
- A finetuned model on an OpenAI-compatible EU endpoint we can point a test agent at
- A per-field benchmark report against GPT-5.5 that we can show the customer
- The all-in cost per task at the customer's volume
- A first result within 3 weeks
Nothing is shared before the customer's written approval.
What we expect it to save
The customer's LLM cost is about $0.36 a task today, around $14k a month at 40k tasks. We expect the finetune to bring that down by 70–80%, to about $3–4k a month. A 10x cut, to around $1.5k, is the stretch goal.