affordable gpus. ready when you are.

train on cheaper spot compute. when it's interrupted, we snapshot your process and resume it elsewhere. no code changes.

join the waitlist $100 in free credits when you join

gpus when you need them. no reservations.

start the moment you're ready.

no minimum commitment. ask for the gpus you need and your run starts.

preempted here, resumed there.

we pool spot capacity across providers and regions. we automatically resume your run wherever there's a gpu free.

why it costs less

spot gpus are up to 60% cheaper.

the catch is that they can be taken back at any time.

we handle preemptions. no code changes.

we snapshot your whole process at the os-level, not just your weights. when a machine is preempted, we bring up another and resume from the last snapshot within minutes.

observability, from the machine to the model.

monitor everything in realtime

monitor your job and machine with realtime logging plus observability into hardware-level metrics. we make it easy and quick for you to debug and profile your workloads, regardless of where in the stack you operate.

observe your model as it trains

we auto-instrument your training workloads so you can see reward and loss curves move in real time, as well as browse the rollouts your model is producing while it trains.

how it works

  1. you tell us what machine you want. which gpus, and how many.
  2. we provision the machine and set up a container for you. with your image and your code on it.
  3. your container runs your code on the machine. full access to the container so you can observe, iterate, restart as you need.
  4. we checkpoint everything: the full disk, everything in cpu and gpu memory. if a machine fails or is preempted, your container automatically resumes, gracefully, on another one.
import castform

container = castform.Container(
    name="miles-dev",
    image=castform.Image.from_registry("radixark/miles:latest")
        .add_local_dir("./training", "/workspace/training"),
    gpu="H100:8",
)

container.run(["python", "train.py"])

built on castform

a tutor conversation split into training examples, each with the conversation history and a reference response
elsa · language-model post-training

a language tutor built for beginner learners

elsa used production conversations to adapt a model to each learner’s level, with half the inference cost and latency.

read the post →
evaluation reward versus inference cost: the castform fine-tune matches frontier model reward at lower cost per rollout
neon · retrieval-model training

a 4b retrieval model with 100× lower inference cost

using postgres data in neon, a small open model matched frontier retrieval accuracy at a fraction of the inference cost.

read on neon.com →
$100 in free credits when you join

join the waitlist

tell us a little about you and we'll be in touch.

about us

we're ml researchers and engineers from the stanford ai lab, google brain and roblox. we've run thousands of training jobs and got fed up with how difficult it was to get compute, both in terms of availability and in consistency of prices.

start your next training run now

join the waitlist $100 in free credits when you join