cd /news/developer-tools/reproducing-a-lerobot-regression-wit… · home topics developer-tools article
[ARTICLE · art-122508] src=discuss.huggingface.co ↗ pub= topic=developer-tools verified=true sentiment=· neutral

Reproducing a LeRobot regression with TraceML

TraceML, an open-source PyTorch training diagnosis tool, reproduced a known LeRobot training regression and found that recurring DataLoader fetches took over five seconds, while most fetches were quick. Comparing LeRobot before and after upstream fix #2408 on an NVIDIA L4 with ACT workload, step time dropped from 1496.9 ms to 116.8 ms in one pair and from 1542.7 ms to 117.2 ms in another, with DataLoader fetch CPU time falling from 1375.7 ms to 1.5 ms and from 1427.5 ms to 1.3 ms, while compute stayed around 110-116 ms. TraceML reported INPUT-BOUND to COMPUTE-BOUND in both pairs, and the maintainer seeks feedback on the tool.

read2 min views1 publishedSep 7, 2026

While reproducing a known LeRobot training regression, I found a pattern that the average timing alone doesn’t show: most Data fetches were quick, but recurring fetches took over five seconds.

I maintain TraceML, an open-source PyTorch training diagnosis tool. We are building toward more automatic performance regression diagnosis: when training gets slower after a change, help identify where the extra time went. Today, you instrument the training loop, record two runs, and use traceml compare to compare timings and bottleneck diagnoses.

For this case study, I compared LeRobot before and after upstream fix #2408. The LeRobot contributors found and fixed the bug; this experiment measures its effect.

The workload was ACT, 200 steps per run, on one NVIDIA L4. Both revisions used the same dataset, training settings and TraceML instrumentation in the Accelerate-based loop. The second pair reversed execution order:

Metric Pair 1: broken → fixed Pair 2: broken → fixed
Step time 1496.9 → 116.8 ms 1542.7 → 117.2 ms
Data fetch, CPU 1375.7 → 1.5 ms 1427.5 → 1.3 ms
Compute 115.9 → 110.5 ms 110.4 → 111.1 ms

TraceML reported INPUT-BOUNDCOMPUTE-BOUND in both pairs. The recurring input stalls disappeared after the fix; compute stayed around 110–116 ms on this host. Exact timings vary across machines, and startup can affect the first pair. Inspect both orders before attributing a compute change to the fix.

To try it: use Linux x86-64, Git, Python 3.10 with venv support, internet access and one NVIDIA GPU with a driver supporting CUDA 12.8. Ubuntu may need sudo apt-get install python3.10-venv first.


git clone [GitHub - traceopt-ai/traceml: Open-source performance diagnostics for PyTorch training runs. · GitHub](https://github.com/traceopt-ai/traceml.git)

cd traceml

bash examples/advanced/lerobot_v3_image_regression/run_reproduction.sh

The runner sets up its environment, downloads the dataset, runs one pair and prints the comparison location. Add –pairs 2 for both orders.

If a dataset, dependency or configuration change has slowed your own PyTorch training, try the TraceML quickstart. Share the before/after comparison and whether it helped you find where to investigate. Looking for feedback.

── more in #developer-tools 4 stories · sorted by recency
── more on @traceml 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
Live at https://your-agent.zahid.host
Get free account → Pricing
from €0/mo · no card required
LIVE [news/reproducing-a-lerobo…] indexed:0 read:2min 2026-09-07 ·