← Back to project

Molmo2 Codec V6 — Architecture, Evidence & Training Readiness

Unified implementation audit, Stage-1 alignment evidence, and H200 systems tuning · 2026-07-25
V6AdaCodecP-tokenizermotion searchStage 1alignmentMFU

1 · Executive verdict

Architecture
Core V6 is aligned
Molmo-native connector, block mask, 144→16 topology, temporal code, and Stage-2 visual freeze are implemented.
Motion search
Keep current search
Real-video oracle audit shows near-exact cost/ranking at 3.66× the speed of exhaustive search.
Training status
Alignment gate is open
The runtime is now viable, but RMS-only alignment does not yet beat shuffled P tokens and tuple-GBS 128 still needs accumulation.
Decision: freeze the V6 architecture and Nₚ=16; repair the training/data path before rebuilding caches or launching formal training.

2 · V6 architecture

I-frame path · unchanged Molmo2 contract RGB I-framepretrained Eᵢ 729 patch stateslayers −3 and −9 native 3×3 connectorattention_meanq + MLP27×27 → 9×9 81 I tokensfrozen in Stage 2 P-frame path · V6 Molmo-native adaptation signed uₜRGB residual + MVₓ/MVᵧ5 channels copied Molmo P-ViTresidual/RGB columns copiedMV columns zero-initializedindependent parameters 729 + 144 states12×12 learned latentspatch → latent blockedlatent → patches allowed native 3×3 connectorcopied, not shared12×12 → 4×4multi-layer features 16 P tokens+ eₜ after connectort = 1…16LLM token budget fixed Temporal code eₜ = t_scale · unit-sinusoid(t) + t_delta[t] Initialization t_scale = 8 · t_delta = 0 · every row t=1…16 is non-zero and distinct Stage 1 train Eₚ + Hφ; freeze Eᵢ and teacher Eₜ Stage 2 freeze all visual modules; train LLM only
ContractV6 choiceStatus
P-token budget16 final tokens per P-frameLOCKED
Internal topology144 learned latents as 12×12; native 3×3 connector produces 4×4VERIFIED
Feature interfaceMolmo selected layers and copied attention-pool/projectorVERIFIED
Attention maskPatch states cannot read latents; latents can read patchesVERIFIED
Temporal rangePost-connector sinusoidal code for t=1…16 plus learned residualVERIFIED

3 · Initialization and freezing

Component
Initialization
Stage 1
Stage 2
I-frame ViT + connector
pretrained Molmo
frozen
frozen
Motion search / block matching
fixed deterministic algorithm
non-learned
non-learned
P patch stem: residual/RGB columns
exact pretrained-stem copy
train
frozen
P patch stem: MV columns
zero init, paper-aligned
train
frozen
P ViT
pretrained copy
train
frozen
P connector/projector
pretrained copy, independent storage
train
frozen
144 latent queries
non-zero learned init
train
frozen
t_scale / t_delta
8 / zero
train
frozen
Hφ predictor
fresh transformer
train
discard
LLM
Molmo2-4B-SFT
frozen
train

4 · Verification evidence

Regression suite
34 passed
V6 A/B, P-tokenizer, vision-only teacher, bucket semantics, and synchronized-DDP sampling tests.
Initialization parity
max diff 0
RGB stem, initial connector output, and initial projector output.
Gradient reachability
all live
motion, query, pooling, projector, t_scale, and observed t_delta rows.
CheckMeasured resultInterpretation
Temporal rows t=1…16norm ≈ 1; minimum pair distance 0.445No V5 zero-collapse
Query initializationnorm 0.6601Latents are not dead at initialization
Zero-initialized MV projection64 / 64 gradient entries non-zero; norm 2.89e-5Zero init preserves the pretrained starting point without blocking learning
Duplicated motion checkpoint entriesstrict equality requiredStage 2 fails fast instead of loading a split-brain motion projection
Visual parameters trainable in Stage 20Paper freeze contract is now met
LLM parameters trainable in Stage 2non-zero countFreeze does not disable language fine-tuning
Current implementation commit5e6cb1d7Includes Stage-2 connector freeze and motion-checkpoint consistency guard
These checks validate component wiring and gradient flow; they do not validate the distributed objective, dataset split, cache distribution, or resume semantics.

