SG verified artifact f6b9c4ae766bde8b
Browse files- web/README.md +67 -0
web/README.md
ADDED
|
@@ -0,0 +1,67 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# DBMoE web pages
|
| 2 |
+
|
| 3 |
+
## Live pages
|
| 4 |
+
|
| 5 |
+
- [Training progress](https://codex.opentransformers.online/dbmoe/progress)
|
| 6 |
+
- [Browser training self-test](https://codex.opentransformers.online/dbmoe/browser-selftest/)
|
| 7 |
+
- [Native worker joining instructions](https://codex.opentransformers.online/dbmoe/)
|
| 8 |
+
|
| 9 |
+
The progress dashboard reads the coordinator's public status and displays accepted work, evaluation history, network inference, and available self-reported worker hardware. Its inference controls offer measured automatic routing, a single coordinator, strict distributed inference without fallback, and the existing network-with-fallback mode. Automatic mode uses one fixed-public-text byte per route on the pinned snapshot, caches the faster result for that snapshot/sampler, and reports the selected route and probe timings.
|
| 10 |
+
|
| 11 |
+
## Browser test scope
|
| 12 |
+
|
| 13 |
+
The browser page runs two synthetic PyTorch reference fixtures with 2,945 parameters each. It compares forward results, gradients, and one AdamW update per fixture. The selected backend must initialize explicitly; there is no silent backend fallback. The test runs only after the user starts it, uses a separate worker, and has a two-minute limit.
|
| 14 |
+
|
| 15 |
+
This bounded test is separate from contributing to the live model. Its computed results remain in the page; ordinary static downloads are still visible to the web host.
|
| 16 |
+
|
| 17 |
+
For this release, CPU JavaScript and single-threaded WebAssembly parity passed in the cloud browser on 5 November 2026. The Stop control also passed its browser check. WebGPU did not initialize in that environment, so no GPU parity pass is claimed. A fixture pass establishes these small numerical checks on the tested backend, not full-model capacity or sustained performance.
|
| 18 |
+
|
| 19 |
+
## Runtime provenance and release contents
|
| 20 |
+
|
| 21 |
+
The fourteen browser runtime files are ready to serve; no application build is required. The six files under `browser-selftest/vendor/` come from these exact npm packages:
|
| 22 |
+
|
| 23 |
+
- `@tensorflow/tfjs@4.22.0`
|
| 24 |
+
- `@tensorflow/tfjs-backend-webgpu@4.22.0`
|
| 25 |
+
- `@tensorflow/tfjs-backend-wasm@4.22.0`
|
| 26 |
+
|
| 27 |
+
`browser-selftest/runtime-download-spec.json` records each registry archive, its SHA-512 integrity value, and the exact files extracted from `package/dist/`. To rebuild vendor files, fetch those archives, verify their recorded integrity, and extract only the listed files. The TensorFlow.js license is included. Runtime files are loaded from the same site.
|
| 28 |
+
|
| 29 |
+
`SHA256SUMS` covers the fourteen browser runtime files and the progress HTML snapshot. Verify them from this directory:
|
| 30 |
+
|
| 31 |
+
```sh
|
| 32 |
+
sha256sum -c SHA256SUMS
|
| 33 |
+
```
|
| 34 |
+
|
| 35 |
+
The runtime download specification is release metadata. It is not included in the public nginx asset allowlist.
|
| 36 |
+
|
| 37 |
+
## Deployment
|
| 38 |
+
|
| 39 |
+
`../deploy/browser-selftest.locations.conf` and `../deploy/browser-selftest.headers.conf` reproduce the narrow static routes and response headers. They contain no coordinator proxy, authentication data, or owner mapping.
|
| 40 |
+
|
| 41 |
+
The example uses the existing deployment directory `/opt/agillm43_netserve/dbmoe-browser-selftest/`. Copy only the fourteen browser runtime files there. Use mode 0755 for static directories and 0644 for their files, or equivalent permissions that let nginx traverse the directories and read the assets. Install the headers file at the exact path referenced by the location file, `/opt/agillm43_netserve/dbmoe-browser-selftest.headers.conf`, and include the location file inside the intended nginx server block. Adjust these filesystem paths together for another host.
|
| 42 |
+
|
| 43 |
+
The location allowlist serves only the named HTML, JavaScript, CSS, fixture, license, and WASM files. Other paths return 404. Check the full nginx configuration before reloading it.
|
| 44 |
+
|
| 45 |
+
Serve `progress/index.html` at `/dbmoe/progress` with the coordinator's status available at the same-origin `/dbmoe/status` endpoint.
|
| 46 |
+
|
| 47 |
+
## Native workers: one contributor across machines
|
| 48 |
+
|
| 49 |
+
After installing the native worker as described in the repository README, mint one reusable credential:
|
| 50 |
+
|
| 51 |
+
```sh
|
| 52 |
+
python3 dbmoe.py enrol \
|
| 53 |
+
--url https://codex.opentransformers.online/dbmoe \
|
| 54 |
+
--token-file worker.token
|
| 55 |
+
```
|
| 56 |
+
|
| 57 |
+
Copy that credential securely to each authorized machine. Give each worker a distinct name and use the same credential file:
|
| 58 |
+
|
| 59 |
+
```sh
|
| 60 |
+
python3 dbmoe.py worker \
|
| 61 |
+
--url https://codex.opentransformers.online/dbmoe \
|
| 62 |
+
--token @worker.token --name machine-1
|
| 63 |
+
```
|
| 64 |
+
|
| 65 |
+
The enrol command creates the credential file privately and does not print the token. Keep it out of source control, URLs, screenshots, and public messages. Reusing the credential gives machines one contributor identity while their distinct names keep worker records separate.
|
| 66 |
+
|
| 67 |
+
Anonymous automatic joining remains available: omit `--token` and the worker enrolls itself without an account. Workers have no default runtime cutoff (`--hours 0`). Self-enrolled credentials renew their 30-day inactivity horizon on authenticated use, so ongoing training has no lifetime expiry.
|