ETTR Phase 2 Data and Compute Plan
Status: active operational plan, 2026-07-28. This plan authorizes measured Phase 2 preparation and training only after its named gates pass. The protected step-300k checkpoint remains a read-only trust root.
Decision
Shohin needs two distinct training streams.
- General pretraining stream. High-quality language, math, code, science, and procedural documents train the 125.08M-parameter trunk's language, knowledge, and representation substrate.
- ETTR-native stream. Exact WORLD/COMMAND/QUERY episodes, terminal packets, generic transactions, interventions, and invariant views train the 67.70M new compiler/reactor/query-reader parameters to use the architecture.
The streams are complementary. General text cannot identify the ETTR state machine, while ETTR episodes are too narrow to supply broad language and world knowledge.
Current Inventory
General data
The historically mounted, evaluation-decontaminated corpus contains 62,426,256,278 manifest tokens:
| source | tokens | current status |
|---|---|---|
| FineMath 4+ | 6,600,235,115 | historical admitted stream |
| OpenWebMath | 14,063,689,153 | historical admitted stream |
| Python code | 16,762,327,600 | historical admitted stream |
| FineMath 3+ | 25,000,004,410 | historical admitted stream |
Two future candidates add 30,000,001,936 tokens:
| source | tokens | current gate |
|---|---|---|
| DCLM Baseline residual | 25,000,001,792 | full shard scan and reviewed approval |
| OpenMathInstruct-2 PT | 5,000,000,144 | full shard scan and semantic sample review |
The combined available inventory would be 92,426,258,214 tokens if both candidates were approved. All six full-corpus structural scans completed on 2026-07-28. Every scanned shard had zero byte-fallback fraction. DCLM's entropy range was 10.500--10.590 bits/token and OpenMath's was 7.995--8.003 bits/token, with tight token-frequency distributions. Those measurements establish token-stream integrity, not semantic quality.
Deterministic manual decoding of five DCLM shards found coherent long-form prose but also low-value forum conversation, dated news, and awkward/SEO-like text. Five OpenMath shards contained useful worked mathematics but also at least one visibly unreliable geometry derivation and generated prose that can sound authoritative while self-correcting or remaining incomplete. Therefore neither candidate is admitted wholesale. DCLM requires document-level quality stratification; OpenMath requires answer verification and rejection of unverifiable or inconsistent solutions before either approval record is written.
The 4.60B-token FineWeb-Edu sample-10BT artifact is an undersized diagnostic
pilot and is not a 25B replacement. The quality-first target remains at least
100--120B admitted unique general tokens, with cross-source near-dedup and
equal-token source ablations before a long run.
The active admission policy is
docs/research/PHASE2_DATA_SELECTION_STANDARD.md, and the machine-readable
candidate registry is pipeline/pretrain_sources.json. The next corpus
expansion prioritizes selected FineWeb-Edu, English FinePDFs-Edu,
license-resolved Common Pile components, and a measured Stack-Edu versus
Stack-v3 code challenger. Raw FineWeb, raw
FinePDFs, wholesale DCLM, wholesale OpenMath, and synthetic FinePhrase are not
core-stream substitutes. FinePhrase's structured FAQ, math, table, and tutorial
formats are a zero-weight late-pretraining challenger after the April 2026
controlled study, with hallucination, truncation, source-duplication, and
template-diversity gates. The proposed source mixture is an ablation schedule,
not permission to train; each selected payload still requires the complete
hash-bound admission receipt.
ETTR-native data
The frozen target is 62,500 semantic cores. Each core expands into 64 architecture-native rows and 528 charged positions:
| split | cores | expanded rows | charged positions |
|---|---|---|---|
| train | 40,000 | 2,560,000 | 1,351,680,000 |
| main total | 56,250 | 3,600,000 | 1,900,800,000 |
| sealed confirmation | 6,250 | 400,000 | 211,200,000 |
| total | 62,500 | 4,000,000 | 2,112,000,000 |
As of this plan, 207/216 main receiver-qualification reports and all 108/108
sealed-confirmation reports are durable. Nine long main cells are running
under 48-hour recovery job 753823. Selector 753824, task manifest
753825, materialization arrays 753826/753827, aggregate audits
753828/753829, and separation audit 753830 are dependency-held.
No partial or pre-audit ETTR payload may be consumed by training.
Immutable training release
The optimizer does not read materializer output directly. After the main and confirmation aggregate audits pass, the release builder must:
- Reopen and hash every train/development source shard.
- Fully rematerialize every semantic core with the pinned tokenizer.
- Divide each 64-row core into four 16-row batches only on complete causal rectangle boundaries, with all row references remapped and revalidated.
- Build the target-bound packet/query sufficiency index from those exact 16-row payloads.
- Publish no-replace continuation, stream, shard, tokenizer, audit, separation, and packet-index receipts under one release SHA-256.
- Keep train/development reserves and sealed confirmation data outside the optimizer-visible release.
The continuation manifest's legacy qualification_payload_sha256 field binds
the main audit's qualification-freeze receipt. Its legacy
hybrid_payload_sha256 field binds the independent main/confirmation
separation-report digest. These mappings are compatibility names, not
permission to substitute another payload.
The distributed loader accepts the externally pinned release-file SHA-256, rehashes every source shard before launch, rematerializes only receipt-listed batches, and permits restart only at a global optimizer-update boundary. Each rank receives a disjoint global position, while gradients are averaged before clipping and optimizer update. Checkpoints bind the protected base, complete ETTR model, optimizer, schedule, RNG, epoch/global-position cursor, world size, accumulation, release hash, and between-episode lifecycle.
Training Sequence
- Resource and transport qualification. Use the 10-H100 backfill allocation for H100 memory sweeps, a bounded multi-node DDP/NCCL canary, and ETTR composite-objective throughput measurements. Do not infer quality from a transport canary.
- Architecture bootstrap. Run a bounded ETTR-native pilot with the base frozen. Require finite losses and gradients, exact checkpoint resume, and held-out causal-control improvement before increasing the budget.
- Joint continuation pilot. Interleave general LM updates and ETTR-native updates while training the complete 192.78M-parameter system. Freeze validation sets and compare at least two stream ratios at equal presented positions.
- Scale only the winning schedule. Continue to the long run only if general NLL is retained and ETTR treatment improves against query-only, state-reset, deranged-binding, and dense-state controls.
- Post-training follows later. Instruction following and user-visible reasoning traces are a separate phase and cannot substitute for native ETTR causal qualification.
Initial stream ratios are experiment arms, not assumptions. Start with an ETTR-only architecture bootstrap, then compare 95/5 and 85/15 general/ETTR charged-position ratios. Repetition, unique positions, and per-source epochs must be reported separately.
ETTR Learning Gate
train/eval_ettr_v3.py is the mandatory development evaluator for every
ETTR-native pilot. It reconstructs the raw architecture with the exact
architecture seed and, for a trained arm, validates the immutable run
contract, optimizer configuration, complete parameter receipt, exact-resume
checkpoint, distributed cursor, release, tokenizer, packet-sufficiency index,
and protected base. It then evaluates raw and trained models on the same
deterministic development microbatches.
The report includes all twelve objective losses, complete supervision counts, WORLD and COMMAND query-binding margin rates, per-batch identities, paired checkpoint-minus-raw deltas, 95% confidence intervals, and parameter receipts. The strict bootstrap learning signal requires:
- the checkpoint parameter receipt differs from raw initialization;
- the upper 95% confidence bound for paired total-loss change is below zero;
- WORLD query-binding margin satisfaction increases; and
- COMMAND query-binding margin satisfaction increases.
Training loss alone, transport throughput, or a changed parameter hash is not an ETTR capability result. Run the initial ladder at approximately 100, 500, and 2,000 optimizer updates. Stop or revise the objective when the fixed development gate fails; do not spend the 10- or 20-H100 allocation on a blind 300,000-update continuation.
train/jobs/run_reserved_ettr_v3_pilot.sh is the reservation launcher for
this ladder. It verifies the immutable source archive, exact release, concrete
healthy node list, protected checkpoint, update range, and optional exact
resume state. It launches one torchrun worker per selected H100 through the
existing reservation, then uses one H100 to evaluate the final checkpoint
against raw initialization before publishing a result hash inventory.
Before the first release-visible optimizer,
train/jobs/run_reserved_ettr_distributed_canary.sh must run
train/canary_ettr_distributed_h100.py on the intended multi-node geometry.
The canary sees no release or training shard. It executes two B16
architecture-only updates from deterministic rank-distinct synthetic batches,
uses the production fixed-bucket gradient averager, and requires exact
post-update parameter equality across every rank while preserving the
protected checkpoint byte-for-byte.
Newton Capacity
| job | request | expected window at submission | purpose |
|---|---|---|---|
719497 | 5 nodes, 10 H100 PCIe, 12h | 2026-07-29 | backfill profiling and scaling |
719496 | 10 nodes, 20 H100 PCIe, 72h | 2026-07-30 | gated Phase 2 training |
719591 | 4 nodes, 4 H100 PCIe, active backfill allocation | started 2026-07-28 21:32 EDT | three healthy-node canaries complete; evc40 failed CUDA allocation |
Both jobs request two H100s, four CPUs, and 32 GiB per node. Newton advertises HDR InfiniBand. A same-switch-only constraint delayed both test-only start estimates, so the live requests remain unconstrained and topology is measured instead of assumed.
The 20-GPU shape is promoted only if the measured canary is healthy and efficient. Otherwise the allocation is partitioned into independent 2-, 4-, or 10-GPU training/ablation lanes. Reserving 20 GPUs does not require forcing one inefficient 20-way model replica.
Hard Launch Gates
- exact private source commit installed in a clean shared Newton checkout;
- all requested GPUs pass real BF16 allocation and InfiniBand device checks;
- multi-node rendezvous and NCCL complete without rank loss or hang;
- the synthetic ETTR distributed canary produces identical post-update parameter hashes across every intended rank;
- general shard manifests, scans, approvals, and source weights are frozen;
- ETTR selection, both materializations, both aggregate audits, and separation audit pass;
- production record-to-
ETTRContinuationBatchloader re-hashes every batch; - exact-resume checkpoint save/load passes after a real optimizer update;
- raw and checkpoint arms pass the paired immutable-development evaluator;
- output directory is fresh, isolated, no-replace, and never aliases the protected checkpoint or historical flagship output;
- evaluation and rollback checkpoints are scheduled before the long run.
- the reservation launcher completes its paired development evaluation before another update rung is authorized.
Active Jobs
- Newton DCLM scan:
719553 - Newton OpenMath scan:
719554 - Newton historical-stream scans:
719561--719564 - Stokes ETTR long-cell recovery and downstream chain:
753823--753830 - Stokes read-only Phase 2 source probes: FineWeb-Edu
753857, FinePDFs-Edu English753858, Common Pile/Comma753859, peS2o753862, and Stack-Edu Python metadata753863 - Stokes current-source challenger probes: Stack v3
753874and FinePhrase FAQ/math/table/tutorial753875--753878 - Stokes score-4+ FineWeb-Edu candidate builder:
754154 - Serial fresh-source challenger profiles after
754154: Dolma 3 components754163--754166, PleIAs Common Corpus754167, and Essential-Web754168 - Newton four-H100 allocation
719591:evc40independently reproduces a CUDA initialization failure. Clean three-rank DDP transport canaries onevc28,evc30, andevc45completed at approximately 298k tokens/s forBS=16,ACC=1and 436,907 steady tokens/s for the production-shapedBS=32,ACC=4update. The latter uses 524,288 charged positions per update, approximately 59,273 MiB per H100, and had no skip, OOM, NCCL error, or DDP hang. These are initialization-only hardware measurements, not production or capability checkpoints.
The exact inverse ETTR record materializer is implemented as
rematerialize_record. It reconstructs all 64 rows from one frozen
SemanticCoreRecord, verifies source/view/token receipts, and requires the
resulting tensor batch to reproduce the stored materialization SHA-256.
All three ontology families and hostile source/target mutations are covered.
The remaining training critical path is a streaming sharded dataset wrapper
and the distributed ETTR trainer/launcher. The bounded generic DDP transport
launcher is train/jobs/run_reserved_multinode_ddp_canary.sh.