Hippius
maincontainerPublic

kguy/cascade-3

sha256:553fa429a3324310c2e79df466f7535ff942cb8edc52566fcc926755222ed46c·Indexed Jul 16, 2026

Layers

53

Total size

292.8 KB

Files

53

Quantization

README.md

3.1 KB

kguy-v1 — throughput-fixed, breadth-widened generator

A cascade data generator. It keeps a curated, eval-calibrated TempoPFN-derived prior wholesale and makes two changes aimed at the score lever the base design was leaving on the table: generation rate is the compute ceiling (stream_cpu — the trainer consumes the generator synchronously and stops at tokens >= budget OR deadline, so realized training compute is ∝ generation speed).

What changed vs. the base generator

  1. Vectorised ForecastPFN evaluation (the decisive fix). forecast_pfn_generator.py::_get_freq_component evaluated its Fourier sum on a pandas Index in a scalar loop — ~40 pandas Index ops per component per series, ~74% of the family's runtime spent in Index.__new__ / _arith_method. It is now a batched numpy matmul. The RNG draw order is untouched, so the sampled prior is identical to ~1e-12 — only the overhead is removed. Measured at L=4096: forecast_pfn 24.0 → 8.1 ms/series, forecast_pfn_h 33.1 → 10.3 ms/series (~3.0–3.2×). Because these two families carried 67% of the base corpus and were 10–60× slower than every other family, they alone set the base wall clock.

  2. Widened the prior with near-free orthogonal families + a rebalance. Three structural-axes families already implemented in kguy_v1_families/axes.py but never wired up are now given mass — all numpy/FFT-cheap at L=4096 and covering regimes fpfn/classical/signature never reach:

    • fgn (3.9M pts/s) — fractional Gaussian noise / fBm, long-range dependence.
    • fractal_multi (5.9M pts/s) — multifractal random walk: volatility clustering + fat tails.
    • chaotic (2.1M pts/s) — Lorenz/Rössler/Mackey–Glass/logistic/Hénon under observation noise. plus counts (zero-inflated negative-binomial) bumped in. ForecastPFN stays the plurality (0.52 combined) since it is the highest-signal family; the freed mass went to these fast, high-diversity, eval-shaped families.

    Deliberately excluded (O(L³) at L=4096 — throughput killers in this regime): ksynth_cal (1,235 pts/s), tsmixup (66k), and the vendored GP/KernelSynth/CauKer families.

Measured effect

base kguy-v1
end-to-end throughput ~74k pts/s ~141k pts/s (≈1.9×)
flat series (std<1e-6) ~0.5% 0%
corpus families 9 13
cascade verify OK, [deterministic]

Throughput ≈1.9× ⇒ the trainer spends ≈1.9× the token budget at the same wall clock (linear under the anti-trickler bound). Absolute pts/s vary with the box; the per-family 3× on forecast_pfn is the invariant driver.

Determinism / layout

