InstantML is a W&B-style platform built for speed. Sub-second metric charts at 90k runs, instant run comparison, real artifacts and checkpoints, and predictable pricing — without tracked-hour billing.
How it works
The Python SDK is a thin, non-blocking layer over a Rust/Postgres backend. Metrics buffer in-process and flush asynchronously, so your training loop never waits on the network. If the server is slow or offline, events spool to disk and replay on reconnect.
Why teams switch
We've watched serious ML teams put up with run-list pages that take five seconds to load, charts that lag behind the mouse, and pricing that punishes you for actually using the product. InstantML is the third option.
Every project entry costs you focus. Spinners are the dominant UI.
Pricing scales with how hard your team is working. The wrong incentive.
Sub-second charts at 90k runs, flat predictable pricing, and a data model you can self-host.
What we fix
Side-by-side runs reload every chart. We render compare from materialized summaries, not raw scans.
Synchronous SDKs make your loop wait on HTTP. Ours buffers and spools — your trainer never blocks.
Export is a side-feature. Ours is a first-class GET /api/export with deterministic JSONL.
Capabilities
Streamed scalar series, grouped averages, smoothing, range zoom, hover tooltips. The chart you actually watch.
Project summary p95 78 ms · search p95 118 ms · metric-best sort p95 66 ms · chart series p95 22 ms. Measured locally, reproducible by the included benchmark.
init · log · artifact · checkpoint · finish.
Configs, float series, string series, file series, histograms, and tags — first-class. Rich-object tables, audio, MP4 rollouts, and image artifacts come along for the ride.
First-class importers for W&B, MLflow, and Neptune JSON exports. Dual-log against your old tool during migration.
For developers
The SDK is intentionally small. Three calls — init, log, finish — cover the daily loop. Artifacts and checkpoints are just files. Imports replay history from W&B, MLflow, and Neptune so you don't lose a year of training when you switch.
$ pip install instantml && python train.py# Three calls. No daemon, no dashboard tab to babysit.
import instantml as im
run = im.init(project="llm-7b-sft", config=cfg)
for step, batch in enumerate(loader):
loss = train_step(batch)
run.log({"loss": loss, "step": step})
run.log_artifact("checkpoint", "./ckpt")
run.finish()What ships today
We're onboarding a small first cohort of design partners. Send a real email, get a real engineer. No sales calls — just your real runs, ingested, with our team helping you compare.
[email protected] · we reply same business day