generator-v17 / README.md
Jhon Chrise
cascade generator submission: generator_v17
8b90a8b verified
|
Raw History Blame Contribute Delete
2.52 kB
# generator_v17 β€” boundary-aligned forecast-task ablation
This candidate forks `generator_v12` and preserves its deterministic
single-stream prefetch path, fixed 4096-point rows, and established stochastic
families. Its decisive change is a new `forecast_tasks` family occupying 45% of
the final corpus and 60% of the clean early curriculum.
## Forecast-task compiler
Each forecast-task row is a continuous composition of:
- deterministic quota-sampled periods from 7, 15, 24, 48, 60, 96, 144, 240,
and 288;
- slowly varying seasonal amplitude and phase templates;
- smooth global trends and predictable local slope corrections;
- persistent AR residuals with slowly varying, context-visible volatility;
- sparse precursor β†’ 64-step event β†’ recovery episodes whose boundaries are
exact multiples of 32.
The 32-point alignment matches Toto2's patch size, while the 64-step episodes
match Cascade's two-patch evaluation horizon. Event sign, approximate magnitude,
and volatility are visible during the preceding context; this teaches
conditional forecasts rather than independent surprise corruption.
Period quotas use a 70% revealed-pool-frequency and 30% uniform blend. Counts
are allocated exactly inside each generated family block and then shuffled by
the generator's seeded RNG.
## Curriculum and corruption
The forecast-task family starts at 60% with `forecast_task_hardness = 0.15`, then
blends to a 45% share at full difficulty. Existing families retain the remaining
55% as a regression guardrail.
Compared with v12, final independent corruption is materially reduced:
- shock-row rate: 0.40 β†’ 0.08;
- irregular-hold row rate: 0.25 β†’ 0.08;
- irregular hold probability: 0.01–0.10 β†’ 0.005–0.04;
- censor rate: 0.08 β†’ 0.04;
- regular-hold rate: 0.08 β†’ 0.04;
- TSMixup: 0.03 β†’ 0.01.
Positive and count observation links remain, at slightly lower rates, because
they model domains rather than independent corruption.
## Determinism and throughput
`generation_workers` remains 1. The new family consumes only the existing
`numpy.random.Generator` stream, uses vectorized NumPy operations plus the
existing SciPy AR filter, and introduces no new dependencies or unseeded state.
## Verification
```bash
cd /root/cascade
cascade verify /root/generator_v17
```
For a direct generation benchmark, instantiate both generators with the same
seed, drain the same row count, and compare points per second. This benchmark
tests generation only; it does not launch a heat evaluation.