| Contract | V6 choice | Status |
|---|---|---|
| P-token budget | 16 final tokens per P-frame | LOCKED |
| Internal topology | 144 learned latents as 12×12; native 3×3 connector produces 4×4 | VERIFIED |
| Feature interface | Molmo selected layers and copied attention-pool/projector | VERIFIED |
| Attention mask | Patch states cannot read latents; latents can read patches | VERIFIED |
| Temporal range | Post-connector sinusoidal code for t=1…16 plus learned residual | VERIFIED |
ptok.| Check | Measured result | Interpretation |
|---|---|---|
| Temporal rows t=1…16 | norm ≈ 1; minimum pair distance 0.445 | No V5 zero-collapse |
| Query initialization | norm 0.6601 | Latents are not dead at initialization |
| Zero-initialized MV projection | 64 / 64 gradient entries non-zero; norm 2.89e-5 | Zero init preserves the pretrained starting point without blocking learning |
| Duplicated motion checkpoint entries | strict equality required | Stage 2 fails fast instead of loading a split-brain motion projection |
| Visual parameters trainable in Stage 2 | 0 | Paper freeze contract is now met |
| LLM parameters trainable in Stage 2 | non-zero count | Freeze does not disable language fine-tuning |
| Current implementation commit | 5e6cb1d7 | Includes Stage-2 connector freeze and motion-checkpoint consistency guard |
| Decision check | Result |
|---|---|
| High-cost selections at 10 / 20 / 30 / 50% | identical |
| Recalibrated γ difference | 0.0019% |
| I/P role agreement and I-boundary Jaccard | 100% / 100% |
| Pathological random-texture stress test | fails badly; retained as an explicit adversarial limit |
rgb-valid-hier-v1; exhaustive search is the stronger oracle and is too slow for the full pipeline.| Priority | Required change | Required regression test |
|---|---|---|
| P0 | Use t=1…16, random video windows, and true sample-weighted global batch 128 | Multi-rank objective matches a single-process reference |
| P0 | Fail collectively on empty/error ranks; stop swallowing configuration errors | Injected rank-local failure exits every rank with the same root cause |
| P0 | Build deterministic video-level proxy splits; run paired controls in eval mode | No video identity overlap; repeated evaluation is deterministic |
| P0 | Make resume atomic and distinguish warm start from exact resume | Interruption, digest mismatch, and off-by-one resume tests |
| P0 | Implement full 2-fps timeline → adaptive GOP → token-budget selection | Long-video fixture constructs GOPs before budgeted sampling |
| P1 | Unify Stage-1/Stage-2 signed-u5 transport and repair eval double processing | Stage-1, Stage-2, and eval connector outputs match |
| P1 | Replace cache forward-scan with an eligible-index manifest | Eligible examples are sampled uniformly; code errors are not hidden |
| Item | Decision | Reason |
|---|---|---|
| Nₚ | 16 | Matches AdaCodec/JoyAI's approximate per-P budget and preserves the current Molmo adaptation |
| Motion search | keep hierarchical | Near-exact real-video behavior at 3.66× lower runtime |
| Stage-1 target | RGB(Pₙ) | Consistent with what the deployed P representation actually encodes |
| Temporal range | 1…16 | Matches Kmax=16 and is numerically non-degenerate |
| Motion oracle expansion | required | Current 66-pair audit is strong but not sampled from the final training distribution |
| Signed-u5 quantization | A/B | Current uint8 path introduces a known zero offset and train/deploy shift |
| Molmo 81:16 budget ratio | measure | Absolute Nₚ matches the reference; total-token compression is lower than Qwen's 256:16 ratio |
| Quantity | Formal V6 target | Why |
|---|---|---|
| Unique video files | 771,738 | Keep every non-Ego4D file plus 5,000 Ego4D clips balanced across four QA styles |
| Stage-1 training | 16.64M tuples | Match AdaCodec's 130k steps at global batch 128; draw random windows and GOP depths from the video pool |
| Stage-2 instruction pool | 2.4M–3.9M examples | Molmo2 is the lower reference; AdaCodec is the reproduction target |
| Stage-2 optimization | 5.76M draws | Match 45k steps at global batch 128, including 40k at 64k and 5k at 224k visual tokens |
| System choice | Measured result | Decision |
|---|---|---|
| BF16 Tensor Cores | approximately 5× faster than FP32 | DEFAULT |
| DDP gradient buckets | approximately +8% over manual all-reduce in the synthetic core | DEFAULT |
torch.compile(default, fullgraph=True) | 0.199 → 0.171 s/step; first graph approximately 55 s | DEFAULT |
reduce-overhead | 0.170–0.171 s/step plus an extra approximately 14 s capture | REJECT |
max-autotune | >7 min of duplicated rank-local search; most GEMMs still selected cuBLAS | REJECT |
| compile frozen teacher | fullgraph fails at data-dependent aten.nonzero | KEEP EAGER |
| Held-out proxy | real P | shuffled P | zero P | Verdict |
|---|---|---|---|---|
| RMS · step 200 | 1.2147 | 1.2145 | 1.3255 | no matched-content gain |
| RMS · step 400 | 1.1477 | 1.1483 | 1.2531 | +0.0006 only; below gate |
| Run tier | Data / optimization scale | Variants | Promotion requirement |
|---|---|---|---|
| A · loss screen | 800 videos · 2k updates · 1 seed · effective 128 tuples/update | raw; RMS-only; hybrid λscale = 0.03 / 0.1 / 0.3 | finite training; real P beats both controls by ≥1% |
| B · stability | 10k videos · 5k updates · 3 seeds | top two from A; optional λP-interface = 0.01 / 0.03 / 0.1 | positive gap on every seed and major source family; no scale drift |
| C · pilot | 50k videos · 20k updates · 2k-video held-out set | single selected objective | proxy gap persists; downstream frozen-LLM activation statistics remain in-family |
| D · formal | 130k updates · effective GBS 128 · full selected corpus | locked objective only | all contracts fingerprinted; formal γ and cache ready |
2ce34fd5, 21204e8f, and 5e6cb1d7.
Reference: AdaCodec and
JoyAI-VL-Interaction, plus
Molmo2.
The public JoyAI codec implementation was not available at audit time; unpublished details are not treated as confirmed bugs.