5 · Motion-search oracle audit

MV agreement
94.42%
Hierarchical search vs. exhaustive ±48 oracle on 66 real 2-fps frame pairs.
Frame-cost rank
ρ = 0.99967
Adaptive-GOP ordering is effectively preserved on this sample.
Speed
3.66× faster
0.355 s vs. 1.300 s per frame pair at production geometry.
MV exact agreement
94.42%
frame pcost mean regret
0.593%
frame pcost p95 regret
2.093%
prediction MAE / 255
0.217
Regret bars are scaled to a 2.5% visual range; MAE is in 8-bit pixel levels.
Decision checkResult
High-cost selections at 10 / 20 / 30 / 50%identical
Recalibrated γ difference0.0019%
I/P role agreement and I-boundary Jaccard100% / 100%
Pathological random-texture stress testfails badly; retained as an explicit adversarial limit

6 · Remaining training gates

Readiness is a gated path, not one “tests pass” flag A · architectureV6 interface + freeze22 tests pass B · Stage-1 runtimeGBS 128 + random windowscollective-safe failures C · proxy validityvideo-held-out splitdeterministic controls D · data contractglobal γ artifactfingerprinted checkpoint E · train pilotshort V6 runproxy gate passes Stage 2 adds two separate gates full-timeline GOP sampler 2 fps → adaptive GOPs → uniform selection under 64k / 224k visual-token budgets strict initialization + resume load before finite check; exact missing-key set Stage-1 digest/config must match paper-aligned training recipe AdamW (.9,.999), eps 1e−8, LR 1e−5, GBS 128 40k @ 64k + 5k @ 224k; 10% warmup Red = blocks a trustworthy full run · amber = implementation/validation still required · green = verified.
PriorityRequired changeRequired regression test
P0Use t=1…16, random video windows, and true sample-weighted global batch 128Multi-rank objective matches a single-process reference
P0Fail collectively on empty/error ranks; stop swallowing configuration errorsInjected rank-local failure exits every rank with the same root cause
P0Build deterministic video-level proxy splits; run paired controls in eval modeNo video identity overlap; repeated evaluation is deterministic
P0Make resume atomic and distinguish warm start from exact resumeInterruption, digest mismatch, and off-by-one resume tests
P0Implement full 2-fps timeline → adaptive GOP → token-budget selectionLong-video fixture constructs GOPs before budgeted sampling
P1Unify Stage-1/Stage-2 signed-u5 transport and repair eval double processingStage-1, Stage-2, and eval connector outputs match
P1Replace cache forward-scan with an eligible-index manifestEligible examples are sampled uniformly; code errors are not hidden

7 · Fixed choices vs. open experiments

ItemDecisionReason
Nₚ16Matches AdaCodec/JoyAI's approximate per-P budget and preserves the current Molmo adaptation
Motion searchkeep hierarchicalNear-exact real-video behavior at 3.66× lower runtime
Stage-1 targetRGB(Pₙ)Consistent with what the deployed P representation actually encodes
Temporal range1…16Matches Kmax=16 and is numerically non-degenerate
Motion oracle expansionrequiredCurrent 66-pair audit is strong but not sampled from the final training distribution
Signed-u5 quantizationA/BCurrent uint8 path introduces a known zero offset and train/deploy shift
Molmo 81:16 budget ratiomeasureAbsolute Nₚ matches the reference; total-token compression is lower than Qwen's 256:16 ratio

8 · Formal-training data scale

