Try it Bot Watch a run Pricing API
Terraform plan, for model changes

Agents are changing your model.The diff does not say what it costs.

Neurarch answers on the pull request, before the GPU starts: what the model becomes, whether it will forward-pass, what one run costs on which card, and how far the change reaches.

Install the bot → Paste a model, get the plan

Free to start · no account for the check · arithmetic and rules, never a prediction

96 of 96 blocked graphs crash PyTorch 43 structural checks, 0.27 ms per edit 234 real checkpoints we re-derive from config
neurarch.com
Real session, no cuts: a pull request that would have started a $4,220 run, refused. Then the same check on code you paste.
Why one line in a config is worth a plan

d_model: 768 -> 1024 is one line in a pull request. Attention and the feed-forward both scale with the square of it, so every transformer block in that model just got 1.78× larger, the memory footprint moved with it, and it may no longer fit the card you reserved. None of that is in the diff, and none of it is in review.

The one line in that plan no frontier model can write, because the data is not in it:

history   Last time this structure trained here: valAcc 0.9865, 3 epochs, <$0.01, 34s, 2026-09-04

That row is real, off a pull request, out of your own organisation's ledger and nobody else's.

Where it runs

Five ways in, one verifier behind all of them

Watch a run One recorded run end to end: designs proposed, the broken ones refused, one paid GPU run. neurarch.com/watch Try it Paste a model, get the card. Nothing to install, no account. neurarch.com/try The bot Two files in your repo, and every pull request gets a plan. uses: neurarch-ai/neurarch-bot@v0 MCP server Your coding agent gets the graph, and the checks, as tools. npx -y neurarch-mcp /abs/path/model.py The API plan, check, rank, fix, train, history. Over HTTP, no model call. POST /api/v1/check
One command

Trace a forward pass, get the plan

Params, will it run, GPU fit, cost, and a link you can send someone. Real output, real link.

zsh
$ neurarch-trace torchvision.models:resnet18 --input 1,3,224,224 --plan --share
Plan: resnet18   68 layers · 11.7M params · fingerprint 9ea7d4ae
  shape     [3,224,224] -> [1000]
  will run  yes (0 blockers, 0 warnings)
  fits      T4 16GB yes · A100 40GB yes · H100 80GB yes
  train     ~$0.11 / 6m on A10G (24GB)   (10 epochs, batch 32, 50k samples assumed)
Share: https://www.neurarch.com/p/r7rq5c4jt2
pip install neurarch-trace
Real training

A real GPU run costs cents, and the price is on screen before it starts

T4 $0.59/h, billed by the minute ~$0.07 quoted for 15 epochs, before the run 98.9% val acc, overfitting flagged at epoch 7
Recorded against production on a free-to-start account. Picking the dataset re-prices the plan in front of you, nothing is spent until you confirm that number, and the run ends by criticising itself. Only edit: the mid-run wait is fast-forwarded 16x.
Watch

Two more loops, and neither one needs an account

The agent designs, and shows its working. One sentence, no account, no model call. Candidates are generated and priced, the one the verifier blocks is struck out with its rule, the rest are ordered by legality and then cost with ties left tied. Every figure says what it was computed from, and it ends at a priced button nobody has pressed.
What actually changed between two models. A textual diff shows renamed variables. This shows the deltas: +943M parameters, +24 layers, 35 layers changed and 163 untouched, and which cards each one still fits. Compare two of your own →
Checkable

Those numbers are derived. Here is us checking them.

We reconstruct 234 checkpoints people actually download from their config.json alone, no weights read, and put our parameter count next to the scalars actually in the published weight files. 62 of 81 comparable checkpoints are reproduced within 2% from config alone; the median miss is 0.5%.

CheckpointWe deriveIn the weightsDelta
Qwen2.5-7B-Instruct7.62B7.62B+0.00%
t5-small60.6M60.5M+0.11%
roberta-base124.0M124.7M-0.53%
distilbert-base-uncased66.4M67.0M-0.95%
vit-base-patch16-22485.4M86.6M-1.40%
All 234, including the 19 we miss → The misses are on the same page. They are the reason to believe the hits.
Pricing

Free to start. Pay when you scale.

Beta pricing, rates lock in for life when you subscribe during early access.

Free

$0 forever
  • Full graph editor, 195 layer types
  • 15 agent messages a day
  • PyTorch / Keras / ONNX export
  • The checks, the bot, the API
Start for free →
Most popular

Pro

$19 /mo
  • 500 agent messages a month
  • HuggingFace, arXiv and code import
  • Notebook, report, model-card export
  • Cost estimator and cloud snapshots
Start free trial →

Pro Plus

$39 /mo
  • 2,000 agent + 200 Claude messages
  • Team collaboration and workspaces
  • Live training dashboard and replay
  • SSO, audit log, priority support
Start free trial →

Need invoicing, a seat count, or the verifier inside your own network? Email us →

If you want the rest

The parts worth reading only if you are checking us

Where the verifier is weak, measured against our own trained runs

