Cloudy · Automated ML research on cloud GPUs

Cloudy

5 min read Original article ↗

Automated research,
no babysitting.

Cloudy designs experiments, learns from every result and keeps improving until your goal is met, then hands you the code and the numbers. We think you’ll be surprised by the results!

Profiled both engines at batch 1 and 64 with the torch profiler. Most of each decode step goes to the MoE and attention kernels, so kernels.py starts there: RMSNorm, RoPE, split-KV decode attention and a grouped MXFP4 MoE that arranges its weights once at load time.

Baselines are set on 1× H100. Tuned vLLM 0.31.0 reaches 330.9 tok/s on gpt-oss-20b at batch 1 and the tuned original reaches 264.8, so the bar to beat is vLLM, not the original.

kernels.py is 297 lines and imports only torch and triton, and the copied kernels/ folder is gone. Decode tok/s on 1× H100, median of 3 runs × 1000 tokens:

Pointkernels.pyTuned vLLMvs vLLM
20b, batch 1381.3330.9+15.2%
20b, batch 649,843.58,880.7+10.8%
120b, batch 1267.7232.9+14.9%
120b, batch 644,780.44,269.5+12.0%

Greedy outputs match an fp32 reference on 20 prompts × 1000 steps, and GPQA-D and AIME25 scores sit inside the published 95% intervals. One gap is left: 120b serving at saturation runs at 0.946× vLLM, because prefill pauses decoding.

A merged-upcast candidate measured 57.3 s against vLLM’s 58.66 s before its files were lost. Rebuilding it from P0025, checking its tokens, then profiling the extra 2.9 s in 120b prefill.

Thoughts and 7 tools

Running

NVIDIA H100 · 8 CPU cores · 32 GiB RAM

kernels.py, REPORT.md, bench.pyand 1,777 other files created

Claude Monet, Garden at Sainte-Adresse, 1867.

Autoresearch made simple.

You set the goal. Cloudy writes the code, runs it on cloud GPUs, reads the results and decides what to try next, for as long as you allow. It only calls the goal met when every success criterion has evidence behind it.

  • Your prompt
  • Planning
  • Experiment, no gain
  • Experiment, new best
  • Crash, fixed
  • Your message
  • Report

0h

6h

12h

18h

A day later, the report: Cloudy has worked through your research problem and comes back with an answer, plus the code and numbers that back it up.

GPUs when it needs them.
A CPU when it doesn’t.

No GPUs of your own needed. Cloudy sets up the machine and switches each step to the hardware it needs, from a CPU to eight NVIDIA B300s, billed by the millisecond. See pricing.

  • CPU
  • H100
  • B300

GPUs

0h6h12h18h24h

Each column is one hour, as tall as the number of GPUs it used; a square on the baseline is CPU only. This run cost $514; keeping eight B300s on all day would have cost $1,377.

Bring your own subscriptions.

Connect your Claude or ChatGPT subscription through Claude Code or Codex and the research model runs on it, with no extra Cloudy token charge. No subscription? Use Cloudy credits.

  • Cloudy credits
  • Your Claude plan
  • Your ChatGPT plan
CloudyClaude CodeCodex
ModelCloudy creditsYour Claude planYour ChatGPT plan
ComputeCloudy creditsCloudy creditsCloudy credits
SearchCloudy creditsCloudy creditsCloudy credits
Choose the account for each chat. Model usage comes out of the plan you connect, and compute and search stay on Cloudy credits.

FAQ

What is Cloudy?

A research tool that runs your ML experiments on cloud GPUs. You describe what you want to find out and attach your code; Cloudy plans the experiments, runs them, reads the results, and decides what to try next, for hours or days. You get back the code, results, and a written report.

Who is it for?

ML engineers, mostly at startups, who train or fine-tune models and have more experiments to run than time to run them. You don’t need your own GPUs or a research team.

How is this different from asking a chatbot or coding agent?

Cloudy uses the same models and can even run on your Claude Code or Codex plan; the difference is what surrounds them. A coding agent, even in auto mode, works on your machine or a CPU sandbox and ends its turn once the task looks done. Cloudy brings its own cloud GPUs and treats your goal as a research question: run an experiment, measure, decide what to try next, for hours or days until your criteria are met or the time limit is reached.

What do I get back?

The code, logs, measurements, plots, and checkpoints from every experiment, plus a written report and the acceptance record showing which criteria were met and the evidence for each. Negative results are kept too: knowing an idea didn’t work is still a result.

Can I use my own code and data?

Yes. Attach files in the app or run cloudy new ./your-project from the CLI to upload a local folder. Cloudy can also clone repositories and download datasets inside its cloud environment. Keep secrets and environment files out of uploads.

How does auto-pause work?

Choose how long research should run, from one minute to seven days. When the time is used up, Cloudy saves a checkpoint and shuts down compute. Paused time doesn’t count. You can also pause manually. The duration is a time limit, not a dollar spending cap.

Can I pick up where I left off?

Yes. Resume in the same conversation with your saved files, results, and instructions. Cloudy continues from the last checkpoint. Running processes don’t stay alive while paused.

Can I use my Claude or ChatGPT plan?

Yes. Connect Claude Code or Codex and the research model runs on that plan, with no extra Cloudy token charge. If the provider reports you’ve hit your limit, Cloudy pauses rather than switching to Cloudy credits. You can also run entirely on Cloudy credits.

What do I pay for?

Compute by the millisecond, web search at $0.007 per request, storage at $0.09 per GiB-month, and model usage, either through your connected account or with Cloudy credits. Everything is charged at provider list price from prepaid credits your team shares; there’s no subscription. Live research summaries are always included, free. See pricing for the breakdown.

Try it on the experiment you keep putting off.

Set a time limit and close your laptop. Add credits by card and pay only for what runs. No subscription.