NeuronDump
Look inside any local LLM, find the parts it doesn't need, and make it smaller.
NeuronDump reads GGUF model files (the format used by Ollama and llama.cpp) and shows what is inside: layers, attention heads, vocabulary, chat template, weight statistics. It can then remove unused parts and write a smaller GGUF that still runs in Ollama and llama.cpp.
It works with any model. It reads each file's own metadata; nothing is hard-coded per model.
With the trace feature it also runs supported models on the CPU, so you can follow a token
through every layer, see why it was chosen, and edit the model live (scale, zero, steer, patch,
ban…) with undo and a before / after comparison, then bake the edits into a new GGUF.

Try it in your browser: the browser demo inspects a .gguf file you
drop on the page, 100% locally (nothing is uploaded). Inspection only; the rest needs the app.
Install
Download: ready-made Windows, Linux and macOS builds are on the
releases page. Unzip and run neurondump list.
Download steps and checks: install guide.
From crates.io: with Rust 1.88 or newer, run cargo install neurondump
(add --features trace to also run models).
Build from source: you need Git and Rust 1.88 or newer. Step-by-step instructions: Windows, Linux and macOS install guide.
Windows (PowerShell):
winget install Git.Git
winget install Rustlang.Rustup # then reopen PowerShell
git clone https://github.com/aymen94/NeuronDump
cd NeuronDump
cargo install --path crates/neurondump
neurondump list
Linux:
| &&
Add --features trace to cargo install to also run models (trace, token journey, generation
timeline, simulation and live edits).
The web UI's 3D engine, wamr3d, is vendored in
crates/neurondump-web/frontend/vendor/wamr3d/ and embedded in the binary, so nothing is fetched at
run time. To refresh it (needs npm): scripts/vendor-wamr3d.sh (pinned version), then rebuild.
Quick start
With --features trace:
Run neurondump with no arguments to choose between the interactive CLI and the web interface.
Look inside, cut, and see the impact
The web interface draws the model as a graph you can open up, in 2D or 3D. The 3D dataflow view runs input → layer 0 … N → output up a column, with blocks around their layer and heads, neuron buckets and experts on rings, all drawn with instanced meshes on wamr3d (WebGPU, or WebGL 2 automatically). Tower, city and force layouts are there too. Everything is bundled, so it works offline.
-
Render inside any part:
- double-click a layer to see its attention and feed-forward blocks;
- double-click attention to see its KV groups, then its individual heads;
- feed-forward opens into neuron buckets, and MoE into experts.
-
Inspect:
- hover any part for its size and flag;
- click it for its path, contents, connections, weight statistics, activations, importance,
and whether it can be removed (
safe,riskyorbreaks_model) and why.
-
Search inside: type a tensor name like
blk.3.ffn_down. Closed layers open to show it. -
Cut (edit): press Cut this on any part (a layer, a block, a head, a token range) to add it to a cut selection. Cut parts get a red outline.
-
Direct impact, instantly: the panel shows:
- parameters removed or zeroed, and the new file size;
- what gets disconnected and what depends on the cut;
- whether llama.cpp still loads the file;
- a verdict.
Dangerous cuts are refused unless you force them.
-
Simulated impact (
--features trace): the cut model runs in memory next to the original. You compare their next tokens, KL divergence, generated text, the logit lens per layer and perplexity. Nothing is written. -
Sweep: cuts each layer (or head) in turn, ranks them by damage, and colors the graph with it.
-
Save as plan → Slim: writes the smaller GGUF and an Ollama Modelfile.
Follow a token, change the model, see what happens
- Tokens (any model): token boundaries, ids, classes, the tokens the chat template adds, each
token's embedding norm and nearest tokens, and a 3D embedding map of the whole vocabulary
(PCA of
token_embd). - Token journey: for any input or generated token, the logit lens per layer (where the answer first appears), attention per layer and head as heatmaps, the most active FFN neurons, and the decision breakdown: how much each layer, attention head and FFN pushed the chosen token against the runner-up. The path lights up in the 2D and 3D graph, and token flow animates it.
- Generation timeline: each step's token, probability, entropy and alternative; click a step for its decision breakdown.
- Live edits: scale or zero a layer, block, head, neuron bucket, neuron or expert; skip a layer;
edit a token's embedding; ban or boost tokens; activation patching; steering vectors; sampling,
forced tokens, system prompt and template. Every change runs baseline vs edited (text, top-k, KL,
perplexity, logit lens, decision breakdown), with undo / redo / restore all, toggles, named
snapshots and a portable
edits.json. Bake writes a new GGUF; the original is never touched.



Details: Interventions, Web interface.
Supported architectures
- Static analysis, graph, impact, slim, tokens, bake: any GGUF architecture (layer kinds are read from the tensors: attention, linear attention / SSM, MoE, dense).
- Runtime (
--features trace: trace, journey, timeline, simulation, sweeps, live edits):llama,qwen2,qwen3,gemma,gemma2,gemma3,phi3,bert,nomic-bert. No MoE or hybrid (Qwen 3.5) forward pass yet. See Limitations.
The same works from the command line:

Details: Graph and ablation.
Documentation
| Page | What it covers |
|---|---|
| Install and run | Windows and Linux, step by step |
| Getting started | find your models, first commands |
| How it works | what NeuronDump reads, and how |
| Architecture | crates, core API, job system, graph, forward pass, edit overlay |
| CLI reference | every command and flag, and the REPL |
| Web interface | every page: graph, tokens, journey, timeline, edits, jobs |
| HTTP API | every endpoint, with examples |
| 3D graph | wamr3d, backend fallback, layout, performance |
| Interventions | ablation, edits, steering, patching, undo / restore, bake |
| Limitations | unsupported architectures, experimental parts, WebGPU notes |
| Changelog | features by phase |
| Analyze and slim | making models smaller, safely |
| Trace | running a model and looking at each layer |
| Graph and ablation | the 3D / 2D graph: look inside layers, inspect, search, cut, direct and simulated impact |
| What's inside real models | Qwen3 8B vs DeepSeek-R1, and Qwen 3.8 |
| Building | build options and Windows notes |
| Manual test plan | step-by-step checks |
A short illustrated explanation is on the website
(source: docs/index.html).
Status
Early version, tested on Windows with Ollama models. Known gaps are listed in Limitations and at the end of TEST.md. Bug reports and ideas: issues.
License
Licensed under the MIT License.