Phase 4 · ternary weights

Postnet × Cloudflare — ternary

Every weight is constrained to {−1, 0, +1} with a single learned scale S. Workers propose ternary flips (pick K positions, set each to a new value in {−1, 0, +1}), score each on a private batch, submit the best. Snapshot is packed 2 bits per weight (16× smaller than float32 at scale). Substrate test for plugging in a real BitNet b1.58 model as Phase 5.

↑0 B ↓0 B

Decision boundary. Forward pass uses sign[i] × scale for every weight. The boundary will be visibly coarser than the float version because there are only 3P reachable weight configurations.

K = 8 trials · flip size = 6 positions · weights ∈ {−1, 0, +1}

(idle)

Accept rate is lower than the float tournament (typically 8–30% vs ~50%) because the ternary search space is coarser — many proposed flips don't beat the current state. Each accepted flip is a real, discrete improvement. Snapshot at P = 129 is just 45 bytes on the wire (12-byte header + 33 bytes packed). At BitNet 2B (P = 1.5B), the same encoding ships ~375 MB once via R2 and ~340 B/tick thereafter.