OpenAI Fine-Tuning → Axolotl
What it saves, what actually moves, what you rebuild — and the thing that catches people.
What it costs, and what it saves
From per-token training plus a permanent per-call inference premium, to a few dollars of rented GPU time and then nothing. The durable saving is the inference premium: a fine-tuned OpenAI model costs more per call than its base model, forever.
Moves cleanly
Your training data — the JSONL file. It is the only portable asset the OpenAI process produces, which is precisely the argument for leaving.
You rebuild
Everything else. The weights never leave OpenAI, so this is not an export, it is training again from scratch on an open base model. Treat it as a new project that happens to reuse your dataset.
What OpenAI Fine-Tuning costs you today
Usage-based with no subscription: you pay per million training tokens, then a higher per-token rate for inference on the fine-tuned model than on the base model. Rates vary by model class. A modest fine-tune costs a few dollars to train; the durable cost is the inference premium you then pay on every call, forever.
What actually holds you in
High, and structurally so. Your training data is portable — it is your JSONL file — but nothing else is. The adapter weights never leave OpenAI, so 'migrating' means retraining from scratch on a different base model, which is a real project rather than an export. The mitigation is to keep your training set clean, versioned and provider-agnostic from day one, because that file is the only part you actually own.
What you are moving to
Axolotl wraps the messy parts of fine-tuning — dataset formatting, tokenization, LoRA and QLoRA configuration, multi-GPU sharding, gradient checkpointing — behind a single YAML config. It supports most mainstream open model families and both adapter and full fine-tunes, and it has become the de facto shared vocabulary of the open fine-tuning community, which means the config you need has usually already been written by someone else. The output is adapter weights on your disk, which you own outright.
Free. You rent or own the GPU; a small LoRA can cost a few dollars of rented time.
Axolotl strengths
- One YAML file covers dataset, method and hardware configuration
- Broad model-family support, LoRA/QLoRA and full fine-tuning
- Large community — working configs are usually already published
- Produces weights you own and can run anywhere
What you give up
- You supply the GPU and the environment
- The config surface is wide enough to be its own learning curve
- Fast-moving project; pinning versions matters for reproducibility
The migration, step by step
- 1Ask honestly whether fine-tuning is the right tool. Retrieval solves 'the model does not know my facts' better and cheaper. Fine-tuning earns its place for consistent format and tone, or for making a smaller model good enough to replace a larger one.
- 2Pick an open base model in the size class you actually need. Do not start with the largest one — a well-tuned small model that fits on one GPU beats a large one you cannot afford to serve.
- 3Convert your JSONL to the chat format Axolotl expects. Usually a short script; the fields differ but the content does not.
- 4Write the YAML: base model, LoRA rank and alpha, learning rate, sequence length. Start from a published config for your model family rather than from scratch.
- 5Train. A LoRA on a small model is a few hours on one rented GPU — often single-digit dollars. Use Unsloth instead if VRAM is your binding constraint.
- 6Evaluate against the OpenAI fine-tune on held-out examples before switching anything, then serve the adapter with vLLM.
The gotcha
People compare their new fine-tune against the wrong baseline. The honest comparison is your open fine-tune versus the OpenAI fine-tune on held-out data — not versus the open base model, which will obviously look worse, and not versus GPT-4, which you were never going to match. Choosing the wrong baseline is how good migrations get abandoned.
When to stay on OpenAI Fine-Tuning
You have no ML engineer and no GPU, and the fine-tune is a means to an end. Uploading a JSONL file is dramatically less work than standing up a training environment. Stay too when you need capabilities of a frontier base model that has no open equivalent — you cannot fine-tune your way to a model that does not exist — and while your volume is low enough that the inference premium is noise.
More Layer 4 migrations
Figures verified 2026-08-11 against vendor pricing pages. Prices change and migrations differ by estate — treat the cost delta as a starting model, not a quote. Rankings and recommendations here are merit-only; affiliate income never changes a verdict. See our methodology.