Key Takeaways
- Unsloth โ 75.0k GitHub stars, Apache-2.0. Its README states support for multi-GPU setups, NVIDIA, AMD and Intel GPUs, CPUs and the Vulkan backend, on Windows, Linux, WSL and macOS, and it ships desktop builds. Multi-GPU is not paywalled in the open-source project.
- Axolotl โ 12.4k stars, Apache-2.0. The only one of the three with documented multi-node training (Torchrun, Ray) and ND parallelism composing context, tensor and fully-sharded data parallelism within and across nodes.
- MLX-LM โ 6.8k stars, MIT, from Apple's `ml-explore` organisation, whose own profile describes it as "by Apple". Supports LoRA and full fine-tuning, quantized models, and distributed inference and fine-tuning through `mx.distributed`.
- Together.ai โ LoRA supervised fine-tuning at $0.48/M training tokens up to 16B parameters, $1.50 at 17โ69B and $2.90 at 70โ100B. Full supervised fine-tuning is considerably more: $1.20, $3.75 and $7.25 across the same tiers. A $4.00 minimum applies per job.
- Fireworks.ai โ LoRA SFT from $0.50/M tokens up to 16B, rising to $10.00 above 300B; full-parameter DPO at the top tier reaches $40.00/M. Its pricing page states plainly: "Serve fine-tuned models for the same price as base models."
- Predibase is no longer a standalone product. Rubrik announced the acquisition on 25 June 2025, and as of 28 August 2026 predibase.com returns an HTTP 301 redirect to Rubrik's Agent Cloud page. Do not send readers to a signup flow that no longer exists.
- Neither Together.ai nor Fireworks.ai has a public affiliate or referral programme that we could find as of August 2026, and neither appears in the major AI-affiliate roundups. Every link on this page is unpaid.
๐ Best choice for your situation
The split that matters is whether you run the training job or pay someone else to run it. Read down this list and stop at the first line that describes you.
- You own a capable GPU and want the shortest path to a working fine-tune โ Unsloth. Free, Apache-2.0, and now covers multi-GPU and non-NVIDIA hardware, so the old reason to graduate away from it has largely gone.
- Your training run no longer fits on one machine โ Axolotl. Multi-node via Torchrun and Ray plus ND parallelism is the genuine dividing line between it and Unsloth in 2026.
- You are on an M-series Mac โ MLX-LM if you want the leanest MLX-native path, though Unsloth now runs on macOS too, so this is a preference rather than the only option it used to be.
- You need DPO, ORPO, KTO, GRPO or reward modelling โ Axolotl. Its documented method surface is the widest of the three by a clear margin.
- You do not own a GPU and do not want to rent one โ Together.ai for transparent per-token pricing, or Fireworks.ai if you will serve the tuned model afterwards and want no hosting surcharge.
Should you fine-tune locally or in the cloud?
Fine-tune locally if you already have a capable GPU and expect to iterate; use a cloud API if you do not own hardware, or if you fine-tune rarely enough that per-job billing beats the cost of your own setup time. This question comes before "which framework", because it decides which half of this page applies to you.
The honest version of the trade-off is that local training is cheap per run and expensive per hour of your attention, while a cloud API inverts that. A developer who fine-tunes once a quarter genuinely gains from not debugging a driver mismatch at 11pm. A developer iterating twice a week on the same dataset will watch per-token billing overtake the hardware cost quickly.
๐ In One Sentence
Fine-tune locally when you own a capable GPU and iterate often, and use a cloud fine-tuning API when you do not own hardware or fine-tune rarely enough that the per-job fee costs less than your own setup time.
๐ฌ In Plain Terms
Owning the hardware makes each run nearly free but costs you the setup. Renting the service costs a few dollars per run but you start in minutes. Which is cheaper depends entirely on how often you train.
- Train locally if you have an RTX 3090/4090-class card or better, iterate on the same dataset weekly, or the training data cannot leave your machine for privacy or IP reasons.
- Use a cloud API if you own no GPU, need a model larger than your hardware holds even in 4-bit, or want managed serving bundled with training.
- Either works if you fine-tune monthly on a 7B model: at that cadence the cost difference is small enough that convenience should decide it.
The three local frameworks compared
Unsloth, Axolotl and MLX-LM are the three local fine-tuning frameworks worth using in 2026, and the lines between them have moved. Unsloth was once the single-GPU CUDA option and is now the broadest; Axolotl's claim is distributed depth rather than merely multi-GPU; MLX-LM is still the leanest on Apple silicon but is no longer the only Mac option. All three are free and open source, and none require sending your training data anywhere.
Star counts and licences were read from the GitHub API on 28 August 2026. Capability claims come from each project's own README.
| Criterion | Unsloth | Axolotl | MLX-LM |
|---|---|---|---|
| GitHub stars | 75.0k | 12.4k | 6.8k |
| Licence | Apache-2.0 | Apache-2.0 | MIT |
| Best for | Fastest path on hardware you own | Scaling past a single machine | Lean MLX-native work on a Mac |
| Multi-GPU | Yes, in the open-source project | Yes โ FSDP1, FSDP2, DeepSpeed | Via mx.distributed |
| Multi-node | Not documented in README | Yes โ Torchrun and Ray | Via mx.distributed |
| Hardware | NVIDIA, AMD, Intel, CPU, Vulkan | NVIDIA-centric CUDA stack | Apple silicon only |
| Operating systems | Windows, Linux, WSL, macOS | Linux and WSL in practice | macOS |
| Setup difficulty | Low โ installer and desktop builds | Medium โ YAML config driven | Low โ pip install |
๐Note: Older comparisons, including the draft this page was rewritten from, describe multi-GPU as an Unsloth paid-tier feature and MLX-LM as a community project rather than an Apple one. Both claims are contradicted by the projects' current README and organisation profile. If you read that elsewhere, check the date on it.
Unsloth: the default local choice
Unsloth is where most people should start, and the reasons have grown rather than shrunk. It is the most-starred of the three by a wide margin, the licence is Apache-2.0, and the hardware and OS coverage is now the broadest of any framework here.
Unsloth โ best overall local framework
Free Apache-2.0, multi-GPU included, runs on NVIDIA, AMD, Intel, CPU and macOS
Unsloth rewrites attention and gradient kernels to cut VRAM use and speed up LoRA and QLoRA training, and that remains its core appeal. What has changed is reach. Its README now states support for multi-GPU setups across NVIDIA, AMD and Intel GPUs, CPUs and the Vulkan backend, running on Windows, Linux, WSL and macOS, with desktop builds available for each. Nothing in the 22 KB Apache-2.0 README gates any of that behind a paid tier. The project has also broadened beyond a training library into something closer to a local workbench, with a Studio UI and an OpenAI-compatible serving endpoint. Paid Pro and Enterprise tiers do exist, but their pricing is not published, so treat any specific dollar figure you see quoted elsewhere as unverified.
Pros
- +Free and Apache-2.0, with multi-GPU support in the open-source project
- +Widest hardware coverage here: NVIDIA, AMD, Intel, CPU and Vulkan
- +Runs on Windows, Linux, WSL and macOS, with desktop builds
- +Lowest setup effort of the three โ an installer rather than a config tree
Cons
- โMulti-node training is not documented in the README; Axolotl is clearer here
- โPro and Enterprise pricing is not published, so budgeting for them means contacting sales
- โThe expanding scope means more surface area than a team wanting only a training library needs
Axolotl: the scale-out choice
Axolotl earns its place on distributed training and method breadth, not on multi-GPU alone. Now that Unsloth covers multiple GPUs in one box, the honest dividing line is what happens when one box is not enough.
Axolotl โ best for scaling past one machine
Multi-node via Torchrun and Ray, ND parallelism, and the widest method surface
Axolotl is config-file driven, which is exactly what you want once a training run has to be reproducible across a cluster rather than reconstructed from a notebook. Its README documents multi-GPU through FSDP1, FSDP2 and DeepSpeed, multi-node through Torchrun and Ray, and ND parallelism that composes context, tensor and fully-sharded data parallelism both within a single node and across several. Expert parallelism for distributed mixture-of-experts training is there too. The training-method list is the widest of the three by a clear margin: full fine-tuning, LoRA, QLoRA, GPTQ, quantization-aware training, FP8 mixed-precision, preference tuning with DPO, IPO, KTO and ORPO, reinforcement learning with GRPO and GDPO, and both reward and process reward modelling.
Pros
- +Multi-node training documented via Torchrun and Ray
- +ND parallelism composing context, tensor and sharded data parallelism
- +Widest method surface: DPO, IPO, KTO, ORPO, GRPO, GDPO, reward and process reward modelling
- +Config-driven runs are reproducible and reviewable, which matters for teams
Cons
- โSteeper learning curve โ expect real time reading docs before a first successful run
- โCUDA-centric in practice, so it is not the answer on AMD, Intel or Apple hardware
- โMore machinery than a solo developer fine-tuning one 7B model actually needs
MLX-LM: the Apple silicon choice
MLX-LM is the leanest way to fine-tune on an M-series Mac, built directly on Apple's MLX array framework rather than adapted to it. It is worth being precise about what it is: the `ml-explore` organisation that maintains it describes itself as "by Apple", so this is Apple's own machine-learning work, not an unaffiliated community port.
MLX-LM โ best lean option on Apple silicon
MIT-licensed, Hugging Face Hub integration, distributed training via mx.distributed
MLX-LM is a Python package for generating text and fine-tuning language models on Apple silicon with MLX. It integrates with the Hugging Face Hub so thousands of models are a single command away, supports quantizing and uploading models back to the Hub, and handles both low-rank and full model fine-tuning including on quantized models. It also supports distributed inference and fine-tuning through `mx.distributed`, which means the common claim that it is strictly a single-machine tool is out of date. What it is not is cross-platform: it depends on MLX and Apple silicon's unified memory, so on Windows or Linux it is simply not a candidate.
Pros
- +Built natively on MLX and Apple silicon unified memory rather than ported to it
- +MIT licence, the most permissive of the three
- +Distributed inference and fine-tuning via mx.distributed
- +Hugging Face Hub integration for both pulling and publishing models
Cons
- โApple silicon only โ not an option on Windows or Linux
- โSmallest community of the three at 6.8k stars, so fewer worked examples
- โNo longer the only Mac option now that Unsloth ships macOS builds
Cloud fine-tuning platforms and real pricing
Together.ai and Fireworks.ai both charge per training token rather than per GPU-hour, which makes a job cost estimable before you start it. Rates below were read from each vendor's public pricing page on 28 August 2026. Note the gap between LoRA and full fine-tuning, which is where most cost surprises originate.
| Tier and method | Together.ai | Fireworks.ai |
|---|---|---|
| LoRA SFT, up to 16B | $0.48 / 1M tokens | $0.50 / 1M tokens |
| Full SFT, up to 16B | $1.20 / 1M tokens | $1.00 / 1M tokens |
| LoRA SFT, mid tier | $1.50 (17โ69B) | $3.00 (16.1โ80B) |
| LoRA SFT, large tier | $2.90 (70โ100B) | $6.00 (80โ300B) |
| Full SFT, large tier | $7.25 (70โ100B) | $12.00 (80โ300B) |
| Top of published range | $8.00 full DPO, 70โ100B | $40.00 full DPO, above 300B |
| Minimum per job | $4.00 | None published |
| Serving the tuned model | Billed separately as inference | Same price as base models |
Choose Together.ai for the clearest published tier structure and the lower entry rate. Choose Fireworks.ai if you will serve the model afterwards, since its stated policy is to serve fine-tuned models at base-model prices.
โ ๏ธWarning: A widely copied figure describes Together.ai full fine-tuning as $0.54 to $3.20 per million tokens. That is actually their LoRA DPO range. Full supervised fine-tuning runs $1.20 to $7.25 across the same parameter tiers โ more than double the misquoted top end. Budget from the vendor page, not from a comparison article.
What happened to Predibase
Predibase is no longer a standalone self-serve fine-tuning platform, and any guide still sending you to sign up there is out of date. Rubrik announced the acquisition on 25 June 2025, reported at the time by TechCrunch and CNBC and confirmed by Rubrik's own newsroom.
As of 28 August 2026, requesting predibase.com returns an HTTP 301 permanent redirect to Rubrik's Agent Cloud product page. We could not read that destination directly โ it returns HTTP 403 to automated requests โ so this page does not make claims about what it currently offers. What is verifiable is the redirect itself and the acquisition behind it. If you need a Predibase-style managed fine-tuning service, ask Rubrik what survived rather than assuming the old signup flow still works.
๐กTip: This is a useful reminder for any cloud-platform comparison: a product that was a solid recommendation eighteen months ago can now be a dead link. Re-check vendor status at every refresh rather than carrying a recommendation forward on memory.
What a 7B fine-tune actually costs
A realistic instruction-tuning job is cheaper than most people expect on the cloud and nearly free locally, which is why setup time rather than compute usually decides it. Take 10,000 examples averaging 300 tokens each: that is 3M training tokens, or roughly 9M tokens processed across three epochs. The table below is arithmetic on the published rates above.
| Route | Rate used | Cost for 9M tokens |
|---|---|---|
| Together.ai, LoRA SFT | $0.48 / 1M, up to 16B | $4.32, so the $4 job minimum does not bind |
| Together.ai, full SFT | $1.20 / 1M, up to 16B | $10.80 |
| Fireworks.ai, LoRA SFT | $0.50 / 1M, up to 16B | $4.50 |
| Fireworks.ai, full SFT | $1.00 / 1M, up to 16B | $9.00 |
| Rented 24GB GPU | Hourly rental, varies by provider | Often under an hour of compute, plus setup time |
| GPU you already own | Marginal electricity only | Effectively zero per run |
On hardware you already own, local wins on every run after the first. For occasional runs on rented hardware, compare rental plus setup against the flat per-token price for your actual dataset size.
๐กTip: The cloud numbers here are small enough that for a single experiment the deciding factor is almost never money. It is whether you would rather spend an evening on environment setup or five dollars. Count your own time honestly and the answer usually becomes obvious.
Who should use what
How often you train and whether you own hardware decide this, not star counts. Four profiles cover most readers.
- Hobbyist running one experiment โ Together.ai to skip infrastructure entirely, or Unsloth on a rented GPU. Do not buy hardware for a single experiment.
- ML engineer iterating weekly โ Unsloth on owned hardware. Per-token billing compounds quickly at high iteration frequency, and Unsloth now covers multi-GPU without a paid tier.
- Team training across several machines โ Axolotl, for multi-node and ND parallelism, and because config-driven runs are reproducible and reviewable in a way notebooks are not.
- Startup shipping a tuned model to production โ Fireworks.ai if serving economics matter most, since fine-tuned models are served at base-model prices; Together.ai if you prefer its clearer tier structure. See also running local LLMs in production.
Fine-tuning in the EU, Japan and China
Fine-tuning uploads your training data to whoever runs the job. That makes the local-versus-cloud choice a data-governance decision in three major markets, not just a cost comparison.
Common mistakes when choosing a fine-tuning stack
- 1Believing multi-GPU requires Unsloth's paid tier
Why it matters: This was widely repeated and is contradicted by the project's current README, which lists multi-GPU support alongside AMD, Intel, CPU and Vulkan backends with no paid gate anywhere in the Apache-2.0 repository. Teams have adopted a heavier framework purely to get multi-GPU they already had. - 2Quoting Together.ai full fine-tuning as $0.54 to $3.20 per million tokens
Why it matters: That range is LoRA DPO, not full supervised fine-tuning, which actually runs $1.20 to $7.25 across the same tiers. A budget built on the wrong row understates a large full fine-tune by more than half. - 3Sending readers to Predibase
Why it matters: Rubrik acquired it in June 2025 and predibase.com now 301-redirects away. Any guide still describing a self-serve Predibase signup has not been re-verified since the acquisition. - 4Treating MLX-LM as an unofficial community project
Why it matters: The `ml-explore` organisation describes its work as "by Apple". Dismissing it as a community port leads people to discount it on maintenance-risk grounds that do not apply. - 5Fine-tuning when retrieval was the answer
Why it matters: Fine-tuning teaches format, tone and narrow skills. It is a poor and expensive way to inject facts that change, because updating them means training again. Facts belong in a retrieval pipeline โ see [local RAG on your own documents](/local-llms/local-rag-2026).
Skip this ifโฆ
If your complaint is that the model does not know your company's documents, fine-tuning is the wrong tool and will cost you a training cycle to discover it. That is a retrieval problem. A well-built RAG pipeline answers from documents you can update this afternoon, whereas a fine-tune bakes them into weights you would have to retrain to correct.
Fine-tuning earns its keep when you need a consistent output format, a particular tone, or a narrow skill that prompting cannot reliably produce. Those are behavioural changes, and behaviour is what training changes well. Try a structured system prompt first, then retrieval, and reach for a training run only when both have visibly failed at the specific thing you need.
๐กTip: A practical test: if you can write down the correct answer and paste it into the prompt, you have a retrieval or prompting problem. If you can only describe the shape of a good answer but not its content, that is a fine-tuning problem.
Frequently asked questions
What is the best LLM fine-tuning framework in 2026?
Unsloth for most developers training on their own hardware, because the Apache-2.0 library is free and now covers multi-GPU setups across NVIDIA, AMD, Intel, CPU and Vulkan on Windows, Linux, WSL and macOS. Axolotl is the better choice once training spans several machines, since it documents multi-node training and ND parallelism. MLX-LM is the leanest option on Apple silicon.
Is Unsloth free, and does the free version support multi-GPU?
The Unsloth library is free under Apache-2.0, and its README lists multi-GPU support with no paid gate in the repository. Paid Pro and Enterprise tiers exist but their pricing is not published, so any specific dollar figure quoted elsewhere should be treated as unverified. The common claim that multi-GPU requires a paid tier is contradicted by the project's current documentation.
How much does cloud fine-tuning cost per million tokens?
On Together.ai, LoRA supervised fine-tuning is $0.48 per million training tokens up to 16B parameters, $1.50 at 17 to 69B and $2.90 at 70 to 100B, with a $4.00 minimum per job. Full supervised fine-tuning is $1.20, $3.75 and $7.25 across those same tiers. On Fireworks.ai, LoRA SFT starts at $0.50 per million tokens up to 16B and rises to $10.00 above 300B.
Can I use MLX-LM on Windows or Linux?
No. MLX-LM is built on Apple's MLX framework and Apple silicon's unified memory architecture, so it is not a candidate on other platforms. Use Unsloth or Axolotl on Windows or Linux. Note that Unsloth also ships macOS builds now, so on a Mac you have a genuine choice between the two.
What happened to Predibase?
Rubrik announced its acquisition of Predibase on 25 June 2025. As of 28 August 2026, predibase.com returns an HTTP 301 redirect to Rubrik's Agent Cloud page rather than serving a standalone product. Confirm current availability with Rubrik directly before relying on it for a new project.
Do Together.ai or Fireworks.ai have affiliate programmes?
We found no public affiliate or referral programme for either as of August 2026, and neither appears in the major AI-affiliate programme roundups. Their partner pages describe business integrations rather than creator referral schemes. PromptQuorum earns nothing from the links on this page.
Is cloud fine-tuning more expensive than local?
It depends on how often you train. For a single run on a small dataset the cloud fee is a few dollars, which is usually less than the value of an evening spent on environment setup. For frequent iteration on hardware you already own, local is cheaper on every run after the first because the marginal compute cost is close to zero.
Do I need multi-GPU to fine-tune a 7B model?
Usually not. A single 24GB-class card handles a 7B model comfortably with QLoRA. Multi-GPU matters more for larger models or full non-LoRA fine-tuning. See the fine-tuning hardware requirements guide for VRAM sizing.
Final verdict
- Use Unsloth if you are training on hardware you own and want the shortest path to a working run โ next step: install it and run a QLoRA fine-tune before evaluating anything heavier.
- Use Axolotl if your training has to span machines or you need DPO, ORPO, KTO, GRPO or reward modelling โ next step: read the multi-node docs before committing, since the config system is the real cost of entry.
- Use MLX-LM if you are on Apple silicon and want the most direct MLX path โ next step: compare it against Unsloth's macOS build rather than assuming it is your only option.
- Use Together.ai or Fireworks.ai if you would rather not own a GPU โ next step: price your actual dataset against the published per-token tiers, and use the full fine-tuning row rather than the LoRA DPO row if you are doing a full fine-tune.
- Skip fine-tuning if the model simply does not know your documents โ next step: build a retrieval pipeline instead, which you can correct without retraining.