HeyMSK
Back to the build steps

Recorded results and verification

The playground runs the exported weights locally in a single-thread WASM worker. It uses the original character vocabulary, a 32-token context and greedy prediction over all 98 tokens. The model receives your printable ASCII input verbatim.

Recorded evaluation

Four generated tokens including EOS. Checkpoints were selected with validation, then frozen. Test results never selected a model.

Policy and formatHeld-out exactOutside range exact
base, arithmetic501 / 5020 / 497
first, arithmetic495 / 5020 / 497
finetuned, Q and A486 / 5020 / 497
rl, Q and A447 / 5020 / 497

The base model scored 100% on validation, yet missed 9+2= on the final test, continuing with 10. All four evaluated policies scored zero exact answers on the 497 out-of-range examples.

Evaluation counts, slices, errors and dataset hashes. Actual fine-tuning history and selection. Original training history.

Calibration measurements

Temperatures were fitted separately on 496 reserved calibration examples. These metrics cover held-out answer characters and EOS. They measure next-token predictions.

PolicyTemperatureNLL raw / fittedBrier raw / fitted
base0.55560.001693 / 0.0021160.001048 / 0.001130
first0.59780.012057 / 0.0090380.005718 / 0.005549
finetuned0.71620.033413 / 0.0414460.016612 / 0.017427
rl1.05050.086868 / 0.0852010.047203 / 0.046913

Calibration improved the first attempt's held-out loss. It worsened held-out loss for the base and fine-tuned policies. Fitting on one split does not guarantee improvement on another.

Fitted temperatures, provenance and reliability bins.

Optional file verification

A checkpoint stores the trained weights. SHA-256 is a fingerprint of a file's bytes. If the file changes, its fingerprint changes. I use it to check that the browser loads the intended file and to connect a result to the weights that produced it. It does not measure model quality.

The Python checkpoint and the browser ONNX export are different file formats, so their fingerprints differ. Conversion checks compare their predictions. The manifest is a machine-readable index of model names, file paths, sizes and fingerprints. The browser reads it automatically; you do not need to read it to build or use the model.

Random weights, 1.73 MB

Epoch 0. 0 recorded training updates.

Original checkpoint SHA-256: f6dc9f643ca53f9f01c758aaf696dc5fbbcaee440876610b509406831d52bd20

Export SHA-256: 651be4e41a7cc6d4396e25d1dc582469c1bbc0dc9ce8073c7624ebbabaef30d5

Download this ONNX graph
First training attempt, 1.74 MB

Epoch 45. 1440 recorded training updates.

Original checkpoint SHA-256: 14b2986a1e3b7eca2c663cf9a57dc942dd3bc1e809ff23122f5e4de6e40f1734

Export SHA-256: 8d83d45830044886444bce818ce040a1829bd16280889c8514e252b03659d8f0

Download this ONNX graph
Improved base, 1.74 MB

Epoch 140. 4480 recorded training updates.

Original checkpoint SHA-256: d9195e330fe72aed659e067010515a6264ad5da4f1462de17f6389afdfbdd84b

Export SHA-256: 52a9ecc45d77f92b0d1fd80d6cb5a98ab1f329fbaf1d1ba0946c7f62edac4565

Download this ONNX graph
Fine-tuned Q and A, 1.74 MB

Epoch 35. 2205 recorded training updates.

Original checkpoint SHA-256: 66f53eaff2a81219b68051e169d90b302bc1bcb019b1db073f71acaaac5413f6

Export SHA-256: 64642d8d00e6ce9cb2df56ef747daced71dcc0766b0a8f3dc4d77af5da86d38e

Download this ONNX graph
PPO policy (AI feedback), 1.74 MB

30 PPO updates. 60 recorded training updates.

Original checkpoint SHA-256: b06108603c8647b50f2d6e5504d86ad30b43fabeba1fda62ef50fee27cdffb05

Export SHA-256: 929fff443dc46dd2c85c09bafa2de2a482584a10e560926870ea17f36c344f56

Download this ONNX graph

Browser model file index. Python conversion checks. Run browser parity verification.

Feedback experiment

The assistant chose 120 preferences over actual generated responses. These are AI labels, not human labels. A reward head learned from 84 training comparisons, with 17 for validation and 19 held out. It correctly ranked 6 of the 19 held-out comparisons. A fixed thirty-update PPO run used this frozen learned reward and a supervised reference policy. Formatted arithmetic regressed from 486 to 447 correct answers out of 502.

Actual AI label decisions and attribution. Reward training, PPO logs and held-out preference results.

Reader and device limits

The reading time is estimated at 15 to 30 minutes. No human usability study has been completed. Narrow-layout emulation is distinct from testing a physical phone. Browser verification reports name the environments actually checked.

Runtime and data provenance

The arithmetic data and model source come from my local Tiny Arithmetic GPT course. The runtime is ONNX Runtime Web 1.24.1, under the MIT license. Model and runtime assets are hosted with the site and use content hashes. No API key or inference server is required.

Official runtime deployment documentation. Runtime asset hashes and license directory.