Skip to main content
Veri runs training jobs on four GPU providers. You pick one at job submit time with the provider field. Each provider offers different GPU types at different price points: AWS is the default, Vast.ai is the NVIDIA marketplace spillover, DigitalOcean offers 1x and 8x H100 droplets with per-second billing, and GCP offers a single A100 80GB or H100 80GB on Flex-start VMs.

Providers at a glance

GCP training runs on Flex-start VMs: a GCP job can wait in queued for up to about 15 minutes while Veri looks for capacity, and Veri runs one GCP GPU at a time for now. If GCP ends the VM early the job fails with provider_reclaimed (credited back) or, at the 24-hour limit, max_run_duration_reached; resume it from a checkpoint. See GCP.
All providers except AWS are gated behind feature flags. If a provider is disabled, submit returns a 400 saying the provider isn’t available yet. Run veri gpu list to see which provider and GPU combinations are offered for training.

Choosing a provider

Pass provider when creating a training job:
From the CLI, override the provider and GPU of a config file:
(veri train my_job.py --provider digitalocean does the same for a script with a @training_job decorator, which sets the GPU itself.) Or in a TOML config:
Omit provider to use the default (AWS).

Checking live availability

Capacity is per-provider and per-region. Check what’s available right now before submitting:
Bare veri gpu list is the static catalog: which node sizes each provider sells for training and serving, and the price per GPU-hour. Add any filter (--provider, --gpu-type, --region) for the live view: one row per provider, GPU type and region with a status (AVAILABLE for a DigitalOcean region or Vast offer, OFFERED for an AWS catalog entry, UNAVAILABLE when there is no capacity) and a signal column (qty N for a live DigitalOcean or Vast count, spot N/10 for the AWS Spot placement score). AWS OFFERED is not a launch guarantee.

Pricing

Each provider has its own rate card. Check current pricing with:
Rates are per-GPU-hour. You are billed from the moment the instance boots (during provisioning, before the first training step) until the job terminates and the instance is reaped. This applies to failed jobs too: GPU time actually used is billed. A job that never secures a GPU (e.g. CAPACITY_UNAVAILABLE) rents nothing and is not billed. The checkpoints and the final model a job keeps are billed separately, per GiB-month kept; see Checkpoint storage and Model storage.

Provider guides

AWS (default)

L4, A10G, and whole-node A100/H100 — the reliable NVIDIA default.

Vast.ai

Marketplace A100/H100 spillover at fluctuating prices.

DigitalOcean

Fast-provisioning 1x/8x H100 droplets with per-second billing.

GCP

A single A100 or H100 on Flex-start VMs, one GCP GPU at a time.

Where to go next

Managed training

How the training loop works across all providers.

GRPO algorithm

The default RL method — works on all providers.