Corpus is a pure function of (seed, n_series); lazy per-family imports keep module import numpy-only (so the generation sandbox's 4096 MB rlimit is never hit by torch); length band [64, 4096] matches [training] context_length = 4096. Custom families live in kguy_v1_families/.

Verify / deploy

cascade verify ./kguy-v1 --chain-toml chain.toml
cascade deploy ./kguy-v1 --hub-repo kguy/cascade-2 \
    --wallet-name poker --wallet-hotkey hot1

Files

53 items
  • tempo_gen/synthetic_generation/generator_params.py

    aaee9d1ae930

    27.8 KB

  • tempo_gen/synthetic_generation/forecast_pfn_prior/forecast_pfn_generator.py

    0edc73cfc2cd

    26.6 KB

  • generator.py

    27042dfef466

    21.3 KB

  • tempo_gen/synthetic_generation/ornstein_uhlenbeck_process/ou_generator.py

    594f050016bd

    20.7 KB

  • tempo_gen/data/frequency.py

    a5a77f72ff03

    19.3 KB

  • tempo_gen/synthetic_generation/steps/step_generator.py

    8f7f1610deb8

    15.8 KB

  • kguy_v1_families/axes.py

    64c51a75c9f8

    12.6 KB

  • kguy_v1_families/signature.py

    355ddd2eaacf

    12.1 KB

  • tempo_gen/synthetic_generation/spikes/spikes_generator.py

    abbc63b5d4e0

    11.7 KB

  • tempo_gen/synthetic_generation/cauker/cauker_generator.py

    47fdc2af2242

    10.8 KB

  • tempo_gen/synthetic_generation/anomalies/anomaly_generator.py

    16a869482961

    10.3 KB

  • tempo_gen/synthetic_generation/sine_waves/sine_wave_generator.py

    b3f19edb3c96

    10.3 KB

  • tempo_gen/synthetic_generation/sawtooth/sawtooth_generator.py

    31f5a603fc47

    7.9 KB

  • tempo_gen/synthetic_generation/gp_prior/gp_generator.py

    33b684967285

    7.6 KB

  • kguy_v1_families/jtest.py

    7be0b59de90a

    6.3 KB

  • kguy_v1_families/counts.py

    cbdbade4e28c

    6.3 KB

  • tempo_gen/synthetic_generation/forecast_pfn_prior/forecast_pfn_generator_wrapper.py

    5df7684635df

    6.1 KB

  • tempo_gen/synthetic_generation/gp_prior/utils.py

    13388efa0bf7

    5.5 KB

  • tempo_gen/synthetic_generation/kernel_synth/kernel_synth.py

    738f83e9dedf

    4.7 KB

  • tempo_gen/synthetic_generation/abstract_classes.py

    852625b14190

    4.7 KB

  • tempo_gen/synthetic_generation/sine_waves/sine_wave_generator_wrapper.py

    0735426c89ec

    4.6 KB

  • kguy_v1_families/mixup.py

    0d4059168f66

    4.5 KB

  • tempo_gen/synthetic_generation/utils.py

    bdbe1e7777e7

    4.0 KB

  • tempo_gen/synthetic_generation/sawtooth/sawtooth_generator_wrapper.py

    848825fc80ff

    3.5 KB

  • README.md

    ea1cee7dd964

    3.1 KB

  • tempo_gen/synthetic_generation/kernel_synth/kernel_generator_wrapper.py

    9d69305a1b01

    2.8 KB

  • tempo_gen/synthetic_generation/cauker/cauker_generator_wrapper.py

    59dff29ba91b

    2.7 KB

  • tempo_gen/synthetic_generation/gp_prior/gp_generator_wrapper.py

    59bcec592d59

    2.4 KB

  • tempo_gen/synthetic_generation/forecast_pfn_prior/utils.py

    fa1f30ba9990

    2.4 KB

  • tempo_gen/data/containers.py

    1ed1ed4a1068

    2.4 KB

  • tempo_gen/synthetic_generation/anomalies/anomaly_generator_wrapper.py

    33dfd20337f4

    2.0 KB

  • tempo_gen/synthetic_generation/spikes/spikes_generator_wrapper.py

    224c61fde715

    2.0 KB

  • tempo_gen/synthetic_generation/steps/step_generator_wrapper.py

    3fcd7e661204

    2.0 KB

  • tempo_gen/synthetic_generation/ornstein_uhlenbeck_process/ou_generator_wrapper.py

    bd77f9e93450

    1.4 KB

  • requirements.txt

    75dea4a01255

    1021 B

  • tempo_gen/synthetic_generation/forecast_pfn_prior/series_config.py

    43f48dcb1dce

    917 B

  • config.json

    b982e8be4e4b

    849 B

  • tempo_gen/data/constants.py

    a19942968bc4

    597 B

  • tempo_gen/synthetic_generation/gp_prior/constants.py

    36f23285ef2e

    540 B

  • kguy_v1_families/__init__.py

    f56ab2f8c48e

    65 B

  • tempo_gen/__init__.py

    82f90305d489

    65 B