|
Download web/docs/TROUBLESHOOTING.md from DaisyChainAI/DaisyChain-Train: direct link, hf CLI and curl.
- Browser
- Download file 3.85 kB
-
https://huggingface.co/DaisyChainAI/DaisyChain-Train/resolve/main/web/docs/TROUBLESHOOTING.md
- Command line
-
hf download hf://DaisyChainAI/DaisyChain-Train/web/docs/TROUBLESHOOTING.md
-
curl -L -o TROUBLESHOOTING.md https://huggingface.co/DaisyChainAI/DaisyChain-Train/resolve/main/web/docs/TROUBLESHOOTING.md
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 | |
| ```bash | |
| 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](../TEST_RESULTS.md) for what each suite proves. | |