| { | |
| "entry_class": "model.BitStreamModel", | |
| "output_base": 2, | |
| "framework": "pytorch", | |
| "model_description": "BitStream Modular Machine (46,128 parameters: ReduceCell 26,826 + AddCell 19,302): two trained recurrent cells applied over bit vector state registers by a fixed, feedback free streaming schedule. ReduceCell (3 blocks) computes z = x mod p for x < 4p; AddCell (2 blocks) computes s = x + g*y. Each cell is a position shared stack of bidirectional scan blocks: gated linear scans (hard {0,1} gates at inference) with pointwise MLPs, over per position embeddings of the operand and modulus bits (p, 2p, 3p wires for the reduction). The schedule streams the raw bits of a then b, two per step, through ReduceCell (X <- (4X + d) mod p), then streams the bits of the learned residue of a through AddCell + ReduceCell (Z <- (2Z + g*Rb) mod p). All arithmetic content carries, the comparisons against p, 2p, 3p, quotient selection, borrow chains lives in trained parameters; the forward pass performs only bit routing (shifts and concatenations). Emits the answer as base 2 digits, MSB first. Problems whose p exceeds the trained width fall back to [0].", | |
| "training_description": "Both cells trained from random initialization on synthetic instances of their per step contracts (x mod m for x < 4m; x + g*y), following the per step residue supervision paradigm of the organizers' dlp_grokking example: cross entropy on the output bits plus auxiliary supervision of the internal automaton signals (carry bits, borrow chains against k*m, quotient class). Random moduli of every bit length in scope, padded to every inference width (no length extrapolation is used); operand mixtures include uniform quotient sampling, quotient boundary aiming (s near k*m +/- delta), and long carry and borrow run stress patterns. AdamW with a width curriculum, straight through hard gate training, scan output noise injection, output margin hinge, hard example replay mined from every batch, EMA weight averaging, and best checkpoint selection on the minimum exact match rate across all widths. No weights are hand set; randomizing the weights collapses accuracy to chance (perturb_test.py). Full training code included (train.py, data.py, verify.py)." | |
| } |