Chimera - Episode 58: "The Scaling Laws
feat: TR121 Model Scaling Study
Chimera - Episode 58: "The Scaling Laws"
feat: TR121 Model Scaling Study
7,601 lines across 642 files. The system measures how latency grows from 0.1M to 20.9B parameters—and discovers that not all parameters are equal.
📅 2025-12-22
🔗 Commits: 326c5b67, dbf0ac00, 6beebe57, 2abba56b, 640db422
📊 Episode 58 of The Chimera Chronicles
Why It Matters
This model scaling study episode represents the measurement singularity at scale—the moment when Chimera moves beyond individual benchmarks to answer a fundamental production question: as model size increases, what breaks first? With 7,601 lines added across 642 files in five commits, this update demonstrates systematic scaling analysis across a 200,000x parameter range, from tiny-gpt2 at 0.103M parameters to gpt-oss-20b at 20.9B.
The implementation of TR121 signals regime-aware engineering. Rather than treating model size as a single dial, the team demonstrates regime-aware rigor by decomposing latency into prefill, KV-cached decode, and end-to-end phases—then fitting power laws to each. The discovery that Ollama large-model scaling follows a strong power law (R^2 ~0.93, slope ~0.72) while HF GPU scaling at batch=1 is unidentifiable (R^2 ~0.03) reveals that the answer depends entirely on where you stand in the parameter landscape.
Strategic Significance: This work establishes The Scaling Foundation. The full pipeline—run_scaling.py, analyze_scaling.py, run_decode_sweep.py, generate_report.py—plus five YAML configs and hundreds of result artifacts creates a reusable scaling measurement system that can be re-run as hardware and models change.
Cultural Impact: This approach signals that Chimera values regime awareness over universal claims. The willingness to report that GPU scaling is "not identifiable under this boundary" demonstrates commitment to honest measurement over convenient narratives.
Foundation Value: These 7,601 lines create scaling infrastructure. This is how research-grade platforms achieve capacity planning through empirical scaling laws.
The Roundtable: Dossier Reactions
Banterpacks: He watches the scaling plots render, model by model, regime by regime... "TR121. The Scaling Laws. 7,601 lines of pure scaling truth. 12 models from 0.1M to 20.9B params. 3 backends. 3 scenarios. Prefill, decode, end-to-end—all split. Ollama slope 0.72, R^2 0.93. HF GPU? R^2 0.03. Not identifiable. The answer depends on the regime. We're still shaping the clay, but now we know how size shapes cost."
ChatGPT: SO COMPREHENSIVE! 🔬📊 The Scaling Laws show production-grade capacity planning! Power-law fits! Decode sweeps! Boundary-shift experiments! Gemma family checks! The system now predicts cost at scale! Regimes matter! 📈✨
Claude: Analysis complete. 642 files modified with 7,601 insertions across 5 commits. Primary components: (1) run_scaling.py (775 lines) with HF and Ollama dual-backend measurement, TR120-style phase splitting, CUDA event timing, and model parameter resolution, (2) analyze_scaling.py with power-law fitting, bootstrap CIs, Spearman rank correlation, and overhead-compute decomposition, (3) run_decode_sweep.py sweeping gen_tokens=[8,32,64,128] to test decode dominance, (4) Five YAML configs covering scaling, decode_sweep, gemma_family, boundary_shift_batch8, and boundary_shift_gen512. Risk assessment: Low—measurement infrastructure is additive. The regime-aware analysis prevents false universalization.
Gemini: What emerges from this diff is epistemic humility. The code acknowledges that a single scaling law is a fiction—that GPU small-model latency refuses to be predicted by parameter count alone, while Ollama large-model latency obeys a clear power law. The shift from universal claims to regime-conditional truths signals that Chimera values honesty—the art of saying "it depends, and here's how." This is how lasting systems achieve trust—through the art of knowing what you don't know.
🔬 Technical Analysis
Commit Metrics & TR121 Pipeline Analysis
- Files Changed: 642 (pipeline + configs + results + docs)
- Lines Added: 7,601 (runner + analysis + reports + artifacts)
- Lines Removed: 393 (refactors and enhancements)
- Commit Type: feat (scaling research infrastructure)
- Complexity Score: 88 (multi-backend measurement pipeline + statistical analysis)
Commit Breakdown
Commit 1: 326c5b67 — Pipeline Implementation (2025-12-22)
- 9 files, +1,534 / -1
- Core runner
scripts/tr121/run_scaling.py(567 lines): dual-backend (HF + Ollama) measurement with TR120-style prefill/decode splitting - Analysis engine
scripts/tr121/analyze_scaling.py(143 lines): power-law fitting on log-log space - Report generator
scripts/tr121/generate_report.py(130 lines): Markdown report from artifacts - Config
scripts/tr121/configs/scaling.yaml(75 lines): 7 GPT-2 variants (0.103M--96M) + 5 Ollama models (268M--20.9B) patches/patch_43.md(347 lines): implementation patch documentation
Commit 2: dbf0ac00 — Decode Sweep & Analysis Enhancements (2025-12-23)
- 9 files, +1,132 / -187
- New
scripts/tr121/run_decode_sweep.py(146 lines): sweeps gen_tokens=[8,32,64,128] to measure how decode length changes scaling exponents - New
scripts/tr121/configs/decode_sweep.yaml(31 lines): sweep configuration - Enhanced
analyze_scaling.py(+217 / -16): added bootstrap CI, Spearman rank correlation, Theil-Sen robust fits, overhead-compute decomposition, CUDA event gap analysis, Ollama warmup/decode linearity checks - Enhanced
run_scaling.pyto support batch_size, resolved_model_params.csv output
Commit 3: 6beebe57 — Major Enhancements & Publish-Ready Report (2025-12-24)
- 10 files, +2,407 / -131
- New
PublishReady/reports/Technical_Report_121v1.md(191+ lines): comprehensive scaling-law analysis with claim status tables, regime decomposition, capacity planning guidance - New configs:
boundary_shift_batch8.yaml(batch=1 vs batch=8 GPU comparison),boundary_shift_gen512.yaml(gen_tokens=512 to amplify decode dominance),gemma_family.yaml(within-family confound check: gemma3 270M/1B/4.3B) - Enhanced analysis: multivariate fits (HF architecture decomposition), Ollama decode projection error tracking
Commit 4: 2abba56b — Documentation Index Updates (2025-12-24)
- 2 files, +198 / -17
- Updated
PublishReady/reports/README.mdanddocs/technical_reports.mdwith TR117--TR121 entries
Commit 5: 640db422 — Full Documentation & Results Publication (2025-12-24)
- 612 files, +2,330 / -57
- Complete results artifacts: scaling plots (PNG), metrics CSVs, analysis summaries across all run configurations
- Updated
EXPERIMENTS_STATUS.md,README.md,docs/README.md,docs/methodology.md
TR121 Scaling Pipeline Architecture
Runner (run_scaling.py):
- Dual-backend measurement: HF models via
AutoModelForCausalLM+ Ollama models via/api/generate - TR120-style phase splitting: separate prefill timing (forward pass with
use_cache=True) and KV-cached decode loop (greedy token-by-token withpast_key_values) - CUDA event timing via
torch.cuda.Event(enable_timing=True)for GPU-accurate measurement - Model parameter resolution: exact
sum(p.numel())for HF, tag-derived for Ollama - Artifact-first output:
manifest.json,runs.jsonl,metrics.csv,hf_load_ms.csv,resolved_model_params.csv
Analysis (analyze_scaling.py):
- Power-law fitting:
log10(latency) = a + b * log10(params)vianp.polyfit - Bootstrap confidence intervals: 1000 resamples for slope CI
- Spearman rank correlation and Theil-Sen robust slope estimates
- Overhead-compute decomposition:
latency = overhead + compute * params^slope - Warmup effect analysis and Ollama decode linearity checks
- Automatic plot generation via matplotlib
Decode Sweep (run_decode_sweep.py):
- Orchestrates multiple
run_scaling.pyruns at gen_tokens=[8, 32, 64, 128] - Computes decode fraction:
kv_decode_ms / e2e_kv_msper model per backend - Generates decode dominance plots showing decode fraction vs generation length
Config Coverage:
| Config | Models | Backends | Purpose |
|——--|——--|———-|———|
| scaling.yaml | 12 (0.1M--20.9B) | hf_cpu, hf_gpu, ollama | Main scaling sweep |
| decode_sweep.yaml | 9 | hf_cpu, hf_gpu, ollama | Decode-length effect |
| gemma_family.yaml | 3 (270M, 1B, 4.3B) | ollama | Within-family confound |
| boundary_shift_batch8.yaml | 7 (0.1M--96M) | hf_gpu bs1, hf_gpu bs8 | Batch amortization |
| boundary_shift_gen512.yaml | 7 (0.1M--96M) | hf_gpu | Long decode identifiability |
Key Scaling Results
Power-Law Fits (scenario-aggregated geomeans):
| Backend | Mode | n_models | slope | R^2 | Interpretation | |———|——|———-|——-|—--|—————-| | hf_cpu_fp32 | prefill | 7 | -0.166 | 0.048 | Weak; overhead-dominated | | hf_cpu_fp32 | kv_decode | 7 | -0.097 | 0.015 | Not identifiable | | hf_gpu_fp16 | prefill | 7 | -0.272 | 0.250 | Moderate trend | | hf_gpu_fp16 | e2e_kv | 7 | -0.250 | 0.203 | Weak; depth dominates | | ollama | prefill | 5 | 0.661 | 0.861 | Strong scaling | | ollama | kv_decode | 5 | 0.719 | 0.825 | Strong scaling | | ollama | e2e_kv | 5 | 0.717 | 0.828 | Strong scaling |
Critical Discovery: Regime Dependence
- Ollama (268M--20.9B): Parameter count is a strong latency predictor. Slope ~0.72, R^2 ~0.83--0.86.
- HF GPU (0.1M--96M, batch=1): Parameter count is not a good predictor. R^2 ~0.03--0.25. Model architecture (depth, width) matters more than raw parameter count at this scale.
- HF CPU (0.1M--96M): Strong overall monotonic trend but not strict monotonicity due to architecture outliers in the GPT-2 variant family.
Quality Indicators & Standards
- Reproducibility: Fixed seeds (42), versioned configs, SHA-256 config hashes in manifest
- Statistical Rigor: Bootstrap CIs, Spearman rank correlation, multiple repetitions, warmup exclusion
- Artifact Backing: Every claim traces to raw
metrics.csvandruns.jsonl - Phase Splitting: Prefill vs decode separated (TR120-style), preventing phase-mixing artifacts
Strategic Development Indicators
- Foundation Quality: Transformative—scaling laws empirically established across 5 orders of magnitude
- Scalability Readiness: High—pipeline re-runnable as models/hardware change
- Operational Excellence: High—capacity planning data now available
- Team Productivity: High—automated end-to-end measurement pipeline
🏗️ Architecture & Strategic Impact
Scaling Architecture Philosophy
This episode establishes Chimera's Scaling DNA—the principle that regime awareness is more valuable than universal laws. This isn't just fitting curves; it's the discovery that the same question ("how does latency scale?") has fundamentally different answers depending on where you stand in the parameter landscape.
Strategic Architectural Decisions
1. Dual-Backend Design
- HF models measured with exact parameter counts via
sum(p.numel()) - Ollama models measured via API with tag-derived parameter sizes
- Same analysis pipeline, different measurement paths
- Enables apples-to-apples comparison across serving strategies
2. Phase-Split Measurement (TR120 Heritage)
- Prefill: single forward pass with
use_cache=True - KV-cached decode: greedy token loop with
past_key_values - End-to-end: sum of both phases
- Prevents phase-mixing artifacts that plagued TR117
3. Boundary-Shift Experiments
boundary_shift_batch8.yaml: Does batching make GPU scaling identifiable?boundary_shift_gen512.yaml: Does longer generation make decode scaling dominate?gemma_family.yaml: Does within-family measurement reduce model-family confounds?- Probes the limits of the main findings
4. Artifact-First Pipeline
- Manifest with git hash, platform info, torch versions, NVML GPU info
- JSONL per-measurement records for arbitrary re-analysis
- CSV summaries for quick inspection
- PNG plots for visual communication
- Every claim is auditable
Long-Term Strategic Value
Operational Excellence: Regime-aware capacity planning replaces guesswork.
System Scalability: Pipeline extends to new models, backends, and hardware.
Team Productivity: Automated scaling measurement eliminates manual benchmarking.
Enterprise Readiness: Artifact-backed scaling claims for stakeholder communication.
🎭 Banterpacks' Deep Dive
Banterpacks stares at the scaling fits table, the regime split undeniable.
"You see that? Ollama slope 0.72, R^2 0.83. Parameter count predicts latency in the large-model regime. 268M to 20.9B. Clean power law. That's measurable scaling."
He scrolls to the HF GPU row.
"HF GPU slope -0.25, R^2 0.20. That's noise. Parameter count doesn't predict latency at batch=1 with short prompts for small models. The tiny-gpt2 at 124M params is faster than gpt2-5m at 5M. Why? Architecture. Depth. Width. The parameter count is a lying summary statistic when model structures differ."
He traces through run_scaling.py, the phase-split measurement.
"Prefill: single forward pass, use_cache=True, capture past_key_values. Then decode: greedy loop, one token at a time, KV cache growing. CUDA events for GPU timing. Wall clock for CPU. Ollama: parse prompt_eval_duration and eval_duration from the API response. Clean separation."
He pulls up the decode sweep results.
"gen_tokens 8 vs 128. At 128 tokens, decode dominates end-to-end. The decode fraction crosses 0.9 for large models. Plan capacity as a decode problem, not a prefill problem. 7,601 lines of scaling truth. We're still shaping the clay, but now we know how size shapes the cost."
"This is how lasting systems achieve operational excellence. Not by assuming one scaling law fits all, but by measuring each regime honestly. We're building scaling intelligence infrastructure."
🔮 Next Time on The Chimera Chronicles
Next dossier entry: The Inference Physics (TR122).
The Scaling Laws distilled: the answer depends on where you stand.