Skip to main content

AI compute arbitrage CLI — move GPU training jobs between clouds automatically

Project description

VaultLayer

Run AI training jobs on managed GPU capacity with checkpointing, log streaming, and provider failover.

pip install -U vaultlayer
vl init
vl run train.py
Job submitted
Training on vast_ai
Training output:
...
Training completed successfully.

What It Does

VaultLayer sits between your training script and the cloud. It:

  • Checkpoints automatically — syncs model weights + optimizer state to a zero-egress R2 Vault on every save
  • Detects interruptions — intercepts AWS/GCP/Azure termination signals before your job dies
  • Migrates instantly — provisions a replacement node on the cheapest available provider and resumes from last checkpoint
  • Tracks savings — shows real-time cost vs what you would have paid on AWS On-Demand

No changes to your PyTorch or JAX code. No YAML configs. No PhD-level infra knowledge required.

Commands

# Training
vl run train.py
vl ps
vl logs <job-id> --follow
vl stop <job-id>

# Dataset storage (no S3 required)
vl sync ./data --dataset-id my-dataset
vl run --data r2://my-dataset train.py
vl datasets

Supported Providers

Provider Type Status
Vast.ai Marketplace Production-included
RunPod Neocloud Production-included
Lambda Labs Neocloud Production-included
AWS Spot Hyperscaler Production-included for validated failover paths
AWS On-Demand Hyperscaler Internal testing
GCP, CoreWeave, Crusoe, Nebius, Voltage Park, Hyperstack, Azure Mixed Pending validation

Current provider status lives in docs/provider_test_matrix.md and docs/provider_testing_matrix.md.


Model Size Support

Model Size Method Checkpoint Size Status
1B QLoRA small Validated smoke path
3B QLoRA small Validated matrix path
7B QLoRA medium Validated matrix path
72B QLoRA large Routed to 96GB+ high-VRAM capacity
Full fine-tune / multi-GPU varies varies Future work

Tech Stack

Layer Technology Cost
Code + Docs GitHub (this repo) Free
CI/CD GitHub Actions Free (2k min/mo)
Vault / Storage Cloudflare R2 Free up to 10GB
Agent Runtime Railway Free $5/mo credit
Webhooks Cloudflare Workers Free 100k req/day
Agent Message Queue Upstash Redis Free 10k cmd/day

Repository Structure

vaultlayer/
├── README.md
├── docs/
│   ├── PRD.md              # Full product requirements
│   ├── ARCHITECTURE.md     # System design + agent topology
│   └── AGENTS.md           # Agent specs + build order
├── dashboard/
│   └── index.html          # Savings dashboard prototype
└── src/
    ├── cli/
    │   ├── main.py
    │   ├── run.py
    │   ├── checkpoint_template.py
    │   └── init.py
    ├── vaultlayer/
    │   └── _resume_hook.py
    ├── agents/
    │   ├── orchestration/
    │   ├── pricing/
    │   ├── watchdog/
    │   │   └── signals.py
    │   ├── vault/
    │   ├── broker/
    │   ├── finops/
    │   └── namespace/
    └── shared/

SLA

VaultLayer tracks job completion, checkpoint persistence, and resume behavior. Public SLA numbers are not committed during beta; see docs/SLA_SLI.md for definitions.


Dataset Storage (No S3 Required)

VaultLayer's Neutral Zone (Cloudflare R2) is a first-class storage provider. Users with no AWS or cloud storage account can upload training data directly and train from it on any provider.

# Upload from your laptop / on-prem server
vl sync ./training-data --dataset-id my-dataset

# Train — data is mounted at /mnt/vaultlayer on every provisioned node
vl run --data r2://my-dataset train.py

# See what you're storing and the monthly cost
vl datasets

Pricing:

Action Cost
Upload (local → R2) Free
Storage $0.020 / GB / month ($0.0195 — 30% markup over Cloudflare R2 base rate)
Read (R2 → training node) $0.00 (zero egress within Cloudflare network)
S3 mirror (one-time) AWS egress charge (~$0.09/GB, first 100 GB/month free)

Storage quotas by plan:

Plan Storage limit
Free 10 GB
Pro 500 GB
Enterprise Unlimited

Datasets are soft-deleted with vl datasets --delete <id> — billing stops immediately, R2 objects are purged within 24 hours.

Getting Started

pip install -U vaultlayer
vl init
vl run train.py

License

Private — © 2026 VaultLayer

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

vaultlayer-0.1.38.tar.gz (1.0 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

vaultlayer-0.1.38-py3-none-any.whl (668.3 kB view details)

Uploaded Python 3

File details

Details for the file vaultlayer-0.1.38.tar.gz.

File metadata

  • Download URL: vaultlayer-0.1.38.tar.gz
  • Upload date:
  • Size: 1.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.9

File hashes

Hashes for vaultlayer-0.1.38.tar.gz
Algorithm Hash digest
SHA256 37e0c1b28f39ed3ccda7087973ed63b78d19fa7485c19343c18aa7ce306d3076
MD5 2a2d7f16a48f2fc8dd858d21188fe666
BLAKE2b-256 71b037c31f3dc2f67fe8ea56923eeab1fb954fe182fd4c9713a6d23ce53631c1

See more details on using hashes here.

File details

Details for the file vaultlayer-0.1.38-py3-none-any.whl.

File metadata

  • Download URL: vaultlayer-0.1.38-py3-none-any.whl
  • Upload date:
  • Size: 668.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.9

File hashes

Hashes for vaultlayer-0.1.38-py3-none-any.whl
Algorithm Hash digest
SHA256 ffd954f0fb5124e68a65f9348d5241e867b0da63da2a7c4ef73489aeed8faed2
MD5 3f0d7b1cb22c7e54754b8b4e25caeca2
BLAKE2b-256 e026948738a765c6e08f5f090db2260c84c2e7417708ba2de28c3f409db1be2d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page