Together AI Lets Developers Run Custom AI Training Without Managing GPUs

Together AI launched a post-training service that lets you write your own RL or SFT loop in Python while they manage GPU orchestration, rollout engines, and weight sync.

·
·
·
Read4 min
TypeNews
SubtopicFine Tuning · Lora · Rl
  • Together AI launched Post-Training, a service for custom RL and SFT loops on open models.
  • You write data, rewards, and loss in Python; Together runs generators, trainers, and weight sync.
  • Supports LoRA and full-weight training on Meta, Qwen, Moonshot, and Z.ai models.
  • Multiple LoRA experiments share one GPU reservation, cutting cost of parameter sweeps.
  • Trainer matches generator precision and replays MoE expert choices to prevent RL drift.
  • Recipes available in the post-training cookbook, with Tinker-compatible API.

Together AI has launched Together Post-Training, a managed service for running custom supervised fine-tuning and reinforcement-learning recipes on its GPU infrastructure. Developers write the training loop in Python and control the data, prompts, environments, rewards, verifiers, judges, optimization methods, adaptation format, and deployment target.

Managed fine-tuning APIs usually provide a fixed training recipe. Custom reinforcement learning requires rollout engines, distributed trainers, weight synchronization, and model-specific GPU configurations. Together Post-Training gives developers control over the recipe while the service provisions and operates those components.

Developers control Together operates
Training data and prompts On-demand GPU capacity
Environments, tools, rewards, and verifiers Model-specific parallelism and rollout engines
GRPO, PPO, and custom loss functions Trainer and generator consistency
LoRA or full-weight training Weight synchronization and job scheduling
Evaluation and deployment Synchronous and asynchronous execution
Reinforcement-learning step with sampling, reward calculation, forward and backward passes, optimization, and weight synchronization
A reinforcement-learning step samples responses, scores them, updates the model, and synchronizes the new weights.

The five-call RL loop

The reinforcement-learning API reduces each step to five operations that developers can arrange and extend in ordinary Python:

  1. sample() generates model responses, commonly called rollouts.
  2. your_reward() scores those responses with developer-defined code.
  3. forward_backward() calculates the loss and gradients.
  4. optim_step() applies the weight update.
  5. weights_sync() sends updated weights to the rollout generator.

GRPO and PPO are policy-optimization methods that use reward signals to improve generated responses. Supervised fine-tuning uses the same training primitives but omits rollout sampling and generator weight synchronization because it learns directly from labeled examples.

Reward functions, verifiers, and tool environments remain plain Python running in the developer’s sandbox. Existing evaluation harnesses and agent environments can therefore call the service without being rewritten around a proprietary reward format.

Multi-turn agent training can reuse cached state from earlier turns on the GPUs that processed them. Each subsequent turn processes the new tokens, reducing repeated computation across long conversations.

One reservation can run several experiments

Together allocates a model-specific GPU reservation with a configuration already tested for that model. Developers can open separate sessions for several experiments on the reservation, vary learning rates, reward functions, or data mixtures, and send metrics to tools such as Weights & Biases.

LoRA keeps the base model frozen and trains smaller adapter weights, which makes parallel experimentation cheaper than updating every model parameter. Multiple adapters can share the reservation and later load onto one inference endpoint for A/B testing. The winning adapter can be merged into the base weights, quantized for lower-cost inference, deployed on Together, or downloaded for another runtime.

Three adapter experiments feeding into model selection and production deployment
Several adapter experiments can share capacity before the selected version moves to production.

When generator and trainer drift

Reinforcement-learning systems often use one process to generate responses and another to calculate weight updates. Differences in numeric precision, model versions, or mixture-of-experts routing can cause the trainer to optimize probabilities that do not match the generator’s behavior, reducing training stability and serving quality.

Together says its trainer matches the generator’s output precision and replays the generator’s expert-routing choices on supported mixture-of-experts models. Its losses also account for rollouts produced by older model versions during asynchronous training, and consistency checks catch problematic steps before their updates reach the weights.

Performance features include precompiled GPU execution and prefix caching, which avoids processing unchanged context repeatedly. Asynchronous mode overlaps rollout generation with training for higher throughput, while synchronous mode samples from the latest synchronized weights.

Catalog, compatibility, and billing

Models Open-weight models from Meta, Qwen, Moonshot, and Z.ai
Training formats LoRA across the launch catalog and full-weight training on selected models, including Qwen3.5-35B-A3B
Recipes Reference implementations in the GitHub cookbook
API compatibility A Tinker-compatible interface intended to reduce migration work for existing Tinker clients
Deployment Together endpoints or downloadable weights for external runtimes
Billing Per GPU-minute while the model resource is ready

Queueing, startup, and shutdown are free, according to Together, and idle resources shut down after one hour. Shared reservations and multi-LoRA training can improve utilization because several experiments draw from the same provisioned capacity.

Developers still own the experiment

Together Post-Training fits teams that need custom rewards, agent environments, policy-optimization methods, or model-specific verifiers but do not want to operate distributed training infrastructure. Developers remain responsible for data quality, reward design, environment security, evaluation, and model behavior. Adoption will also depend on model coverage, full-weight availability, API compatibility, session concurrency, and the GPU-minute cost of the required configuration.

Trending
  • No trending articles

Comments

avatar

Next Reads