Migration guide

OpenAI fine-tuning is winding down. Here is the way out.

Updated July 15, 2026

The final date is January 6, 2027: after that, no one can create new fine-tuning jobs. Your models keep serving, but you can never retrain them again. This page covers what actually changes, the three paths from here, and a migration that ends with proof instead of hope.

The dates, exactly

From OpenAI's own deprecations page (source at the bottom). Inference on existing fine-tuned models is not affected until the underlying base model is deprecated.

May 7, 2026passedOrganizations that never ran fine-tuning can no longer create training jobs.
July 2, 2026passedOrganizations with no fine-tuned inference in the past 60 days lose the ability to create new jobs.
January 6, 2027Active existing customers can no longer create new fine-tuning jobs. Inference on existing models continues until the base model is deprecated.

What you keep, what you lose

You keep inference, for now. You lose iteration. That distinction is the whole problem: a fine-tuned model is not a finished artifact, it is a snapshot of your task as of its last training run. Your task will drift. Your model no longer can.

And the weights were never yours. OpenAI fine-tunes run only on OpenAI infrastructure and cannot be exported. The one thing you fully own is the training data, which makes it the thing to secure first.

Fine-tuning is not shutting down alone

Two adjacent OpenAI platforms wind down first, on November 30, 2026: the reusable prompts API (v1/prompts and prompt objects) and the Evals dashboard and API. Evals become read-only on October 31, 2026. Both dates come from the same deprecations page as the fine-tuning cutoff.

If your quality checks live in OpenAI Evals, export those test cases along with your training data; they are the seed of the held-out set in step two below. Prompts stored in the prompts API move into your own code or repository, where an optimizer can work on them. The migration below covers all three shutdowns with one motion: your data, your evals, and your prompts end up as files you own.

Three paths from here

  1. Ride it out. Keep serving the frozen model until its base model is deprecated. Zero work today. The cost shows up later, as quality drift you can no longer fix and a harder migration on someone else's schedule.
  2. Go back to prompting a frontier model. Reasonable for tasks where a well-optimized prompt gets close to your fine-tune. You trade the training loop for a bigger per-call bill.
  3. Move to an open model you own. More work up front, and the only path where this never happens to you again. The rest of this page is the honest way to do it.

Coming from TensorZero or legacy OpenPipe instead of OpenAI? Their shutdowns changed the options: see what replaces TensorZero or OpenPipe, job by job.

The migration, in five steps

01

Export your training data now

The weights stay on OpenAI's servers forever, but the data is yours. Collect the JSONL files you trained with, and if you have been logging production requests, pull those too. This dataset is the asset that survives the migration; treat losing it as the actual emergency.

02

Turn it into an eval set, not just a training set

Have someone who knows the task verify a few hundred examples by hand and hold out a slice that no training run ever touches. Every decision that follows, which model, which method, switch or do not switch, gets made by scoring against this held-out slice. Without it you are migrating on vibes.

03

Pick a model you can own

For extraction, classification, and other repeatable structured work, small open models are the sane default: Apache-2.0 licensed (Qwen, for example), cheap to fine-tune with LoRA, and the weights live wherever you put them. Nobody can wind them down.

04

Try the cheap fix before the expensive one

Sometimes you do not need a fine-tune at all. Optimizing the prompt against your verified data (DSPy's GEPA does this well) recovers a surprising amount of quality for a fraction of the effort. On our receipt-extraction benchmark it lifted gpt-5.4-mini from 72.92 to 79.58. Run this first; it also gives you the baseline your fine-tune has to beat.

05

Prove parity, then switch with a way back

Score the candidate on the held-out slice. If it meets your bar, move traffic gradually and keep the old route one config change away. If it does not meet the bar, do not switch. A migration that ends in a quality regression is worse than the deadline it solved.

Does a small open model actually hold up?

On the right task class, yes, and you should not take our word for it. Our largest public run: receipt extraction on 200 real scanned receipts (SROIE, human-annotated), same 60-row held-out slice for every configuration.

gpt-5.4-mini, baseline prompt72.92
gpt-5.4-mini, GEPA-optimized prompt79.58
Qwen 4B, no fine-tune42.50
Qwen 4B, LoRA fine-tuned on 140 verified rows89.17

60 held-out rows is a modest eval, so treat the exact numbers as directional. A second, smaller task (JSON extraction, 100 rows) shows the same pattern. Rerun everything yourself: the benchmark repo.

Where Apprentice fits

Apprentice is the loop described above, as a product: upload or capture your examples, verify the good ones, and it optimizes the prompt against your data and reports the before and after on held-out rows. When a run does not improve the score, it says so. The model-replacement half, fine-tune, eval gate, gradual takeover with rollback, is being built now and is marked coming soon everywhere until it ships.

If you are carrying OpenAI fine-tunes and a deadline, we are taking a small number of design partners for exactly this migration.

Related: what makes a row verified, and every guide.

Common questions

Do my OpenAI fine-tuned models stop working on January 6, 2027?
No. Inference on existing fine-tuned models continues until the underlying base model is deprecated. What ends on January 6, 2027 is the ability to create new fine-tuning jobs, so you can no longer retrain or iterate.
Can I download the weights of my OpenAI fine-tuned model?
No. OpenAI fine-tuned models run only on OpenAI's infrastructure and the weights cannot be exported. What you can take with you is your training data, which is why exporting it now matters.
Which open model should replace a fine-tuned GPT model?
For structured tasks like extraction and classification, small Apache-2.0 models such as Qwen 4B fine-tune well on a few hundred verified examples. In our largest public benchmark (receipt extraction, 200 real scanned receipts) a LoRA fine-tuned Qwen 4B scored 89.17 on a 60-row held-out slice versus 79.58 for the prompt-optimized gpt-5.4-mini baseline, with the caveat that 60 rows is still a modest eval.
How do I know the replacement is as good before switching?
Hold out a slice of human-verified examples the training never saw, score both models on it with a deterministic metric, and only switch if the replacement meets your bar. If a run does not reach parity, the honest answer is to keep the frontier model and say so.
Can I still create fine-tuning jobs before January 2027?
It depends which gate you are behind. Organizations that never ran fine-tuning lost access on May 7, 2026. Organizations with no fine-tuned inference in the previous 60 days lost it on July 2, 2026. Everyone else keeps it until January 6, 2027. If your account has been idle, assume the door is already closed and check before you plan around it.
How do I export my OpenAI fine-tuning training data?
The JSONL files you trained with are the asset, and the copy that matters is the one you hold. Do not assume you can re-download uploaded training files from OpenAI; the Files API has not reliably allowed downloads for fine-tune files. If you no longer have the originals, your production logs are usually the best source to rebuild the dataset. Export your OpenAI Evals test cases too, before the Evals dashboard goes read-only on October 31, 2026.
What happens to my fine-tuned projects in the OpenAI dashboard?
Your job history and models stay visible, and existing models keep serving until their base model is deprecated. What ends is iteration: after your cutoff you cannot create new training jobs, so the project is frozen at its last run. Treat the dashboard as read-only history and secure your data while access is simple.
What does OpenAI recommend instead of fine-tuning?
Prompting, retrieval, and tool use on its base models. That is a real answer for many tasks, and an optimized prompt is the cheap fix this page recommends trying first. It is not an answer to the two reasons most teams fine-tuned: per-call cost and task-specific quality on structured work. For those, the path that cannot be wound down again is a small open model you own, proven against your own held-out data.

Sources

Apprentice
© 2026 Apprentice · Eval-gated LLM replacement