Fine-tuning changed addresses in 2026. OpenAI is winding down its self-serve fine-tuning platform in stages: organizations that never ran a job lost access on May 7, 2026, organizations without fine-tuned-model inference in the prior 60 days lost the ability to start new jobs on July 2, 2026, and every remaining customer loses new-job access on January 6, 2027. Inference on already-tuned models keeps running until each base model is deprecated, but the message is unambiguous: if fine-tuning matters to your product, it now happens on open-weight models, on infrastructure where you can keep the artifact.
This ranking is for teams tuning open-weight models for production: a support model that speaks your domain, a classifier that beats prompting on cost, an agent tuned on your own traces. We ranked five serious options across the full spectrum, from fully managed APIs to a framework you run yourself, because the right answer depends on how much control you need, not on a single leaderboard. The verdict on each entry says when a lower-ranked option beats the winner.
TL;DR
The best fine-tuning platform for most teams in 2026 is Together AI: managed per-token training across an open-weight catalog spanning 270M to 480B parameters, both LoRA and full fine-tuning, and downloadable checkpoints, so the model you pay to train is genuinely yours. Pick Fireworks AI when the tuned model ships straight into production on Fireworks' inference stack, or when you need managed reinforcement fine-tuning. Pick Tinker when you want research-grade control over the training loop itself without owning GPUs. Self-host Axolotl when compliance or sustained training volume justifies owning the pipeline, and run it on Modal when you want that control on rented, per-second GPUs. The context that reshaped this category: OpenAI is winding down self-serve fine-tuning entirely, with no new jobs for anyone after January 6, 2027, which makes open weights and portability the deciding criteria this year.
How this ranking was made
Verified July 6, 2026
We ranked platforms for teams fine-tuning open-weight language models for production use, not for one-off research experiments or pre-training. Every price, version number, and limit on this page was pulled from the vendors' live pricing pages, documentation, and GitHub repositories, all fetched on the verification date shown here; nothing is quoted from memory or from third-party listicles. BearPlex builds AI systems for clients, including fine-tuned open-weight models, which is where the operational judgments come from. No vendor paid for placement, and none of the ranked platforms is a BearPlex product. We excluded hyperscaler tuning services (Vertex AI, Azure AI Foundry, Amazon Bedrock), which are cloud-platform commitments rather than platform choices, and raw GPU marketplaces, which rent compute rather than a training workflow. OpenAI's platform appears as context, not as a ranked entry, because it no longer accepts new fine-tuning customers.
Weight ownership and portability
Whether you can download the trained artifact and serve it anywhere, which is the lesson of the OpenAI wind-down.
Training method coverage
LoRA and full fine-tuning, supervised and preference methods (SFT, DPO), and reinforcement learning when the task needs it.
Cost and pricing legibility
What a real job costs, how predictable the bill is, and whether the meter is per token, per GPU-hour, or per second.
Time to first tuned model
Operational burden from dataset in hand to trained artifact: managed API call versus cluster configuration.
Path to production
How the tuned model actually gets served, and at what economics, once training finishes.
All 5 at a glance
Dimension
#1 Together AI
#2 Fireworks AI
#3 Tinker
#4 Axolotl (self-hosted)
#5 Modal
What it is
Managed fine-tuning API
Managed fine-tuning on an inference platform
Managed training primitives (write your own loops)
Open-source training framework, your GPUs
Serverless GPU cloud running your training code
Methods
LoRA + full FT; SFT, DPO
LoRA + full FT; SFT, DPO, managed RFT
SL, RL, DPO, distillation via custom loops; LoRA only
Full FT, LoRA, QLoRA, QAT, DPO/IPO/KTO/ORPO, GRPO/GDPO, reward models
Whatever your framework supports (Unsloth, TRL, verl examples)
Weight export
Yes: final and intermediate checkpoints, merged or adapter
Not documented; external LoRA import supported
Yes: any saved checkpoint via API
Always: weights never leave your storage
Always: artifacts live in your volumes
Pricing model
Per token: LoRA SFT from $0.48/1M (up to 16B), $4.00 job minimum
Per token: LoRA SFT from $0.50/1M (up to 16B); RFT per GPU-hour
Per token across prefill, sample, and train meters; increase lands July 17, 2026
Free (Apache 2.0); you pay only for compute
Per second: H100 $0.001097/s (about $3.95/hr); $30/mo free credits
Path to production
Dedicated endpoint on Together, or take the weights anywhere
OpenAI-compatible sampling interface, or export the weights
Yours to build: pair with vLLM or a serving host
Deploy vLLM on Modal from the same codebase, or export
Sweet spot
Most production tuning: 1B to 100B, SFT/DPO, portable output
Tuned models serving production traffic on Fireworks; RL against a grader
Research-grade post-training, very large MoE, custom objectives
Compliance environments and continuous high-volume training
Occasional or bursty jobs with full code control and no hardware
Standout fact (verified July 2026)
Catalog spans 270M to 480B parameters plus Hugging Face bring-your-own
Fine-tuned models serve at base-model prices (vendor pricing page)
MoE up to the 550B Nemotron-3-Ultra tunable via LoRA primitives
v0.17.0; FSDP2, DeepSpeed, Ray multi-node; QAT to NVFP4/MXFP4
Official Unsloth and GRPO (TRL, verl) examples plus per-second GPU billing
The ranking
1
Together AI
Together Computer
Managed fine-tuning with real weight ownership: per-token pricing, the broadest open-weight catalog, and checkpoints you can download and leave with.
Together wins because it sits exactly where most teams need to be after the OpenAI wind-down: a managed API with none of the lock-in that made managed tuning risky. The catalog spans 270M to 480B parameters, from Gemma 3 270M up to Qwen3 Coder 480B, across Llama 3.x and 4.x (Scout and Maverick), Qwen 3 through 3.6, Gemma 3 and 4, DeepSeek, Mistral and Mixtral, Kimi K2, GLM 4.6 through 5.1, GPT-OSS, and NVIDIA Nemotron, and you can bring a model from the Hugging Face Hub that is not in the catalog. LoRA is the default training mode, full fine-tuning is available on a subset of the catalog, and both SFT and DPO are supported, with training context up to 262,144 tokens on select models. The decisive feature is the exit: final and intermediate checkpoints are downloadable, merged or as adapters for LoRA jobs, so you can serve on a Together dedicated endpoint or take the weights to your own vLLM cluster. Pricing is legible (per million training tokens, $4.00 job minimum), and entry costs are low enough to run honest experiments. The honest limits: no managed reinforcement fine-tuning, and the largest MoE families carry separate, much higher pricing.
Best for
Teams migrating off OpenAI fine-tuning who want a managed API without giving up the weights
Product teams tuning 1B to 100B open-weight models with SFT or DPO on a predictable per-token bill
Organizations that want the option to serve elsewhere later without retraining
Not for
Reinforcement fine-tuning or custom RL loops: Together's managed API covers SFT and DPO
Teams that need the tuned model served inside an existing non-Together inference contract from day one
Methods
LoRA (default) and full fine-tuning; SFT and DPO
Catalog
270M to 480B parameters, plus bring-your-own from Hugging Face
Weight export
Final and intermediate checkpoints, merged or adapter
Training context
Up to 262,144 tokens on select models
Entry cost
LoRA SFT from $0.48 per 1M tokens, $4.00 job minimum
Pricing
Per million training tokens: LoRA SFT $0.48, LoRA DPO $0.54, full SFT $1.20, full DPO $1.35 for models up to 16B; 17B to 69B runs $1.50 to $4.12 depending on method; 70B to 100B runs $2.90 to $8.00. Every job carries a $4.00 minimum. The largest MoE models (Qwen3.5-397B, DeepSeek, Kimi K2, GLM-5) are priced separately, with LoRA SFT from $8 to $40 per million tokens and job minimums from $20 to $60.
2
Fireworks AI
Fireworks AI
Fine-tuning fused to a production inference platform: SFT, DPO, and managed reinforcement fine-tuning that deploys where it will be served.
Fireworks is the pick when the tuned model's destination is production traffic and you want training and serving on one platform. Supervised and preference tuning bill per token at rates close to Together's at the small end (LoRA SFT $0.50 per million tokens up to 16B), and it is the only managed platform in this roundup with reinforcement fine-tuning as a first-class product: you supply a grader function that scores outputs, billing runs per GPU-hour at on-demand deployment rates, and grpo, dapo, and gspo-token loss functions are built in. The pricing page's standout commitment is that fine-tuned models serve at the same price as base models, and the docs support multi-LoRA deployments plus importing LoRA adapters trained elsewhere. The constraints are real, though. The docs state that on-demand dedicated deployments are the only supported method for serving fine-tuned models, which means the serving floor is GPU rental: $7.00 per H100 or H200 hour, $10.00 per B200 hour. LoRA rank caps at 32. And weight download is not addressed in the fine-tuning docs, so if exit portability is a hard requirement, get it in writing before committing the training budget.
Best for
Teams already serving on Fireworks who want tuning, deployment, and inference in one pipeline
Reinforcement fine-tuning against a grader without building RL infrastructure
Serving many task-specific adapters via multi-LoRA on dedicated deployments
Not for
Teams whose non-negotiable is downloading the trained weights: the docs do not document weight export
Low-traffic products that cannot justify a dedicated GPU deployment for serving
Methods
LoRA and full fine-tuning; SFT, DPO, and managed RFT
RFT
Grader-scored; grpo, dapo, gspo-token built in; billed per GPU-hour
3 to 3 million examples, OpenAI-compatible messages format
Pricing
Tuning bills per million training tokens: LoRA SFT $0.50 and full-parameter SFT $1.00 up to 16B, rising through $3.00 and $6.00 (16.1B to 80B) and $6.00 and $12.00 (80B to 300B) to $10.00 and $20.00 above 300B, with DPO at double the SFT rate in each tier. Reinforcement fine-tuning bills per GPU-hour (per second) at on-demand deployment rates: $7.00 per H100 or H200 hour, $10.00 per B200 hour.
3
Tinker
Thinking Machines Lab
A frontier-lab training stack for rent: four primitives, your own loops in Python, their GPUs, LoRA only, weights downloadable.
Tinker is the most interesting product in this category and the right choice when the training loop itself is your edge. Instead of a job API, it exposes four primitives (forward_backward, optim_step, sample, and save_state), and you write the actual training loop in Python on your laptop while Thinking Machines schedules it across their GPUs and owns the infrastructure reliability. That makes supervised learning, RL, DPO, RLHF, and distillation all expressible without owning a cluster. The catalog is curated and rotates: at verification it ran from the 4B Qwen3.5-4B up to the 550B-parameter Nemotron-3-Ultra MoE, including Kimi-K2.6, DeepSeek-V3.1, Qwen3.5-397B-A17B, and GPT-OSS, several with vision input. Any checkpoint you save is downloadable through the API for serving anywhere. It went generally available on December 12, 2025 with an OpenAI-compatible sampling interface. The trade-offs keep it at three for a general audience: it is LoRA-only by design (the lab's own LoRA Without Regret research argues LoRA matches full fine-tuning for supervised runs on small-to-medium datasets, and for RL even at small ranks), the catalog rotates on the vendor's schedule (older Llama, Qwen, DeepSeek, and Kimi variants retired June 12, 2026, and no Llama model was listed at verification), and you are writing real training code, which is the point, but not everyone's job.
Best for
Research-grade post-training (custom RL, distillation, novel objectives) without a GPU cluster
Teams that want loop-level control with managed distributed execution
Tuning very large MoE models (up to the 550B class) that are impractical to self-host for training
Not for
Teams that need full fine-tuning: Tinker is LoRA-only
Product teams that want a dataset-in, model-out managed job rather than writing training code
Anyone who needs a specific base model guaranteed available long-term: the catalog rotates
Model
Managed training primitives; LoRA only by design
Catalog
4B to 550B at verification (Nemotron-3-Ultra, Kimi-K2.6, DeepSeek-V3.1, Qwen3.5-397B, GPT-OSS); rotates
Weight export
Any saved checkpoint downloadable via API
Availability
GA since December 12, 2025; vision input; OpenAI-compatible sampling
Pricing note
Announced price increase effective July 17, 2026
Pricing
Per-token billing across four meters: prefill, cached prefill (80% discount), sample, and train. At verification the models page listed train rates from $0.36 per million tokens (GPT-OSS-20B) and $0.40 (Qwen3-8B) up to $6.00 (Qwen3.5-397B-A17B) at standard context lengths, with extended-context variants priced higher (the 128K Kimi-K2.6 trains at $15.40 per million). The page also announced an increase of roughly 50% on prefill and sample prices and 10% on train prices effective July 17, 2026. Storage is $0.10 per GB per month.
4
Axolotl (self-hosted)
Axolotl AI and open-source contributors
The open-source control answer: the widest method coverage in this roundup, one YAML per pipeline, on whatever GPUs you can get.
Axolotl is what you run when the platform question becomes an infrastructure question. It is Apache 2.0, at v0.17.0 as of June 3, 2026, with 12.2k GitHub stars, and its method coverage is the broadest here: full fine-tuning, LoRA, QLoRA, quantization-aware training (int8, int4, FP8, NVFP4, MXFP4), preference methods (DPO, IPO, KTO, ORPO), reinforcement learning (GRPO and GDPO), and reward modeling for outcome and process reward models. A single YAML config drives preprocessing, training, evaluation, quantization, and inference, and it scales from one GPU to multi-node via FSDP1 and FSDP2, DeepSpeed, Torchrun, and Ray, with Flash Attention 2, 3, and 4, Liger kernels, and sequence parallelism. Model support runs from GPT-OSS, Llama, Mistral, and Mixtral through vision-language models (Qwen2-VL, Pixtral, LLaVA, InternVL 3.5, GLM-4.6V) and audio models such as Voxtral. The cost is honest and structural: there is no platform fee because there is no platform. You bring GPUs, you debug OOMs and dataset schemas, and you own the failure modes. For regulated data, air-gapped environments, or teams training continuously enough that per-token markups compound, that trade is correct.
Best for
Compliance, data-residency, or air-gapped environments where training data cannot leave your infrastructure
Teams training continuously, where owning the pipeline beats paying per-token markups
Methods the managed platforms do not offer: QAT, GRPO/GDPO, reward modeling, audio and VLM tuning
Not for
Teams without ML engineering capacity to own distributed training failures
One-off or occasional jobs, where a managed per-token API is cheaper than the setup time
One YAML across preprocess, train, eval, quantize, inference
Pricing
Free, Apache 2.0. The bill is whatever your GPUs cost: at verification, on-demand H100s listed at $3.99 per hour on Together's GPU clusters and about $3.95 per hour on Modal, so the compute for a LoRA pass on a small model is a rental measured in single-digit dollars per hour, not a platform fee.
5
Modal
Modal Labs
The middle path: framework-level control on serverless GPUs, billed per second, with zero idle cost and no cluster to own.
Modal is not a fine-tuning product, and that is exactly its value: it removes the worst part of the self-hosted path (owning GPU infrastructure) while keeping all of the control. GPUs bill per second with no idle charge: an H100 at $0.001097 per second (about $3.95 per hour), an A100 80GB at $0.000694 per second (about $2.50 per hour), a B200 at $0.001736 per second (about $6.25 per hour). Modal's maintained examples cover the whole arc: LoRA fine-tuning with Unsloth (the published example tunes Qwen3-32B on L40S GPUs with model, dataset, and checkpoint storage in Modal Volumes), GRPO reinforcement training with both TRL and verl, and an OpenAI-compatible vLLM service for serving the result. The Starter plan is $0 per month with $30 of free monthly credits, which is genuinely enough to fine-tune a small model before you pay anything, and volumes at $0.09 per GiB per month hold your checkpoints. It ranks fifth not because it is weak but because it is a different layer: you still write and maintain training code, there is no managed job API, no evaluation UI, and no tuning-specific support. For teams with the engineering habit but not the hardware, it is often the best per-dollar answer on this page.
Best for
Running Axolotl, Unsloth, TRL, or custom training code without buying or reserving GPUs
Bursty fine-tuning workloads where per-second billing and zero idle cost dominate
Teams that want training and vLLM serving colocated in one serverless codebase
Not for
Teams that want a managed fine-tuning API with datasets in and models out
Organizations that cannot run training workloads on shared cloud infrastructure
GPU pricing
H100 about $3.95/hr, A100 80GB about $2.50/hr, B200 about $6.25/hr, per-second billing
Free tier
$30 in monthly credits on the $0 Starter plan
Fine-tuning path
Official examples: Unsloth LoRA tuning, GRPO with TRL and verl
Serving
OpenAI-compatible vLLM service example; deploy on Modal or export
Storage
Volumes at $0.09 per GiB per month
Pricing
Pure usage: H100 at $0.001097 per second (about $3.95 per hour), A100 80GB at $0.000694 per second (about $2.50 per hour), B200 at $0.001736 per second (about $6.25 per hour), plus CPU at $0.0000131 per core-second, memory at $0.00000222 per GiB-second, and volumes at $0.09 per GiB per month. Starter is $0 per month with $30 in free monthly credits; Team is $250 per month with $100 in credits and higher GPU concurrency.
When none of these is the answer
Most teams that think they need fine-tuning do not. Prompting against a strong base model, retrieval over your own data, and a disciplined evaluation harness solve the majority of quality problems at a fraction of the cost, and improving base models keep shrinking the set of cases where tuning pays. OpenAI shutting down its self-serve fine-tuning platform while its base models improve is the market saying the same thing. Fine-tune when you have evidence, not a hunch: a measured quality or cost gap that prompting cannot close, and enough representative examples to train on. If you have not built the evaluation harness that would produce that evidence, that is the project, not the training run.
When fine-tuning genuinely is the answer, the platform is rarely the hard part. The work that decides the outcome is upstream and downstream of the training job: curating and cleaning the dataset, choosing the base model and method, building evals that catch regressions, and wiring the tuned model into serving with fallbacks and monitoring. That is model engineering rather than platform selection, and it is work BearPlex does for clients end to end: data pipeline, training, evaluation, and deployment, with the platform chosen for your constraints rather than a leaderboard's. If you are budgeting a build, the project cost estimator gives ranges without a sales call.
The dates first: organizations that never ran a fine-tuning job lost access on May 7, 2026; organizations without fine-tuned-model inference in the prior 60 days lost the ability to start new jobs on July 2, 2026; and every remaining customer loses new-job access on January 6, 2027. Inference on already-tuned models continues until the underlying base model is deprecated, so nothing breaks overnight. Plan for a retrain on an open-weight base (Llama 4, Qwen, Gemma, GPT-OSS) using your original training data rather than a port of the model itself, and favor platforms that let you download the result: Together and Tinker document weight export, and self-hosted routes make it a non-issue.
Run the cheap experiments first. Prompting with good examples, retrieval over your data, and structured outputs close most quality gaps, and they iterate in minutes rather than training runs. Fine-tuning earns its cost in specific situations: you need a small model to match a big one on a narrow task to cut inference cost, you need behavior that instructions cannot reliably produce (tone, format discipline, tool-call patterns), or you have thousands of labeled examples that prompting cannot exploit. If you cannot measure the gap with an evaluation set, you are not ready to fine-tune, because you will not be able to tell whether it worked.
Default to LoRA. Together's docs make it the default training mode. Thinking Machines built Tinker as LoRA-only, and its LoRA Without Regret research reports that LoRA performs the same as full fine-tuning for supervised runs on small-to-medium instruction and reasoning datasets, and matches it for reinforcement learning even at small ranks. The price gap is roughly 2x to 2.5x per token on the managed platforms (Together lists $0.48 versus $1.20 per million tokens for models up to 16B; Fireworks lists $0.50 versus $1.00). Full fine-tuning is worth the premium when you are making deep behavioral changes, doing continued pre-training on domain text, or when a careful LoRA run has measurably plateaued below target.
Less than most teams budget. On per-token platforms, a LoRA SFT pass over 50 million training tokens on a model up to 16B runs about $24 on Together ($0.48 per million) or $25 on Fireworks ($0.50 per million); Tinker's listed train rate for Qwen3-8B was $0.40 per million at verification, so the same volume lands around $20 before its July 17, 2026 repricing. Self-hosting on rented compute is the same order of magnitude: Modal's H100 works out to about $3.95 per hour, so a job that fits in a few GPU-hours costs tens of dollars. The real budget goes to iteration: data cleaning, multiple runs, and evaluation, not any single training pass.
It depends on the platform, and after the OpenAI wind-down it should be your first diligence question. Together documents downloading final and intermediate checkpoints, merged or as adapters for LoRA jobs. Tinker documents an API endpoint for downloading any checkpoint you have saved. Axolotl and Modal make it trivial because the weights are in your own storage from the start. Fireworks documents importing externally trained LoRA adapters but does not document exporting weights from its own fine-tuning jobs, so confirm portability in writing if that matters to you.
Three credible routes. Tinker gives you loop-level control: its primitives were designed so RL, RLHF, and DPO are expressible as your own Python, and the lab's research argues LoRA is especially well suited to RL. Fireworks offers managed reinforcement fine-tuning as a product: you supply a grader function, billing runs per GPU-hour at on-demand deployment rates, and grpo, dapo, and gspo-token loss functions are built in. Self-hosting covers the rest: Axolotl ships GRPO and GDPO plus outcome and process reward modeling, and Modal publishes GRPO training examples on both TRL and verl if you want that on rented GPUs. Managed SFT/DPO-only platforms like Together do not cover this today.
The open-weight menu is wide. Together's catalog runs from 270M to 480B parameters across Llama 3.x and 4.x, Qwen, Gemma 3 and 4, DeepSeek, Mistral, Kimi K2, GLM, GPT-OSS, and Nemotron, plus bring-your-own models from the Hugging Face Hub. Tinker's curated catalog ran from 4B up to the 550B Nemotron-3-Ultra MoE at verification (with Kimi-K2.6, DeepSeek-V3.1, and Qwen3.5-397B-A17B), though it rotates and listed no Llama models. Axolotl trains anything with open weights, including vision-language and audio models. The practical constraint is usually serving cost, not training support: pick the smallest base that hits your quality bar.
Only past a volume threshold. For occasional jobs, managed per-token pricing wins because you pay nothing for idle capacity or engineering time: a $24 Together job cannot be beaten by any setup that involves configuring a cluster. The math flips when training is continuous or data cannot leave your environment: rented H100s at roughly $3.95 to $3.99 per hour (Modal, Together GPU clusters, verified July 2026) with Axolotl on top remove the per-token markup, and owned hardware goes further at sustained utilization. Modal's per-second billing is the honest middle: framework-level control, zero idle cost, no cluster to babysit.