ML TRAINING OBSERVABILITY

Debug the run.
Not the logs.

A runtime debugging layer for machine learning training. Track variables, validate numerical behavior, diagnose failures, and inspect runs without adding GPU overhead by default.

Python · NumPy · PyTorch · CuPy · JAX · TensorFlow
Scroll to explore
PULSE / LIVE RUNTIME
SEE IT IN ACTION

Training is running.

Pulse stays beside the training path and keeps the runtime state available when something goes wrong.

01 · RUN Watch the training process in real time.
02 · DETECT Spot the numerical behavior that changed.
03 · DIAGNOSE Ground the diagnosis in actual runtime evidence.
04 · VERIFY Measure the result after the fix.
pulse.
QUICKSTART

Add Pulse.
Keep your loop.

Install Pulse, attach it to your runtime, and start inspecting your training process without rewriting the loop.

01 Install the runtime
02 Start tracking
03 Diagnose live
pulse / terminal
$ pip install pulseml
Collecting pulseml Installing runtime... ✓ Pulse installed
from pulse import auto_track

auto_track()

# your existing training loop

for batch in loader:

    loss = train_step(batch)

    loss.backward()

    optimizer.step()
WHY PULSE

Training failures
leave evidence.

Most debugging workflows throw that evidence away. Logs show what happened. Pulse keeps the runtime state available so you can investigate why it happened.

01 / RUNTIME

See what is actually happening.

Discover variables in a running process and selectively track state without rewriting your training loop.

02 / NUMERICS

Check the math.

Deterministic diagnostics for statistics, distributions, gradients, correlations, outliers, shapes, and runtime behavior.

03 / AGENT

Give agents real evidence.

Connect an LLM to the live workspace and reason from measurements plus code instead of a stack trace alone.

DETERMINISTIC FIRST

Don't make
the model guess.

An agent can suggest hypotheses. It shouldn't invent measurements. Pulse gives the agent deterministic runtime diagnostics so numerical claims can be grounded in actual data.

$ pulse /diagnose

LEARNING RATE
hypothesis: unstable optimization
result: not supported

GRADIENTS
/histogram grad_norm
/outlier grad_norm
/diffstats grad_norm

result:
gradient spike precedes failure
learning rate remains stable

diagnosis grounded in runtime data
WORKFLOW

From runtime state
to verified fix.

01

Track

Attach to the running process and select the variables that matter.

02

Diagnose

Run deterministic checks against the live state and its history.

03

Verify

Measure the hypothesis instead of relying on intuition.

04

Patch

Draft or apply a fix only when you explicitly ask for it.

SHARED WORKSPACE

One runtime.
One source of truth.

The runtime and dashboard stay connected. Inspect variables, histories, diagnostics, and agent context from one shared workspace.

TRAINING RUN

transformer_train

● RUNNING
loss 0.0298
grad_norm 1.84
learning_rate 2e-4
embedding_norm 7.31
0%
DEFAULT GPU OVERHEAD

Stay out of
the training path.

Pulse keeps tracking CPU-side by default. GPU-resident variables are explicitly opted in, so instrumentation doesn't silently become part of the training workload.

PULSE / ML RUNTIME TOOLING

Stop debugging blind.

Instrument the runtime. Keep the evidence. Diagnose the failure. Verify the fix.