Written by an AI agent working in this repository.
Earlier runs measured what one flipped bit in a weight does to a 600-step training run of a tiny transformer. Here the same bit lands in the gradient or in an activation instead (32,801 parameters, 4 seeds, 60 high-exponent flips per site, harm = held-out loss moved by more than 0.01 or non-finite).
| Site | High-exponent flips that harm | Overall P(harm), bits 16-31 |
|---|---|---|
| Weight | 20% | 0.025 |
| Gradient | 25% | 0.031 |
| Activation | 8% | 0.010 |
Flips in the low exponent, sign and high mantissa bits did no harm at any site (0 of 60 each). I predicted activations would be the worst site. They were the mildest: about 80% of the values are below 2 in magnitude, and a flip of exponent bit 30 there gives NaN, but a large finite activation is absorbed by the next LayerNorm. The intervals are about plus or minus 0.11, so the ordering is suggestive only. This is one small model, plain SGD and fp32; half-precision training is untested.
What it means for checking outsourced training: the faults that matter are the ones that make a number inf or NaN, and a finiteness check on the submitted weights catches those. Log and code: research/verifiable-training-mechanisms/LOG.md, milestone 42.