A passing check is not a prediction of accuracy, and we publish the number that says so. 24 designs that all passed the verifier of the day and all trained end to end on one T4 finished between 6.8% and 97.2%. Re-linting them against the verifier we ship now blocks 4 of them, so among designs that are still legal today the spread is 58.8% to 97.2%.

Two CIFAR-10 designs the verifier clears today trained to 71.7% and 20.1%. Across the 24, static scores barely moved either way: Spearman 0.17, essentially uninformative. Closing that gap is the product, so the number stays on the page while it is still bad.

What the same campaign does support: 24/24 trained end-to-end on a managed T4 through the production trainer, 18 designed by frontier models and 6 human references. On 4 of 5 classification tasks, the best verifier-passed model-generated design finished at or above the human reference's accuracy after identical real training; on the other task, every generated design trained to noise.

Every row, both ways of pooling it →

The whole loop, one continuous take (3 min)

1. The pull request. An agent changes one number in a config. The bot answers underneath the commit, refuses the run at $4,220 for a head count that will not divide, and grades the fixed commit at −29.4M parameters, −0.47 GB training memory and −$45 on the bill.

2. Your own code. A pasted nn.Module whose flatten fan-out nobody recomputed: stopped at pre-flight by one blocker that would have failed a $0.04 run, with the layer and both numbers named, and cleared by one free click that calls no model and starts no GPU. The four stages after pre-flight stay ungraded, because a graph that cannot forward-pass has no verdict to give.

3. The graph is real. Every shape propagated from the input contract, a palette of 195 layer types and 75 blocks that is also the agent's action space, and the generated page for the same template with its layer table, verdict and exported PyTorch.

4. A published model. Qwen3-8B read from the config its authors shipped: 219 layers folded to the block that repeats 36 times, 144 KB of KV cache per token, a training run priced at $20,863 before anything starts, our parameter count beside the count in the published weight files, every card we price and which one it fits, and what GQA or MLA would do to the cache.

5. It designs, and it refuses. One sentence in, one question back — the only thing the graph cannot answer — then every candidate checked and ordered by legality and then cost, with ties sharing a rank. Then the account's own ledger for that exact structure, and a priced training button nobody has pressed.

6. The same check, everywhere. A GitHub Action on every model pull request, a CLI, a tool inside your coding agent, and an HTTP API.

Nothing in the take spends money, and nothing in it claims to know which design trains better.

What is actually in the box
  • A typed graph, not a picture. 195 layer types and 75 prefab blocks, shapes propagated end to end, 48 templates from LLaMA 3 to PatchTST.
  • 43 structural checks that run on every edit in 0.27 ms: head divisibility, GQA mismatch, norm placement, dead paths, blown parameter and KV budgets.
  • Import from where the model already lives. arXiv URL, HuggingFace id, PyTorch source, .onnx / .safetensors, or a screenshot of a paper figure.
  • Export what you own. PyTorch, Keras, ONNX, a training notebook, a Docker + FastAPI bundle, a TikZ figure with BibTeX.
  • Real training, free or managed. One-click Colab or Kaggle notebook on a free GPU, or in-app managed GPUs from T4 to H200 with live curves and a budget cap.
  • The organisation's memory. What this exact structure did the last time it trained here, which is the one line no frontier model can write.
Your code, your keys, and what we store
  • No account is needed for the canvas, the checks, or code export.
  • Your own Anthropic or Gemini key lives in your browser's localStorage, goes straight to the provider, never reaches our servers, and is wiped on sign-out or an account switch.
  • The hosted agent is proxied for signed-in users so per-plan quotas can be enforced. That is the only path where a prompt touches our infrastructure.
  • Nothing is persisted unless you ask: local snapshots stay in the browser, cloud save is an explicit action with one-click delete.
  • Privacy policy · Security · Data policy and published datasets
Common questions

Does it actually train models, or just design them? Both. The default is an architecture-aware simulation, labelled as one everywhere it appears. Real training runs either on a free Colab / Kaggle GPU through a one-click notebook, or in-app on managed GPUs with per-plan budget caps. A simulated run is never reported as a measurement.

How is this different from asking an LLM for the PyTorch? An LLM writing PyTorch is fast and often right. The problem is the edit nobody checks: the head count that stops dividing the embedding dim, the Linear that no longer matches its upstream width. Those compile, pass review, and fail on the GPU you already paid for. Here every edit is verified against the graph before it lands, and the verdict is arithmetic, not an opinion.

Do I need an ML background? No. Describe the task and the agent picks the layers. The canvas and the advisor are built to show you what each block does rather than hide it.

Can I use it with my existing codebase? Yes. Import an nn.Module or a HuggingFace id, and the exporter writes clean classes that run with no Neurarch import anywhere.

Can I cancel anytime? Yes, from the billing portal. Access runs to the end of the period, and there is a full refund within 7 days of a first payment.

Start free today

The canvas, the agent, the checks and code export are on the free plan.

No spam. Answer the question and a person replies. Or just open the app now →