DaisyChain-Train / web /docs /TROUBLESHOOTING.md
Quazim0t0's picture
Upload web/docs/TROUBLESHOOTING.md with huggingface_hub
2841ec9 verified
|
Raw
History Blame Contribute Delete
3.85 kB

Troubleshooting

Common failure modes, what the log messages mean, and what to do.

Connection problems

Devices don't see each other.

  • Same network? Auto-grouping is by public IP β€” devices on different networks (e.g. phone on cellular) will never auto-group. Use ?room=CODE on every device instead.
  • Room joins need host approval β€” the first device in the room must click Accept for each newcomer.
  • Corporate/CGNAT networks can block WebRTC (only STUN is configured, no TURN relay). Try a room over the hosted Space, or another network.

"WebGPU not available" / backend shows CPU.

  • WebGPU needs a secure context: localhost or HTTPS. Plain http://192.168.x.x never gets WebGPU β€” tunnel it or use the Space.
  • Old hardware/drivers without a modern GPU backend fall back to CPU. That's supported β€” CPU devices compute the identical bits, just slower.

A kernel warning at startup (e.g. "failed verification β€” using CPU LUT mirrors"). The device's GPU produced values that don't match the verified units bit-for-bit, so that kernel was refused and a slower-but-exact path is used. This is the system working as designed; the run stays correct.

Training problems

"SYNC GUARD: stopped β€” weight hash mismatch." Replicas forked β€” the run is stopped rather than trained past a divergence. The most common cause is mixed builds: devices running different versions of the page whose math specs differ (the quantize respec is a real, bounded spec change β€” old and new builds must not co-train). Make sure every device has the same version (hard-refresh: Ctrl+Shift+R), then restart the run or restore from a checkpoint.

"missing a roster gradient … requesting repair from the leader." A gradient reached some peers but not others (asymmetric mesh). The follower re-requests it from the leader, who retains the last 8 steps β€” normally the run continues by itself. If repair fails repeatedly, the sync guard stops the run; check whether a device went offline.

"probe hash mismatch." A device's kernel is producing wrong values at runtime (the seeded probe GEMM no longer matches the fleet). That device should rejoin β€” its gates will re-run at init and demote it to CPU if its GPU misbehaves.

Loss looks stuck / falls very slowly. Small widths and short runs are modest models β€” try more steps, a wider model, or more devices (each adds its batch to the effective batch). Remember the envelope: this pools compute, not memory; it is a proof of concept for small models.

A slow device paces everyone. Steps are synchronous: the group advances when every roster gradient arrives. Removing (or upgrading) the slowest device speeds up everyone.

Data problems

"dataset unreachable β€” using built-in corpus." The /data endpoint couldn't read the FineWeb-Edu shards (offline, or the CDN hiccuped β€” the server reads parquet slices straight off the HF CDN with range requests). Training continues on the built-in fallback text; generation quality will reflect the smaller corpus.

Checkpoint problems

"tokenizer mismatch." The checkpoint was trained with a different vocab than the tokenizer this page loaded β€” it cannot be resumed here.

"bad dims in checkpoint." Width/sequence outside the supported 16–128 range β€” likely a corrupted or foreign file.

Loading a valid checkpoint on one device broadcasts it to the whole group; you don't need to load it everywhere.

Verifying your install

npm test

All ten suites should pass on a clean clone (Node only, no browser/GPU required). If a suite fails on unmodified code, please report it β€” the tests are deterministic apart from bounded random sweeps that are designed not to flake. See TEST_RESULTS.md for what each suite proves.