Selected physical corpus
771.7k videos
All 766,738 non-Ego4D files plus 5,000 task-balanced Ego4D clips; 3.809 TB on disk.
Molmo2 reference
2.4M Video-QA examples
30k × 128 = 3.84M SFT draws, followed by 2k × 128 = 256k long-context draws.
AdaCodec reference
3.904M examples
45k × 128 = 5.76M Stage-2 draws; Stage 1 uses 130k × 128 = 16.64M tuples.
selected unique videos
0.772M
Molmo2 Video-QA pool
2.4M
AdaCodec instruction pool
3.904M
QuantityFormal V6 targetWhy
Unique video files771,738Keep every non-Ego4D file plus 5,000 Ego4D clips balanced across four QA styles
Stage-1 training16.64M tuplesMatch AdaCodec's 130k steps at global batch 128; draw random windows and GOP depths from the video pool
Stage-2 instruction pool2.4M–3.9M examplesMolmo2 is the lower reference; AdaCodec is the reproduction target
Stage-2 optimization5.76M drawsMatch 45k steps at global batch 128, including 40k at 64k and 5k at 224k visual tokens

9 · Stage-1 H200 throughput and compile decision

BF16 + DDP baseline
0.199 s / step
642 samples/s at n=1, 16 samples/GPU × 8 GPUs; 19.72% dense-BF16 MFU.
default fullgraph compile
0.171 s / step
748 samples/s; +16.4% throughput and approximately 22.99% dense-BF16 MFU.
real bucketed pipeline
+5–12%
End-to-end gain is smaller because the frozen Molmo teacher remains eager.
manual + FP32
126.7/s
DDP + FP32
128.9/s
manual + BF16
592.8/s
DDP + BF16
642.2/s
DDP + BF16 + compile
747.6/s
The first four bars use 642.2/s as the visual reference; compile exceeds that reference by 16.4%.
System choiceMeasured resultDecision
BF16 Tensor Coresapproximately 5× faster than FP32DEFAULT
DDP gradient bucketsapproximately +8% over manual all-reduce in the synthetic coreDEFAULT
torch.compile(default, fullgraph=True)0.199 → 0.171 s/step; first graph approximately 55 sDEFAULT
reduce-overhead0.170–0.171 s/step plus an extra approximately 14 s captureREJECT
max-autotune>7 min of duplicated rank-local search; most GEMMs still selected cuBLASREJECT
compile frozen teacherfullgraph fails at data-dependent aten.nonzeroKEEP EAGER

10 · Alignment-scale evidence and planned runs

Raw connector scale
std 664–686
Teacher maxima reach 27k–28k; the initial P output has std 0.555 and the old post-norm Hφ output was approximately unit scale.
RMS optimization
2.1187 → 1.0796
Stable 500-step optimization on 800 real videos, but optimization alone is not semantic validation.
Content-specific gate
real ≈ shuffled
RMS-only currently uses the presence/statistics of P tokens, not demonstrably the matched motion content.
Held-out proxyreal Pshuffled Pzero PVerdict
RMS · step 2001.21471.21451.3255no matched-content gain
RMS · step 4001.14771.14831.2531+0.0006 only; below gate
Raw paper losspreserves magnitudeoutliers dominatecontrol arm RMS-only lossoptimizes cleanlydrops magnitudenegative control Hybrid alignment sweepnormalized content+ predictor log-RMS match+ optional P-interface scaleλ ∈ {0.03, 0.1, 0.3} Promotion gatereal P < shuffled P and zero Pstable token RMS at LLM boundaryheld-out across datasets + seedsthen scale to formal Stage 1
Run tierData / optimization scaleVariantsPromotion requirement
A · loss screen800 videos · 2k updates · 1 seed · effective 128 tuples/updateraw; RMS-only; hybrid λscale = 0.03 / 0.1 / 0.3finite training; real P beats both controls by ≥1%
B · stability10k videos · 5k updates · 3 seedstop two from A; optional λP-interface = 0.01 / 0.03 / 0.1positive gap on every seed and major source family; no scale drift
C · pilot50k videos · 20k updates · 2k-video held-out setsingle selected objectiveproxy gap persists; downstream frozen-LLM activation statistics remain in-family
D · formal130k updates · effective GBS 128 · full selected corpuslocked objective onlyall contracts fingerprinted; formal γ and cache ready
Implementation evidence: V6 commits 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.