What are the best Together AI alternatives for fine-tuning?
Nodus, Fireworks AI, Modal and RunPod compared with Together AI for fine-tuning, with one job priced per token and per GPU-hour and a decision rule.
For teams leaving Together AI’s fine-tuning API, the strongest alternatives are Nodus for per-GPU-hour billing with managed recipes, Fireworks AI for another per-token API, and Modal or RunPod for running your own trainer. Nodus lists an NVIDIA H100 at $2.60/hr, runs SFT, DPO and GRPO recipes on a GPU you pick, and resumes a run from its latest checkpoint if a machine is lost. Together AI bills per training token instead, so the cheaper option depends on how many GPU-hours your job really takes.
This post prices one realistic LoRA job both ways, shows the arithmetic once, and links every outside number to the company’s own page. We make Nodus, so we also say plainly where Together AI is the better choice.
Who are Together AI’s main competitors for fine-tuning?
Section titled “Who are Together AI’s main competitors for fine-tuning?”They fall into two groups: managed APIs that charge per token, and platforms that charge for GPU time. Together AI and Fireworks AI are in the first group. Nodus, Modal and RunPod are in the second.
| Platform | What you run | How fine-tuning is billed | Example listed price | Serving the result |
|---|---|---|---|---|
| Together AI | Managed fine-tuning API, LoRA or full | Per 1M training and evaluation tokens, minimum charge per job | $0.34 per 1M tokens, LoRA SFT on Llama 3.1 8B | Dedicated endpoint billed per minute, or download the weights |
| Nodus | Managed TrainingJob recipes (SFT, DPO, ORPO, KTO, distillation, GRPO), or your own script | Per GPU-hour from prepaid credits, with a dollar cap per job | $2.60/hr for an H100 SXM, $0.793/hr for an L40S | Download outputs with nodus cp |
| Fireworks AI | Managed fine-tuning API, LoRA or full parameter | Per 1M training tokens, by model size | $0.50 per 1M tokens, LoRA SFT up to 16B | On-demand (dedicated) deployment |
| Modal | Your own trainer as Python functions | Per GPU-second | $0.001097/s for an H100 | Your own code |
| RunPod | An Axolotl fine-tuning pod, or a pod you control | Per hour, billed by the second | $3.99/hr for an H100 SXM | Your own code |
Prices checked October 28, 2026 on Together AI pricing, the Nodus pricing page, Fireworks AI pricing, Modal pricing and RunPod pricing. Serving details come from Together AI’s deployment docs, Fireworks AI’s SFT guide, the Nodus training guide and RunPod’s fine-tuning docs.
If you came here from a broader search, our guide to the best platform to fine-tune open-source LLMs compares more options. This post is for teams already on Together AI who want to know what switching would cost.
How does Together AI bill a fine-tuning job?
Section titled “How does Together AI bill a fine-tuning job?”Together AI charges for every token the job processes, including repeats. Its fine-tuning pricing docs give the formula:
total tokens = (epochs × training dataset tokens) + (evaluations × validation dataset tokens)
The rate per 1M tokens depends on the model size, the method (SFT or DPO) and whether you train LoRA or full weights. Each job pays at least a minimum charge, $4.00 for most models on the pricing page. A fine-tuned model served on a dedicated endpoint is billed per minute on top of that, until you stop the endpoint.
One detail catches people out. The same docs say that if you turn packing off, training tokens are counted as dataset length × max_seq_length, not the tokens you actually have. A file of short chat turns can then bill as if every row were full length. Leave packing on unless you have a reason not to.
What does the same fine-tuning job cost per token and per GPU-hour?
Section titled “What does the same fine-tuning job cost per token and per GPU-hour?”Take a typical support-bot job: LoRA SFT on Llama 3.1 8B, a 20M-token training set, 3 epochs, and a 0.5M-token validation set evaluated 3 times. The sizes are our assumption; swap in your own.
Together AI counts (3 × 20M) + (3 × 0.5M) = 61.5M tokens. At $0.34 per 1M for LoRA, that is 61.5 × $0.34 = $20.91. The same tokens as a full fine-tune, at $0.38 per 1M, cost $23.37.
An hourly platform has no token meter, so the useful question is how many GPU-hours $20.91 buys. If the job finishes inside that time, hourly is cheaper. We divided $20.91 by each listed rate.
| GPU and platform | Listed rate | GPU-hours for $20.91 |
|---|---|---|
| L40S, Nodus | $0.793/hr | 26.4 h |
| A100 80GB, Nodus | $1.09/hr | 19.2 h |
| A100 80GB, Modal | $0.000694/s, or $2.4984/hr | 8.4 h |
| H100 SXM, Nodus | $2.60/hr | 8.0 h |
| H100, Modal | $0.001097/s, or $3.9492/hr | 5.3 h |
Rates from the Nodus pricing page and Modal pricing, checked October 28, 2026. These are GPU line items only; storage and any separate CPU or memory charges are left out.
The same $20.91 buys 26.4 hours of an L40S on Nodus, so a slower GPU still has a lot of room to finish first.
The L40S row matters because an 8B LoRA does not need an H100. The Nodus sft runtime presets put a QLoRA run on Qwen3-8B on one L40S, RTX A6000 or A100 80GB. A cheaper card with more hours to spare is often the better bet than the fastest one.
Model size moves both sides. The same 61.5M tokens on Llama 3.3 70B cost 61.5 × $2.03 = $124.85 as a LoRA job on Together AI. That buys 48.0 H100-hours on Nodus, or 8 H100s for 6 hours.
How do you tell which side of the line your job is on?
Section titled “How do you tell which side of the line your job is on?”Measure, then multiply. Run a short trial on the GPU you plan to use, read its training speed, and work out how long the full job would take.
On Nodus, nodus describe tj/<name> shows the step, loss and tokens per second while the job runs, per the training guide. Then:
hours = total tokens ÷ (tokens per second × 3,600)
Multiply the hours by the hourly rate and compare it with total tokens × the Together AI rate. For the H100 above, the job has to average about 2,124 tokens per second to finish 61.5M tokens inside 8.0 hours. Our break-even table gives the same threshold for other GPUs.
The rule we use: if your trial says the job finishes inside the GPU-hours its token bill would buy, move it to an hourly platform. If it is close, stay where you are, because a migration costs engineering time too.
Is Fireworks AI cheaper than Together AI for fine-tuning?
Section titled “Is Fireworks AI cheaper than Together AI for fine-tuning?”At the list prices we checked, no. Fireworks AI is the closest like-for-like alternative, since it also charges per training token, but its rates were higher for every model size we compared.
| Model size | Together AI, LoRA SFT | Fireworks AI, LoRA SFT |
|---|---|---|
| Llama 3.1 8B (Fireworks: up to 16B) | $0.34 per 1M | $0.50 per 1M |
| Qwen3.5 27B (Fireworks: 16.1B to 80B) | $1.05 per 1M | $3.00 per 1M |
| Llama 3.3 70B (Fireworks: 16.1B to 80B) | $2.03 per 1M | $3.00 per 1M |
Prices from Together AI pricing and Fireworks AI pricing, checked October 28, 2026. Fireworks AI prices by size bracket, so its bracket rate is shown against each Together AI model.
Per-token rates climb with model size on both APIs, which is where an hourly GPU tends to pull ahead.
Our 61.5M-token job would cost 61.5 × $0.50 = $30.75 as a LoRA job on Fireworks AI. Fireworks AI does have reasons to pick it anyway. Its pricing page says fine-tuned models are served for the same price as base models, and it lists a Serverless Training API for LoRA on its launch models with no provisioning and no idle cost.
What happens when a fine-tuning run fails or is cut short?
Section titled “What happens when a fine-tuning run fails or is cut short?”Together AI is generous here, and it is worth knowing before you switch. Its pricing docs say a job that fails is fully refunded, and a job you cancel or stop early pays only for completed steps.
On an hourly platform you pay for the GPU time used, so what matters is how much work a failure throws away. On Nodus, the managed runtimes write full checkpoints with optimizer, scheduler and RNG state, and a new attempt on another machine starts from the latest one. Each TrainingJob also has a maxCostUSD cap. When the cap is reached the run is suspended rather than failed, and raising the cap resumes it from its checkpoint.
Modal’s preemption guide says a preempted function restarts on the same input and recommends checkpoints for long training. With Modal or a RunPod pod, writing and loading those checkpoints is your code’s job.
Where is Together AI the better choice?
Section titled “Where is Together AI the better choice?”Stay on Together AI if any of these describe you. They are real advantages, not consolation prizes.
- You fine-tune very large models. Together AI’s pricing page lists fine-tuning for DeepSeek-V3.1, Kimi K2.6 and GLM-5.2, and you never size a cluster. On Nodus, a model without a runtime preset gets the default single-GPU resources unless you request more.
- You want full fine-tuning of a small model. Together AI charges $0.38 per 1M tokens for full SFT on Llama 3.1 8B, barely above LoRA. The Nodus preset for a full Qwen3-8B run is 8 H100s, which costs 8 × $2.60 = $20.80 per hour.
- You serve the model on Together AI. Training, hosting and inference sit in one product, and its deployment docs also let you download merged weights or the adapter with
tg fine-tuning download. - Your jobs are small and occasional. The token formula is easy to predict before you start, and a failed job costs nothing.
Together AI also sells GPU time directly. Its post-training docs describe a product billed per GPU-minute for custom loops and GRPO, so a Together AI team that wants hourly billing has an in-house option to price as well.
How do you move a Together AI fine-tuning job to Nodus?
Section titled “How do you move a Together AI fine-tuning job to Nodus?”If your Together AI file uses the instruction format, one prompt and one completion per line as described in its data preparation docs, it maps directly onto the Nodus sft runtime. Install the CLI, sign in, and upload the file to a Volume. The commands come from the training guide and the Volumes guide.
$ pip install nodus-compute$ nodus login$ nodus create volume support-chats --size 100Gi$ nodus volume put support-chats ./chats.jsonl /chats.jsonlThen describe the job. This is the training guide’s LoRA example with the column names set to Together AI’s field names:
apiVersion: nodus.dev/v1beta1kind: TrainingJobmetadata: name: support-sftspec: runtime: nodus/sft model: uri: hf://Qwen/Qwen3-0.6B@c1899de289a04d12100db370d81485cdf75e47ca data: volume: support-chats path: chats.jsonl format: JSONL columns: {prompt: prompt, completion: completion} parameters: steps: 2000 lora: {r: 16, alpha: 32} maxCostUSD: "20.00"$ nodus apply -f sft.yaml --dry-run -o yaml$ nodus apply -f sft.yamlThe dry run prices the job before anything runs, and maxCostUSD caps it at $20. Pin your own base model to a 40-character Hugging Face commit, as the guide recommends. TrainingJobs are in Beta, so fields can change before v1.
Teams running their own trainer instead of a managed recipe should read our Modal alternatives for training and RunPod alternatives posts.
Can I connect my Together AI account to Nodus?
Section titled “Can I connect my Together AI account to Nodus?”No. The Nodus cloud accounts guide lists the accounts you can connect, such as AWS, GCP, Azure, Lambda, Nebius and RunPod, and Together AI is not among them. Move the dataset and run the job on Nodus instead.
Does Together AI count my validation set in the bill?
Section titled “Does Together AI count my validation set in the bill?”Yes. Validation tokens are multiplied by the number of evaluations and added to the training tokens. Evaluating a large validation set often can add noticeably to a small job.
Can I fine-tune with Unsloth instead of a managed recipe?
Section titled “Can I fine-tune with Unsloth instead of a managed recipe?”Yes, as your own script on an hourly GPU. Our Unsloth on a cloud GPU guide walks through it on Nodus with checkpoints that survive a lost machine.
Can a coding agent start the fine-tune for me?
Section titled “Can a coding agent start the fine-tune for me?”On Nodus, nodus mcp install claude adds the Nodus MCP server to Claude Code, and any TrainingJob the agent launches is still bound by its maxCostUSD cap.
More from the blog
pricing9 min read
What is the best platform to fine-tune open-source LLMs?
Nodus, Together AI, Modal, RunPod and AWS SageMaker compared for fine-tuning open models, with choose-if rules, a priced 8 x H100 run and a break-even rule.
Read the posttraining7 min read
How do you fine-tune with Unsloth on a cloud GPU?
Pick the smallest GPU in Unsloth's VRAM table, save Trainer checkpoints where they survive a restart, and run the script as a capped job.
Read the post