N8Programs commited on
Commit
6c2b324
·
verified ·
1 Parent(s): 38d3937

Expand BestTerm model card with benchmark comparisons and reproducibility

Browse files

Contrast NextTerm controls, the selected SLERP checkpoint and DGX Spark reproduction; add benchmark figure, source summaries, training context and usage examples.

.gitattributes CHANGED
@@ -33,3 +33,4 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ assets/benchmark_comparison.png filter=lfs diff=lfs merge=lfs -text
README.md CHANGED
@@ -1,32 +1,177 @@
1
  ---
2
  library_name: transformers
 
3
  base_model: N8Programs/NextTerm-440M
 
 
4
  tags:
5
  - qwen3
6
  - oeis
 
7
  - sequence-modeling
8
  - slerp
 
9
  ---
10
 
11
- # BestTerm-440M Checkpoint
12
 
13
- Tentative checkpoint for `BestTerm-440M`.
14
 
15
- This is a global parameter-vector SLERP between the released `N8Programs/NextTerm-440M` base model and the hot b-file-only continued-pretraining checkpoint at 500M tokens, with interpolation `t=0.80`.
16
 
17
- ## Quick Scores
18
 
19
- Ryskina & Knight sequence completion, exact next-term accuracy:
20
 
21
- - Greedy, old PyTorch/Transformers sanity path: `38/57` (`66.67%`).
22
- - Beam search, `num_beams=4`, comma stop and EOS/PAD suppressed: `40/57` (`70.18%`).
23
 
24
- Other preservation checks from the same sweep:
25
 
26
- - OEIS-Eval-Neo: `6532/19034` (`34.318%`).
27
- - M1 Competition 111 macro MAPE: `17.582548`.
28
- - Polynomial continuation: arithmetic `94.5625%`, quadratic `86.3043%`, cubic `74.5682%`, quartic `67.9524%`.
 
 
 
29
 
30
- ## Notes
31
 
32
- This checkpoint is tentative and was selected as the aggressive Ryskina/M1 point on the base-to-hot500 SLERP sweep. The more conservative preservation point was `t=0.60`.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  ---
2
  library_name: transformers
3
+ pipeline_tag: text-generation
4
  base_model: N8Programs/NextTerm-440M
5
+ datasets:
6
+ - N8Programs/oeis-massive
7
  tags:
8
  - qwen3
9
  - oeis
10
+ - integer-sequences
11
  - sequence-modeling
12
  - slerp
13
+ - mlx
14
  ---
15
 
16
+ # BestTerm-440M
17
 
18
+ **BestTerm-440M improves short-sequence puzzle completion over NextTerm-440M while retaining similar OEIS and polynomial continuation performance.** It is a 440.5M-parameter causal transformer specialized for comma-separated integer sequences, produced by continued pretraining on OEIS b-files and a weight-space merge with the released base model.
19
 
20
+ On the matched Ryskina & Knight comparison, greedy accuracy rises from **30/57 (52.63%) to 38/57 (66.67%)**. Beam-4 rises from **32/57 (56.14%) to 40/57 (70.18%)**. The improvements on this small puzzle benchmark come with much smaller changes on the broader evaluations below.
21
 
22
+ ![Benchmark comparison: Ryskina, OEIS-Eval-Neo, M1 forecasting, and polynomial continuation](assets/benchmark_comparison.png)
23
 
24
+ This repository contains the selected **SLERP `t=0.80` checkpoint**. The original July 2026 results and a separate DGX Spark reproduction are reported independently. The documentation and supporting summaries were recovered and checked in September 2026; the scores are from those historical runs.
25
 
26
+ ## Direct comparison with NextTerm-440M
 
27
 
28
+ ### Sequence completion and forecasting
29
 
30
+ | Benchmark | NextTerm-440M control | BestTerm-440M: original evaluation | BestTerm-440M: DGX Spark reproduction |
31
+ | :--- | ---: | ---: | ---: |
32
+ | Ryskina & Knight, greedy ↑ | 30/57 · 52.63% | **38/57 · 66.67%** | **38/57 · 66.67%** |
33
+ | Ryskina & Knight, beam-4 ↑ | 32/57 · 56.14% | **40/57 · 70.18%** | — |
34
+ | OEIS-Eval-Neo ↑ | **6,555/19,034 · 34.438%** | 6,532/19,034 · 34.318% | 6,536/19,034 · 34.339% |
35
+ | M1 Competition 111, macro MAPE ↓ | 17.623927 | **17.582548** | 17.813680 |
36
 
37
+ **Interpretation:** the matched greedy Ryskina gain is **8 questions / 14.04 percentage points**. OEIS accuracy remains within 0.13 percentage points of the base control. The original M1 gain is only 0.0414 MAPE points and does **not** persist in the Spark reproduction. Naive2 scores **17.798674** macro MAPE in the saved M1 evaluation, slightly better than the reproduced BestTerm result.
38
 
39
+ The Ryskina controls use the matched Transformers greedy/beam runs. The initial MLX merge sweep instead scored the base at 29/57, with BestTerm still at 38/57; the two base results should not be interchanged. A [separate later decoding sweep](benchmarks/teacher_decoding.json) also reached 40/57 with beam-4 and beam-8, but is outside the main reproduction summary.
40
+
41
+ Sources: [matched Ryskina results](benchmarks/original_ryskina.json), [original merge sweep](benchmarks/original_slerp_sweep.json), [base OEIS](benchmarks/original_base_oeis.json), [base M1](benchmarks/original_base_m1.json), and [Spark reproduction](benchmarks/alice_reproduction.json).
42
+
43
+ ### Polynomial continuation
44
+
45
+ | Sequence family | NextTerm-440M control | BestTerm: original evaluation | BestTerm: Spark reproduction |
46
+ | :--- | ---: | ---: | ---: |
47
+ | Arithmetic | 94.2917% | 94.5625% | 94.5417% · 4,538/4,800 |
48
+ | Quadratic | 86.3696% | 86.3043% | 86.2174% · 3,966/4,600 |
49
+ | Cubic | 74.8409% | 74.5682% | 74.5682% · 3,281/4,400 |
50
+ | Quartic | 68.1190% | 67.9524% | 68.1905% · 2,864/4,200 |
51
+
52
+ These results show preservation of the base model's polynomial continuation ability, with small gains and losses across families. They aggregate over prefix lengths; they are not scores at one fixed prompt length. The recovered experiment controls differ slightly from the older published NextTerm-440M model-card values.
53
+
54
+ Sources: [base polynomial results](benchmarks/original_base_polynomials.json), [original merge sweep](benchmarks/original_slerp_sweep.json), and [Spark polynomial results by prefix length](benchmarks/alice_polynomials.json).
55
+
56
+ ## Context among other models
57
+
58
+ The following historical comparison comes from the [NextTerm-440M model card](https://huggingface.co/N8Programs/NextTerm-440M). BestTerm's row uses its **Spark greedy reproduction**. The other rows are previously reported results, not fresh matched reruns; the direct control comparisons above are preferable for measuring this intervention.
59
+
60
+ | Model | Ryskina & Knight, greedy ↑ | OEIS-Eval-Neo ↑ | M1 macro MAPE ↓ |
61
+ | :--- | ---: | ---: | ---: |
62
+ | **BestTerm-440M** | **66.67%** | **34.34%** | **17.8137** |
63
+ | NextTerm-440M, published | 52.63% | 34.43% | 17.6239 |
64
+ | NextTerm-47M | 70.18% | 29.49% | 18.7621 |
65
+ | Qwen3-0.6B | 33.33% | 18.44% | 22.7984 |
66
+ | Qwen3-1.7B | 49.12% | 20.77% | 22.2411 |
67
+ | Qwen3-4B | 63.16% | 23.74% | 19.1731 |
68
+ | Qwen3-8B | 57.89% | 24.62% | 18.4027 |
69
+ | Qwen3-14B | 59.65% | 26.00% | 17.9837 |
70
+
71
+ NextTerm-47M remains ahead on greedy Ryskina. BestTerm reaches the same 70.18% score with **beam-4**, which uses additional decoding compute. OEIS-Eval-Neo is also distinct from the older OEIS-Eval benchmark; their scores should not be mixed.
72
+
73
+ ## How BestTerm was made
74
+
75
+ 1. **Base pretraining:** [NextTerm-440M](https://huggingface.co/N8Programs/NextTerm-440M) was trained for **13,999,999,995 tokens** on extended OEIS sequences plus synthetic augmentation, using preserved sequence prefixes and a 4,096-token training cap.
76
+ 2. **B-file-only continued pretraining:** the synthetic augmentation was removed for this phase, using `oeis_train_bfile_prefix4096.packed`. OEIS b-files provide extended lists of sequence terms. The selected intermediate checkpoint had seen **500,020,611 additional tokens** over **20,486 steps** ([training metadata](benchmarks/hot500_training.json)), from a planned 754,629,901-token run. The internal name **hot500** refers to the higher learning-rate schedule and approximately 500M tokens, not sampling temperature. The recipe used a Muon/AdamW hybrid with peak learning rates 0.01/0.0001, length-bucketed batches, and BF16 live weights with FP32 master weights.
77
+ 3. **Global SLERP merge:** the base and hot500 parameter vectors were combined at **`t=0.80`**, toward hot500. The recorded coefficients are **0.2010891797 × base + 0.8016321071 × hot500**. These coefficients come from spherical interpolation, so this is not an exact 20/80 linear average. See [merge metadata](slerp_meta.json).
78
+
79
+ ### Why this merge?
80
+
81
+ | Selected candidate | Ryskina greedy | OEIS-Eval-Neo | M1 macro MAPE ↓ |
82
+ | :--- | ---: | ---: | ---: |
83
+ | `t=0.45` | 35/57 | 34.517% | 18.469475 |
84
+ | `t=0.60` | 36/57 | **34.543%** | 17.775277 |
85
+ | `t=0.70` | 37/57 | 34.428% | 17.821592 |
86
+ | **`t=0.80` — this repository** | **38/57** | 34.318% | **17.582548** |
87
+ | `t=0.90` | **38/57** | 34.254% | 17.851500 |
88
+
89
+ `t=0.80` was selected for its Ryskina/M1 tradeoff; `t=0.60` was the more conservative OEIS-preservation point. **These benchmarks were used during checkpoint selection.** The sweep therefore does not constitute an untouched evaluation of a preselected model. All rows in this table are original sweep results.
90
+
91
+ ## Model and input format
92
+
93
+ | Property | Value |
94
+ | :--- | :--- |
95
+ | Parameters | 440,500,224 |
96
+ | Architecture | Qwen3-style causal LM |
97
+ | Layers / hidden size / FFN size | 28 / 1,024 / 3,072 |
98
+ | Attention heads / KV heads | 16 / 8 |
99
+ | Vocabulary | 16 tokens |
100
+ | Training sequence cap | 4,096 tokens |
101
+ | Export dtype | BF16 |
102
+ | Weight file | 881,035,528 bytes, approximately 840 MiB |
103
+
104
+ Use comma-separated integers, for example `1,2,4,8,` or `1,-2,3,-4,`. Decimal digits are tokenized individually; large integers consume more tokens. The tokenizer ignores characters outside digits, comma, and minus. Natural-language instructions and chat templates are inappropriate for this vocabulary. Leading-zero forms such as `01,02,03,` were outside the training format.
105
+
106
+ The exported configuration permits 40,960 positions, but this is **not evidence of training or evaluation at that context length**.
107
+
108
+ ## Usage
109
+
110
+ ### Transformers: predict one integer
111
+
112
+ ```python
113
+ import torch
114
+ from transformers import AutoModelForCausalLM, AutoTokenizer
115
+
116
+ repo = "N8Programs/BestTerm-440M-Checkpts"
117
+ tokenizer = AutoTokenizer.from_pretrained(repo)
118
+ model = AutoModelForCausalLM.from_pretrained(
119
+ repo,
120
+ torch_dtype=torch.bfloat16,
121
+ device_map="auto",
122
+ ).eval()
123
+
124
+ inputs = tokenizer("1,2,4,8,", return_tensors="pt", return_token_type_ids=False)
125
+ inputs = {name: value.to(model.device) for name, value in inputs.items()}
126
+ comma_id = tokenizer.convert_tokens_to_ids(",")
127
+
128
+ with torch.inference_mode():
129
+ output = model.generate(
130
+ **inputs,
131
+ do_sample=False,
132
+ num_beams=1,
133
+ max_new_tokens=64,
134
+ eos_token_id=[comma_id, tokenizer.eos_token_id],
135
+ pad_token_id=tokenizer.pad_token_id,
136
+ )
137
+
138
+ completion = tokenizer.decode(
139
+ output[0, inputs["input_ids"].shape[1]:], skip_special_tokens=True
140
+ )
141
+ print(completion.split(",", 1)[0].strip())
142
+ ```
143
+
144
+ For the reported **beam-4** decoding convention, use `num_beams=4`, `eos_token_id=comma_id`, and `suppress_tokens=[tokenizer.eos_token_id, tokenizer.pad_token_id]`. This stops at the next comma while suppressing premature EOS/PAD. The snippet is a single-prompt usage example; the reported benchmarks use the protocols below.
145
+
146
+ ### MLX: generate a continuation
147
+
148
+ ```bash
149
+ mlx_lm.generate \
150
+ --model N8Programs/BestTerm-440M-Checkpts \
151
+ --prompt "1,2,4,8," \
152
+ --temp 0 \
153
+ --max-tokens 64
154
+ ```
155
+
156
+ ## Evaluation protocols and reproducibility
157
+
158
+ - **Ryskina & Knight:** 57 short sequence-completion puzzles, exact next-term accuracy. Spark greedy evaluation stops at comma/EOS/PAD with a 20-token generation cap. The original beam-4 comparison uses comma stopping and suppresses EOS/PAD.
159
+ - **OEIS-Eval-Neo:** 19,034 held-out next-term examples, described as decontaminated in the base model release. The Spark run uses a 4,096-token context cap and 196 new-token cap; all examples were evaluated and parsed, with none skipped. The recovered predictions were checked against their saved answers, confirming 6,536 exact matches. Decontamination was not independently re-audited during this documentation recovery.
160
+ - **Polynomials:** 200 generated sequences per prefix length, seed 0; lengths 2–25 for arithmetic, 3–25 for quadratic, 4–25 for cubic and 5–25 for quartic. Exact next-term match gives 4,800 / 4,600 / 4,400 / 4,200 examples. See the base release's [evaluation script](https://huggingface.co/N8Programs/NextTerm-440M/blob/main/arithmetic_eval.py) for coefficient sampling.
161
+ - **M1 Competition 111:** 68 monthly series with horizon 18, 23 quarterly with horizon 8, and 20 yearly with horizon 6. Macro MAPE weights each series equally. The reproduced score is **17.813680**; point-weighted MAPE is **18.409850**. All 111 series parsed fully, with no missing terms or malformed series.
162
+
163
+ The Spark reproduction used **MLX 0.31.1, mlx-cuda-13 0.31.1 and mlx-lm 0.31.2**, with CUDA graphs disabled. OEIS batch/queue sizes were 32/512, M1 queue size was 16, and polynomial queue size was 64. The original evaluation had different execution settings. Small numerical and generation differences are visible across runs; their exact cause was not isolated.
164
+
165
+ The [benchmark summaries](benchmarks/), [comparison CSV](benchmarks/comparison.csv), and [provenance manifest](benchmarks/provenance.json) are included here. Absolute machine-specific paths in copied summaries were reduced to filenames; metrics and settings were preserved. Benchmark datasets and original evaluator implementations are available in the [NextTerm-440M repository](https://huggingface.co/N8Programs/NextTerm-440M/tree/main).
166
+
167
+ Weight SHA-256, matching the recovered and published checkpoint:
168
+
169
+ ```text
170
+ a6a4244107d621c7138060d37168345b9e83a2e8036ccf4ccbcd465b048068f2
171
+ ```
172
+
173
+ ## Limitations and attribution
174
+
175
+ This is a specialized integer-sequence model. A finite prefix can admit multiple plausible rules, so a generated continuation need not be the intended one. Improvements on 57 selected puzzles do not establish universal rule induction, and the merge does not improve every benchmark. The reported M1 advantage is sensitive to the evaluation run.
176
+
177
+ The checkpoint inherits training on the [On-Line Encyclopedia of Integer Sequences](https://oeis.org/) through NextTerm-440M and its b-file-only continuation phase. See the [base release](https://huggingface.co/N8Programs/NextTerm-440M) for dataset attribution and licensing information.
assets/benchmark_comparison.png ADDED

Git LFS Details

  • SHA256: 8514cc684371c858577d24743c1546f8d4cb64a0b92b1500f86a3db2373765ad
  • Pointer size: 131 Bytes
  • Size of remote file: 233 kB
assets/plot_benchmarks.py ADDED
@@ -0,0 +1,28 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from pathlib import Path
2
+ import json
3
+ import matplotlib
4
+ matplotlib.use("Agg")
5
+ import matplotlib.pyplot as plt
6
+ import numpy as np
7
+ out=Path(__file__).resolve().parent.parent
8
+ base=json.loads((out/"benchmarks/original_base_polynomials.json").read_text())["tasks"]
9
+ orig=next(x for x in json.loads((out/"benchmarks/original_slerp_sweep.json").read_text())["rows"] if x["tag"]=="t080")
10
+ rep=json.loads((out/"benchmarks/alice_reproduction.json").read_text())
11
+ plt.rcParams.update({'font.family':'DejaVu Sans','font.size':11,'axes.spines.top':False,'axes.spines.right':False,'axes.spines.left':False,'axes.titleweight':'bold','axes.labelcolor':'#475569','xtick.color':'#334155','ytick.color':'#475569','figure.facecolor':'white','axes.facecolor':'white','savefig.facecolor':'white'})
12
+ colors=['#64748b','#2563eb','#0f9d8a'];fig,axs=plt.subplots(2,2,figsize=(13,8.6));fig.subplots_adjust(top=.84,bottom=.14,left=.07,right=.98,hspace=.55,wspace=.25)
13
+ fig.suptitle('BestTerm-440M vs. NextTerm-440M',x=.07,y=.97,ha='left',fontsize=23,fontweight='bold',color='#0f172a')
14
+ fig.text(.07,.918,'Stronger short-sequence completion; broadly preserved OEIS and polynomial accuracy.',fontsize=12,color='#475569')
15
+ for ax in axs.flat:ax.set_axisbelow(True);ax.grid(axis='y',color='#e2e8f0');ax.tick_params(axis='both',length=0)
16
+ ax=axs[0,0];x=np.arange(2)
17
+ for offset,vals,color,label in [(-.18,[30/57*100,32/57*100],colors[0],'NextTerm-440M'),(.18,[38/57*100,40/57*100],colors[1],'BestTerm-440M')]:
18
+ bars=ax.bar(x+offset,vals,.32,color=color,label=label);ax.bar_label(bars,labels=[f'{v:.2f}%' for v in vals],padding=4,fontsize=10)
19
+ ax.set_xticks(x,['Greedy','Beam-4']);ax.set_ylim(0,85);ax.set_title('Ryskina & Knight · higher is better',loc='left',pad=12);ax.set_ylabel('Exact next-term accuracy (%)');ax.legend(frameon=False,fontsize=9,loc='upper left',ncol=2)
20
+ labels=['Base','BestTerm\noriginal','BestTerm\nSpark']
21
+ ax=axs[0,1];vals=[6555/19034*100,6532/19034*100,6536/19034*100];bars=ax.bar(range(3),vals,.6,color=colors);ax.bar_label(bars,labels=[f'{v:.3f}%' for v in vals],padding=4);ax.set_xticks(range(3),labels);ax.set_ylim(0,42);ax.set_title('OEIS-Eval-Neo · higher is better',loc='left',pad=12);ax.set_ylabel('Exact next-term accuracy (%)')
22
+ ax=axs[1,0];vals=[17.623926615,17.582547764,17.813680040];bars=ax.bar(range(3),vals,.6,color=colors);ax.bar_label(bars,labels=[f'{v:.4f}' for v in vals],padding=4);ax.set_xticks(range(3),labels);ax.set_ylim(0,22);ax.set_title('M1 Competition 111 · lower is better',loc='left',pad=12);ax.set_ylabel('Macro MAPE');ax.axhline(17.798673617,color='#b45309',linestyle='--',linewidth=1.2);ax.text(2.4,20.1,'Naive2: 17.7987',ha='right',color='#92400e',fontsize=10)
23
+ ax=axs[1,1];tasks=['arithmetic','quadratic','cubic','quartic'];x=np.arange(4)
24
+ for offset,vals,color,label in [(-.24,[100*base[k]['accuracy'] for k in tasks],colors[0],'Base'),(0,[100*orig['poly_'+k] for k in tasks],colors[1],'BestTerm original'),(.24,[100*rep['poly_'+k] for k in tasks],colors[2],'BestTerm Spark')]:ax.bar(x+offset,vals,.22,color=color,label=label)
25
+ ax.set_xticks(x,['Arithmetic','Quadratic','Cubic','Quartic']);ax.set_ylim(0,110);ax.set_title('Polynomial continuation · higher is better',loc='left',pad=12);ax.set_ylabel('Exact next-term accuracy (%)');ax.legend(frameon=False,fontsize=8,ncol=3,loc='upper center')
26
+ fig.text(.07,.06,'Ryskina: matched Transformers comparison. Other panels: original experiment controls and saved Spark reproduction.\nHistorical July 2026 results; recovered September 2026. Selection used these benchmarks. See model card for protocols.',fontsize=10,color='#64748b',linespacing=1.6)
27
+ fig.savefig(out/'assets/benchmark_comparison.png',dpi=180);plt.close(fig)
28
+ print("Saved assets/benchmark_comparison.png", flush=True)
benchmarks/alice_m1.json ADDED
@@ -0,0 +1,55 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "data_path": "m1_competition_111.jsonl",
3
+ "model": "BestTerm-440M",
4
+ "output": "bestterm_m1_competition111_mlx_b64_clean.jsonl",
5
+ "series_loaded": 111,
6
+ "series_evaluated": 111,
7
+ "skipped_long": 0,
8
+ "max_context_tokens": 2048,
9
+ "max_new_tokens": 1024,
10
+ "batch_size": 64,
11
+ "queue_chunk_size": 16,
12
+ "missing_policy": "zero",
13
+ "suppress_eos_until_horizon": true,
14
+ "seconds": 13.734958076995099,
15
+ "series_count": 111,
16
+ "horizon_counts": {
17
+ "6": 20,
18
+ "8": 23,
19
+ "18": 68
20
+ },
21
+ "model_macro_mape": 17.813680039670427,
22
+ "model_median_series_mape": 12.933409374944766,
23
+ "model_point_mape": 18.409849536595008,
24
+ "naive2_macro_mape": 17.798673616724457,
25
+ "naive2_point_mape": 17.63296459764299,
26
+ "parsed_full_series": 111,
27
+ "total_missing_terms": 0,
28
+ "malformed_series": 0,
29
+ "by_period": {
30
+ "MONTHLY": {
31
+ "series_count": 68,
32
+ "model_macro_mape": 18.89995402978854,
33
+ "model_point_mape": 18.89995402978854,
34
+ "naive2_macro_mape": 17.387066649846865,
35
+ "naive2_point_mape": 17.387066649846865,
36
+ "parsed_full_series": 68
37
+ },
38
+ "QUARTERLY": {
39
+ "series_count": 23,
40
+ "model_macro_mape": 18.347319504113486,
41
+ "model_point_mape": 18.34731950411349,
42
+ "naive2_macro_mape": 19.59580196054251,
43
+ "naive2_point_mape": 19.59580196054251,
44
+ "parsed_full_series": 23
45
+ },
46
+ "YEARLY": {
47
+ "series_count": 20,
48
+ "model_macro_mape": 13.50666308915932,
49
+ "model_point_mape": 13.50666308915932,
50
+ "naive2_macro_mape": 17.131439708717515,
51
+ "naive2_point_mape": 17.131439708717515,
52
+ "parsed_full_series": 20
53
+ }
54
+ }
55
+ }
benchmarks/alice_oeis.json ADDED
@@ -0,0 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "data_path": "oeis_val_neo.jsonl",
3
+ "model": "BestTerm-440M",
4
+ "output": "bestterm_oeis_eval_neo_mlx_b32.jsonl",
5
+ "documents": 19034,
6
+ "evaluated": 19034,
7
+ "expected_evaluated": 19034,
8
+ "skipped_long": 0,
9
+ "parsed": 19034,
10
+ "correct": 6536,
11
+ "accuracy": 0.3433855206472628,
12
+ "max_new_tokens": 196,
13
+ "max_context_tokens": 4096,
14
+ "batch_size": 32,
15
+ "queue_chunk_size": 512,
16
+ "restrict_digit_comma_eos": false,
17
+ "restrict_integer_comma_eos": false,
18
+ "allowed_token_ids": null,
19
+ "seconds": 1071.5684291959915
20
+ }
benchmarks/alice_polynomials.json ADDED
@@ -0,0 +1,676 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "csv_path": "bestterm_polynomial_continuation_mlx_b128.csv",
3
+ "queue_chunk_size": 64,
4
+ "tasks": {
5
+ "arithmetic": {
6
+ "degree": 1,
7
+ "parsed": 4800,
8
+ "total": 4800,
9
+ "correct": 4538,
10
+ "accuracy": 0.9454166666666667,
11
+ "parsed_fraction": 1.0,
12
+ "by_k": [
13
+ {
14
+ "k": 2,
15
+ "parsed": 200,
16
+ "total": 200,
17
+ "correct": 16,
18
+ "accuracy": 0.08
19
+ },
20
+ {
21
+ "k": 3,
22
+ "parsed": 200,
23
+ "total": 200,
24
+ "correct": 155,
25
+ "accuracy": 0.775
26
+ },
27
+ {
28
+ "k": 4,
29
+ "parsed": 200,
30
+ "total": 200,
31
+ "correct": 188,
32
+ "accuracy": 0.94
33
+ },
34
+ {
35
+ "k": 5,
36
+ "parsed": 200,
37
+ "total": 200,
38
+ "correct": 197,
39
+ "accuracy": 0.985
40
+ },
41
+ {
42
+ "k": 6,
43
+ "parsed": 200,
44
+ "total": 200,
45
+ "correct": 197,
46
+ "accuracy": 0.985
47
+ },
48
+ {
49
+ "k": 7,
50
+ "parsed": 200,
51
+ "total": 200,
52
+ "correct": 195,
53
+ "accuracy": 0.975
54
+ },
55
+ {
56
+ "k": 8,
57
+ "parsed": 200,
58
+ "total": 200,
59
+ "correct": 199,
60
+ "accuracy": 0.995
61
+ },
62
+ {
63
+ "k": 9,
64
+ "parsed": 200,
65
+ "total": 200,
66
+ "correct": 197,
67
+ "accuracy": 0.985
68
+ },
69
+ {
70
+ "k": 10,
71
+ "parsed": 200,
72
+ "total": 200,
73
+ "correct": 198,
74
+ "accuracy": 0.99
75
+ },
76
+ {
77
+ "k": 11,
78
+ "parsed": 200,
79
+ "total": 200,
80
+ "correct": 198,
81
+ "accuracy": 0.99
82
+ },
83
+ {
84
+ "k": 12,
85
+ "parsed": 200,
86
+ "total": 200,
87
+ "correct": 200,
88
+ "accuracy": 1.0
89
+ },
90
+ {
91
+ "k": 13,
92
+ "parsed": 200,
93
+ "total": 200,
94
+ "correct": 199,
95
+ "accuracy": 0.995
96
+ },
97
+ {
98
+ "k": 14,
99
+ "parsed": 200,
100
+ "total": 200,
101
+ "correct": 200,
102
+ "accuracy": 1.0
103
+ },
104
+ {
105
+ "k": 15,
106
+ "parsed": 200,
107
+ "total": 200,
108
+ "correct": 200,
109
+ "accuracy": 1.0
110
+ },
111
+ {
112
+ "k": 16,
113
+ "parsed": 200,
114
+ "total": 200,
115
+ "correct": 200,
116
+ "accuracy": 1.0
117
+ },
118
+ {
119
+ "k": 17,
120
+ "parsed": 200,
121
+ "total": 200,
122
+ "correct": 200,
123
+ "accuracy": 1.0
124
+ },
125
+ {
126
+ "k": 18,
127
+ "parsed": 200,
128
+ "total": 200,
129
+ "correct": 200,
130
+ "accuracy": 1.0
131
+ },
132
+ {
133
+ "k": 19,
134
+ "parsed": 200,
135
+ "total": 200,
136
+ "correct": 200,
137
+ "accuracy": 1.0
138
+ },
139
+ {
140
+ "k": 20,
141
+ "parsed": 200,
142
+ "total": 200,
143
+ "correct": 199,
144
+ "accuracy": 0.995
145
+ },
146
+ {
147
+ "k": 21,
148
+ "parsed": 200,
149
+ "total": 200,
150
+ "correct": 200,
151
+ "accuracy": 1.0
152
+ },
153
+ {
154
+ "k": 22,
155
+ "parsed": 200,
156
+ "total": 200,
157
+ "correct": 200,
158
+ "accuracy": 1.0
159
+ },
160
+ {
161
+ "k": 23,
162
+ "parsed": 200,
163
+ "total": 200,
164
+ "correct": 200,
165
+ "accuracy": 1.0
166
+ },
167
+ {
168
+ "k": 24,
169
+ "parsed": 200,
170
+ "total": 200,
171
+ "correct": 200,
172
+ "accuracy": 1.0
173
+ },
174
+ {
175
+ "k": 25,
176
+ "parsed": 200,
177
+ "total": 200,
178
+ "correct": 200,
179
+ "accuracy": 1.0
180
+ }
181
+ ]
182
+ },
183
+ "quadratic": {
184
+ "degree": 2,
185
+ "parsed": 4600,
186
+ "total": 4600,
187
+ "correct": 3966,
188
+ "accuracy": 0.8621739130434782,
189
+ "parsed_fraction": 1.0,
190
+ "by_k": [
191
+ {
192
+ "k": 3,
193
+ "parsed": 200,
194
+ "total": 200,
195
+ "correct": 7,
196
+ "accuracy": 0.035
197
+ },
198
+ {
199
+ "k": 4,
200
+ "parsed": 200,
201
+ "total": 200,
202
+ "correct": 57,
203
+ "accuracy": 0.285
204
+ },
205
+ {
206
+ "k": 5,
207
+ "parsed": 200,
208
+ "total": 200,
209
+ "correct": 107,
210
+ "accuracy": 0.535
211
+ },
212
+ {
213
+ "k": 6,
214
+ "parsed": 200,
215
+ "total": 200,
216
+ "correct": 153,
217
+ "accuracy": 0.765
218
+ },
219
+ {
220
+ "k": 7,
221
+ "parsed": 200,
222
+ "total": 200,
223
+ "correct": 174,
224
+ "accuracy": 0.87
225
+ },
226
+ {
227
+ "k": 8,
228
+ "parsed": 200,
229
+ "total": 200,
230
+ "correct": 184,
231
+ "accuracy": 0.92
232
+ },
233
+ {
234
+ "k": 9,
235
+ "parsed": 200,
236
+ "total": 200,
237
+ "correct": 185,
238
+ "accuracy": 0.925
239
+ },
240
+ {
241
+ "k": 10,
242
+ "parsed": 200,
243
+ "total": 200,
244
+ "correct": 185,
245
+ "accuracy": 0.925
246
+ },
247
+ {
248
+ "k": 11,
249
+ "parsed": 200,
250
+ "total": 200,
251
+ "correct": 189,
252
+ "accuracy": 0.945
253
+ },
254
+ {
255
+ "k": 12,
256
+ "parsed": 200,
257
+ "total": 200,
258
+ "correct": 192,
259
+ "accuracy": 0.96
260
+ },
261
+ {
262
+ "k": 13,
263
+ "parsed": 200,
264
+ "total": 200,
265
+ "correct": 196,
266
+ "accuracy": 0.98
267
+ },
268
+ {
269
+ "k": 14,
270
+ "parsed": 200,
271
+ "total": 200,
272
+ "correct": 194,
273
+ "accuracy": 0.97
274
+ },
275
+ {
276
+ "k": 15,
277
+ "parsed": 200,
278
+ "total": 200,
279
+ "correct": 196,
280
+ "accuracy": 0.98
281
+ },
282
+ {
283
+ "k": 16,
284
+ "parsed": 200,
285
+ "total": 200,
286
+ "correct": 193,
287
+ "accuracy": 0.965
288
+ },
289
+ {
290
+ "k": 17,
291
+ "parsed": 200,
292
+ "total": 200,
293
+ "correct": 199,
294
+ "accuracy": 0.995
295
+ },
296
+ {
297
+ "k": 18,
298
+ "parsed": 200,
299
+ "total": 200,
300
+ "correct": 190,
301
+ "accuracy": 0.95
302
+ },
303
+ {
304
+ "k": 19,
305
+ "parsed": 200,
306
+ "total": 200,
307
+ "correct": 192,
308
+ "accuracy": 0.96
309
+ },
310
+ {
311
+ "k": 20,
312
+ "parsed": 200,
313
+ "total": 200,
314
+ "correct": 196,
315
+ "accuracy": 0.98
316
+ },
317
+ {
318
+ "k": 21,
319
+ "parsed": 200,
320
+ "total": 200,
321
+ "correct": 194,
322
+ "accuracy": 0.97
323
+ },
324
+ {
325
+ "k": 22,
326
+ "parsed": 200,
327
+ "total": 200,
328
+ "correct": 194,
329
+ "accuracy": 0.97
330
+ },
331
+ {
332
+ "k": 23,
333
+ "parsed": 200,
334
+ "total": 200,
335
+ "correct": 197,
336
+ "accuracy": 0.985
337
+ },
338
+ {
339
+ "k": 24,
340
+ "parsed": 200,
341
+ "total": 200,
342
+ "correct": 195,
343
+ "accuracy": 0.975
344
+ },
345
+ {
346
+ "k": 25,
347
+ "parsed": 200,
348
+ "total": 200,
349
+ "correct": 197,
350
+ "accuracy": 0.985
351
+ }
352
+ ]
353
+ },
354
+ "cubic": {
355
+ "degree": 3,
356
+ "parsed": 4400,
357
+ "total": 4400,
358
+ "correct": 3281,
359
+ "accuracy": 0.7456818181818182,
360
+ "parsed_fraction": 1.0,
361
+ "by_k": [
362
+ {
363
+ "k": 4,
364
+ "parsed": 200,
365
+ "total": 200,
366
+ "correct": 6,
367
+ "accuracy": 0.03
368
+ },
369
+ {
370
+ "k": 5,
371
+ "parsed": 200,
372
+ "total": 200,
373
+ "correct": 12,
374
+ "accuracy": 0.06
375
+ },
376
+ {
377
+ "k": 6,
378
+ "parsed": 200,
379
+ "total": 200,
380
+ "correct": 30,
381
+ "accuracy": 0.15
382
+ },
383
+ {
384
+ "k": 7,
385
+ "parsed": 200,
386
+ "total": 200,
387
+ "correct": 69,
388
+ "accuracy": 0.345
389
+ },
390
+ {
391
+ "k": 8,
392
+ "parsed": 200,
393
+ "total": 200,
394
+ "correct": 94,
395
+ "accuracy": 0.47
396
+ },
397
+ {
398
+ "k": 9,
399
+ "parsed": 200,
400
+ "total": 200,
401
+ "correct": 138,
402
+ "accuracy": 0.69
403
+ },
404
+ {
405
+ "k": 10,
406
+ "parsed": 200,
407
+ "total": 200,
408
+ "correct": 153,
409
+ "accuracy": 0.765
410
+ },
411
+ {
412
+ "k": 11,
413
+ "parsed": 200,
414
+ "total": 200,
415
+ "correct": 175,
416
+ "accuracy": 0.875
417
+ },
418
+ {
419
+ "k": 12,
420
+ "parsed": 200,
421
+ "total": 200,
422
+ "correct": 185,
423
+ "accuracy": 0.925
424
+ },
425
+ {
426
+ "k": 13,
427
+ "parsed": 200,
428
+ "total": 200,
429
+ "correct": 177,
430
+ "accuracy": 0.885
431
+ },
432
+ {
433
+ "k": 14,
434
+ "parsed": 200,
435
+ "total": 200,
436
+ "correct": 184,
437
+ "accuracy": 0.92
438
+ },
439
+ {
440
+ "k": 15,
441
+ "parsed": 200,
442
+ "total": 200,
443
+ "correct": 186,
444
+ "accuracy": 0.93
445
+ },
446
+ {
447
+ "k": 16,
448
+ "parsed": 200,
449
+ "total": 200,
450
+ "correct": 192,
451
+ "accuracy": 0.96
452
+ },
453
+ {
454
+ "k": 17,
455
+ "parsed": 200,
456
+ "total": 200,
457
+ "correct": 183,
458
+ "accuracy": 0.915
459
+ },
460
+ {
461
+ "k": 18,
462
+ "parsed": 200,
463
+ "total": 200,
464
+ "correct": 190,
465
+ "accuracy": 0.95
466
+ },
467
+ {
468
+ "k": 19,
469
+ "parsed": 200,
470
+ "total": 200,
471
+ "correct": 186,
472
+ "accuracy": 0.93
473
+ },
474
+ {
475
+ "k": 20,
476
+ "parsed": 200,
477
+ "total": 200,
478
+ "correct": 187,
479
+ "accuracy": 0.935
480
+ },
481
+ {
482
+ "k": 21,
483
+ "parsed": 200,
484
+ "total": 200,
485
+ "correct": 184,
486
+ "accuracy": 0.92
487
+ },
488
+ {
489
+ "k": 22,
490
+ "parsed": 200,
491
+ "total": 200,
492
+ "correct": 190,
493
+ "accuracy": 0.95
494
+ },
495
+ {
496
+ "k": 23,
497
+ "parsed": 200,
498
+ "total": 200,
499
+ "correct": 190,
500
+ "accuracy": 0.95
501
+ },
502
+ {
503
+ "k": 24,
504
+ "parsed": 200,
505
+ "total": 200,
506
+ "correct": 182,
507
+ "accuracy": 0.91
508
+ },
509
+ {
510
+ "k": 25,
511
+ "parsed": 200,
512
+ "total": 200,
513
+ "correct": 188,
514
+ "accuracy": 0.94
515
+ }
516
+ ]
517
+ },
518
+ "quartic": {
519
+ "degree": 4,
520
+ "parsed": 4200,
521
+ "total": 4200,
522
+ "correct": 2864,
523
+ "accuracy": 0.6819047619047619,
524
+ "parsed_fraction": 1.0,
525
+ "by_k": [
526
+ {
527
+ "k": 5,
528
+ "parsed": 200,
529
+ "total": 200,
530
+ "correct": 8,
531
+ "accuracy": 0.04
532
+ },
533
+ {
534
+ "k": 6,
535
+ "parsed": 200,
536
+ "total": 200,
537
+ "correct": 16,
538
+ "accuracy": 0.08
539
+ },
540
+ {
541
+ "k": 7,
542
+ "parsed": 200,
543
+ "total": 200,
544
+ "correct": 27,
545
+ "accuracy": 0.135
546
+ },
547
+ {
548
+ "k": 8,
549
+ "parsed": 200,
550
+ "total": 200,
551
+ "correct": 45,
552
+ "accuracy": 0.225
553
+ },
554
+ {
555
+ "k": 9,
556
+ "parsed": 200,
557
+ "total": 200,
558
+ "correct": 80,
559
+ "accuracy": 0.4
560
+ },
561
+ {
562
+ "k": 10,
563
+ "parsed": 200,
564
+ "total": 200,
565
+ "correct": 121,
566
+ "accuracy": 0.605
567
+ },
568
+ {
569
+ "k": 11,
570
+ "parsed": 200,
571
+ "total": 200,
572
+ "correct": 138,
573
+ "accuracy": 0.69
574
+ },
575
+ {
576
+ "k": 12,
577
+ "parsed": 200,
578
+ "total": 200,
579
+ "correct": 148,
580
+ "accuracy": 0.74
581
+ },
582
+ {
583
+ "k": 13,
584
+ "parsed": 200,
585
+ "total": 200,
586
+ "correct": 162,
587
+ "accuracy": 0.81
588
+ },
589
+ {
590
+ "k": 14,
591
+ "parsed": 200,
592
+ "total": 200,
593
+ "correct": 161,
594
+ "accuracy": 0.805
595
+ },
596
+ {
597
+ "k": 15,
598
+ "parsed": 200,
599
+ "total": 200,
600
+ "correct": 173,
601
+ "accuracy": 0.865
602
+ },
603
+ {
604
+ "k": 16,
605
+ "parsed": 200,
606
+ "total": 200,
607
+ "correct": 170,
608
+ "accuracy": 0.85
609
+ },
610
+ {
611
+ "k": 17,
612
+ "parsed": 200,
613
+ "total": 200,
614
+ "correct": 176,
615
+ "accuracy": 0.88
616
+ },
617
+ {
618
+ "k": 18,
619
+ "parsed": 200,
620
+ "total": 200,
621
+ "correct": 172,
622
+ "accuracy": 0.86
623
+ },
624
+ {
625
+ "k": 19,
626
+ "parsed": 200,
627
+ "total": 200,
628
+ "correct": 176,
629
+ "accuracy": 0.88
630
+ },
631
+ {
632
+ "k": 20,
633
+ "parsed": 200,
634
+ "total": 200,
635
+ "correct": 175,
636
+ "accuracy": 0.875
637
+ },
638
+ {
639
+ "k": 21,
640
+ "parsed": 200,
641
+ "total": 200,
642
+ "correct": 175,
643
+ "accuracy": 0.875
644
+ },
645
+ {
646
+ "k": 22,
647
+ "parsed": 200,
648
+ "total": 200,
649
+ "correct": 183,
650
+ "accuracy": 0.915
651
+ },
652
+ {
653
+ "k": 23,
654
+ "parsed": 200,
655
+ "total": 200,
656
+ "correct": 190,
657
+ "accuracy": 0.95
658
+ },
659
+ {
660
+ "k": 24,
661
+ "parsed": 200,
662
+ "total": 200,
663
+ "correct": 184,
664
+ "accuracy": 0.92
665
+ },
666
+ {
667
+ "k": 25,
668
+ "parsed": 200,
669
+ "total": 200,
670
+ "correct": 184,
671
+ "accuracy": 0.92
672
+ }
673
+ ]
674
+ }
675
+ }
676
+ }
benchmarks/alice_reproduction.json ADDED
@@ -0,0 +1,32 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "model": "BestTerm-440M",
3
+ "env": "nextterm-mlx",
4
+ "mlx": "0.31.1",
5
+ "mlx_cuda_13": "0.31.1",
6
+ "mlx_lm": "0.31.2",
7
+ "mlx_use_cuda_graphs": "0",
8
+ "ryskina_correct": 38,
9
+ "ryskina_total": 57,
10
+ "ryskina_accuracy": 0.6666666666666666,
11
+ "oeis_correct": 6536,
12
+ "oeis_total": 19034,
13
+ "oeis_accuracy": 0.3433855206472628,
14
+ "oeis_batch_size": 32,
15
+ "oeis_queue_chunk_size": 512,
16
+ "m1_macro_mape": 17.813680039670427,
17
+ "m1_point_mape": 18.409849536595008,
18
+ "m1_queue_chunk_size": 16,
19
+ "poly_arithmetic_correct": 4538,
20
+ "poly_arithmetic_total": 4800,
21
+ "poly_arithmetic": 0.9454166666666667,
22
+ "poly_quadratic_correct": 3966,
23
+ "poly_quadratic_total": 4600,
24
+ "poly_quadratic": 0.8621739130434782,
25
+ "poly_cubic_correct": 3281,
26
+ "poly_cubic_total": 4400,
27
+ "poly_cubic": 0.7456818181818182,
28
+ "poly_quartic_correct": 2864,
29
+ "poly_quartic_total": 4200,
30
+ "poly_quartic": 0.6819047619047619,
31
+ "poly_queue_chunk_size": 64
32
+ }
benchmarks/comparison.csv ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ Benchmark,NextTerm-440M control,BestTerm original sweep,BestTerm saved Alice reproduction
2
+ Ryskina greedy,30/57 (52.63%),38/57 (66.67%),38/57 (66.67%)
3
+ Ryskina beam-4,32/57 (56.14%),40/57 (70.18%),"40/57 (70.18%), separate teacher sweep"
4
+ OEIS-Eval-Neo,6555/19034 (34.4384%),6532/19034 (34.3175%),6536/19034 (34.3386%)
5
+ M1 macro MAPE (lower better),17.623927,17.582548,17.813680
6
+ Polynomial arithmetic,94.2917%,94.5625%,94.5417% (4538/4800)
7
+ Polynomial quadratic,86.3696%,86.3043%,86.2174% (3966/4600)
8
+ Polynomial cubic,74.8409%,74.5682%,74.5682% (3281/4400)
9
+ Polynomial quartic,68.1190%,67.9524%,68.1905% (2864/4200)
benchmarks/hot500_training.json ADDED
@@ -0,0 +1,114 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "checkpoint": "checkpoint_tokens_000500020611.pt",
3
+ "trainer_state": {
4
+ "completed_steps": 20486,
5
+ "train_tokens_seen": 500020611,
6
+ "last_loss": 0.759232759475708
7
+ },
8
+ "checkpoint_args": {
9
+ "data": "oeis_train_bfile_prefix4096.packed",
10
+ "model_backend": "custom",
11
+ "param_dtype": "fp32",
12
+ "weight_update_mode": "bf16_live_fp32_master",
13
+ "batch_size": 1,
14
+ "seq_len": 4096,
15
+ "steps": 5,
16
+ "warmup_steps": 2,
17
+ "target_tokens": 754629901,
18
+ "max_steps": 0,
19
+ "batch_mode": "bucketed",
20
+ "pad_to_seq_len": false,
21
+ "index_dir": "oeis_train_bfile_prefix4096.packed.idx",
22
+ "bucket_tokens_per_batch": 16384,
23
+ "bucket_token_budget_spec": "512:32768,*:24576",
24
+ "bucket_max_batch_size": 512,
25
+ "bucket_pad_multiple": 8,
26
+ "bucket_pad_to_upper": true,
27
+ "bucket_replacement": false,
28
+ "bucket_repeat_epochs": true,
29
+ "bucket_sampling": "token_mass",
30
+ "vocab_mode": "oeis",
31
+ "hidden_size": 1024,
32
+ "intermediate_size": 3072,
33
+ "num_hidden_layers": 28,
34
+ "num_attention_heads": 16,
35
+ "num_key_value_heads": 8,
36
+ "head_dim": 0,
37
+ "compile": true,
38
+ "compile_mode": "reduce-overhead",
39
+ "compile_dynamic": true,
40
+ "compile_skip_dynamic_cudagraphs": true,
41
+ "prewarm_bucket_shapes": true,
42
+ "prewarm_bucket_passes": 2,
43
+ "prewarm_restore_state": true,
44
+ "prewarm_verify_restore": false,
45
+ "prewarm_update_optimizer": false,
46
+ "prewarm_materialize_optimizer_state": true,
47
+ "gradient_checkpointing": false,
48
+ "native_gqa": true,
49
+ "amp": true,
50
+ "lr": 0.0003,
51
+ "optimizer_mode": "torch_muon_hybrid",
52
+ "adamw_lr": 0.0001,
53
+ "muon_lr": 0.01,
54
+ "body_lr_mult": 1.0,
55
+ "adamw_weight_decay": 0.01,
56
+ "muon_weight_decay": 0.0,
57
+ "muon_momentum": 0.95,
58
+ "muon_ns_steps": 5,
59
+ "muon_adjust_lr_fn": "",
60
+ "no_muon_nesterov": false,
61
+ "lr_schedule": "warmup_cosine_cooldown",
62
+ "lr_total_tokens": 754629901,
63
+ "lr_warmup_tokens": 0,
64
+ "lr_warmup_fraction": 0.005,
65
+ "lr_decay_end_fraction": 0.95,
66
+ "lr_peak_factor": 1.0,
67
+ "lr_min_factor": 0.1,
68
+ "lr_final_factor": 0.0,
69
+ "checkpoint_dir": "checkpoints",
70
+ "checkpoint_every_tokens": 250000000,
71
+ "checkpoint_every_steps": 0,
72
+ "keep_last_checkpoints": 4,
73
+ "resume": "",
74
+ "init_from_hf_dir": "base_model",
75
+ "save_final": true,
76
+ "trim_final_batch": true,
77
+ "allow_token_overshoot": false,
78
+ "val_data": "oeis_val_decontam.jsonl",
79
+ "val_format": "jsonl",
80
+ "val_index_dir": "",
81
+ "val_every_tokens": 250000000,
82
+ "val_every_steps": 0,
83
+ "val_batches": 128,
84
+ "val_batch_size": 32,
85
+ "val_max_examples": 0,
86
+ "val_max_context_tokens": 4096,
87
+ "oeis_eval_data": "",
88
+ "oeis_eval_every_tokens": 0,
89
+ "oeis_eval_every_steps": 0,
90
+ "oeis_eval_batch_size": 64,
91
+ "oeis_eval_max_examples": 0,
92
+ "oeis_eval_max_new_tokens": 20,
93
+ "oeis_eval_max_context_tokens": 0,
94
+ "oeis_eval_collect_examples": 3,
95
+ "oeis_eval_generation_backend": "legacy",
96
+ "expected_loss_tokens": 754629901,
97
+ "safe_preflight": true,
98
+ "allow_synthetic_only": false,
99
+ "allow_replacement_sampling": false,
100
+ "preflight_only": false,
101
+ "wandb": true,
102
+ "wandb_project": "oeis-massive",
103
+ "wandb_entity": "n8programs",
104
+ "wandb_run_name": "nextterm-440m-bfile-only-1epoch-20260701-gqa-lrpeak100",
105
+ "wandb_id": "nextterm440m-bfile-only-1epoch-20260701-gqa-lrpeak100",
106
+ "wandb_resume": "allow",
107
+ "wandb_mode": "online",
108
+ "wandb_anonymous": "",
109
+ "wandb_tags": "bfile-only,continued-pretraining,440m,no-synth,invlen-repair,lrpeak100",
110
+ "log_every_steps": 10,
111
+ "seed": 0,
112
+ "report_json": "report.json"
113
+ }
114
+ }
benchmarks/original_base_m1.json ADDED
@@ -0,0 +1,54 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "data_path": "m1_competition_111.jsonl",
3
+ "model": "base_model",
4
+ "output": "base_m1_competition111_mlx_b64.jsonl",
5
+ "series_loaded": 111,
6
+ "series_evaluated": 111,
7
+ "skipped_long": 0,
8
+ "max_context_tokens": 2048,
9
+ "max_new_tokens": 1024,
10
+ "batch_size": 64,
11
+ "missing_policy": "zero",
12
+ "suppress_eos_until_horizon": true,
13
+ "seconds": 4.492863438004861,
14
+ "series_count": 111,
15
+ "horizon_counts": {
16
+ "6": 20,
17
+ "8": 23,
18
+ "18": 68
19
+ },
20
+ "model_macro_mape": 17.623926615357572,
21
+ "model_median_series_mape": 13.829597418172249,
22
+ "model_point_mape": 18.049557899117335,
23
+ "naive2_macro_mape": 17.798673616724457,
24
+ "naive2_point_mape": 17.63296459764299,
25
+ "parsed_full_series": 111,
26
+ "total_missing_terms": 0,
27
+ "malformed_series": 0,
28
+ "by_period": {
29
+ "MONTHLY": {
30
+ "series_count": 68,
31
+ "model_macro_mape": 18.340690204852887,
32
+ "model_point_mape": 18.340690204852887,
33
+ "naive2_macro_mape": 17.387066649846865,
34
+ "naive2_point_mape": 17.387066649846865,
35
+ "parsed_full_series": 68
36
+ },
37
+ "QUARTERLY": {
38
+ "series_count": 23,
39
+ "model_macro_mape": 19.047524714417133,
40
+ "model_point_mape": 19.047524714417133,
41
+ "naive2_macro_mape": 19.59580196054251,
42
+ "naive2_point_mape": 19.59580196054251,
43
+ "parsed_full_series": 23
44
+ },
45
+ "YEARLY": {
46
+ "series_count": 20,
47
+ "model_macro_mape": 13.549792597154996,
48
+ "model_point_mape": 13.549792597154996,
49
+ "naive2_macro_mape": 17.131439708717515,
50
+ "naive2_point_mape": 17.131439708717515,
51
+ "parsed_full_series": 20
52
+ }
53
+ }
54
+ }
benchmarks/original_base_oeis.json ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "data_path": "oeis_val_neo.jsonl",
3
+ "model": "base_model",
4
+ "output": "base_oeis_eval_neo_mlx_full_b512.jsonl",
5
+ "documents": 19034,
6
+ "evaluated": 19034,
7
+ "expected_evaluated": 19034,
8
+ "skipped_long": 0,
9
+ "parsed": 19033,
10
+ "correct": 6555,
11
+ "accuracy": 0.3443837343700746,
12
+ "max_new_tokens": 196,
13
+ "max_context_tokens": 4096,
14
+ "batch_size": 128,
15
+ "restrict_digit_comma_eos": false,
16
+ "restrict_integer_comma_eos": false,
17
+ "allowed_token_ids": null,
18
+ "seconds": 23.02982224902371
19
+ }
benchmarks/original_base_polynomials.json ADDED
@@ -0,0 +1,675 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "csv_path": "base_polynomial_continuation_mlx_b128.csv",
3
+ "tasks": {
4
+ "arithmetic": {
5
+ "degree": 1,
6
+ "parsed": 4800,
7
+ "total": 4800,
8
+ "correct": 4526,
9
+ "accuracy": 0.9429166666666666,
10
+ "parsed_fraction": 1.0,
11
+ "by_k": [
12
+ {
13
+ "k": 2,
14
+ "parsed": 200,
15
+ "total": 200,
16
+ "correct": 9,
17
+ "accuracy": 0.045
18
+ },
19
+ {
20
+ "k": 3,
21
+ "parsed": 200,
22
+ "total": 200,
23
+ "correct": 153,
24
+ "accuracy": 0.765
25
+ },
26
+ {
27
+ "k": 4,
28
+ "parsed": 200,
29
+ "total": 200,
30
+ "correct": 187,
31
+ "accuracy": 0.935
32
+ },
33
+ {
34
+ "k": 5,
35
+ "parsed": 200,
36
+ "total": 200,
37
+ "correct": 197,
38
+ "accuracy": 0.985
39
+ },
40
+ {
41
+ "k": 6,
42
+ "parsed": 200,
43
+ "total": 200,
44
+ "correct": 195,
45
+ "accuracy": 0.975
46
+ },
47
+ {
48
+ "k": 7,
49
+ "parsed": 200,
50
+ "total": 200,
51
+ "correct": 196,
52
+ "accuracy": 0.98
53
+ },
54
+ {
55
+ "k": 8,
56
+ "parsed": 200,
57
+ "total": 200,
58
+ "correct": 197,
59
+ "accuracy": 0.985
60
+ },
61
+ {
62
+ "k": 9,
63
+ "parsed": 200,
64
+ "total": 200,
65
+ "correct": 198,
66
+ "accuracy": 0.99
67
+ },
68
+ {
69
+ "k": 10,
70
+ "parsed": 200,
71
+ "total": 200,
72
+ "correct": 198,
73
+ "accuracy": 0.99
74
+ },
75
+ {
76
+ "k": 11,
77
+ "parsed": 200,
78
+ "total": 200,
79
+ "correct": 199,
80
+ "accuracy": 0.995
81
+ },
82
+ {
83
+ "k": 12,
84
+ "parsed": 200,
85
+ "total": 200,
86
+ "correct": 200,
87
+ "accuracy": 1.0
88
+ },
89
+ {
90
+ "k": 13,
91
+ "parsed": 200,
92
+ "total": 200,
93
+ "correct": 199,
94
+ "accuracy": 0.995
95
+ },
96
+ {
97
+ "k": 14,
98
+ "parsed": 200,
99
+ "total": 200,
100
+ "correct": 200,
101
+ "accuracy": 1.0
102
+ },
103
+ {
104
+ "k": 15,
105
+ "parsed": 200,
106
+ "total": 200,
107
+ "correct": 200,
108
+ "accuracy": 1.0
109
+ },
110
+ {
111
+ "k": 16,
112
+ "parsed": 200,
113
+ "total": 200,
114
+ "correct": 200,
115
+ "accuracy": 1.0
116
+ },
117
+ {
118
+ "k": 17,
119
+ "parsed": 200,
120
+ "total": 200,
121
+ "correct": 200,
122
+ "accuracy": 1.0
123
+ },
124
+ {
125
+ "k": 18,
126
+ "parsed": 200,
127
+ "total": 200,
128
+ "correct": 200,
129
+ "accuracy": 1.0
130
+ },
131
+ {
132
+ "k": 19,
133
+ "parsed": 200,
134
+ "total": 200,
135
+ "correct": 200,
136
+ "accuracy": 1.0
137
+ },
138
+ {
139
+ "k": 20,
140
+ "parsed": 200,
141
+ "total": 200,
142
+ "correct": 199,
143
+ "accuracy": 0.995
144
+ },
145
+ {
146
+ "k": 21,
147
+ "parsed": 200,
148
+ "total": 200,
149
+ "correct": 200,
150
+ "accuracy": 1.0
151
+ },
152
+ {
153
+ "k": 22,
154
+ "parsed": 200,
155
+ "total": 200,
156
+ "correct": 200,
157
+ "accuracy": 1.0
158
+ },
159
+ {
160
+ "k": 23,
161
+ "parsed": 200,
162
+ "total": 200,
163
+ "correct": 200,
164
+ "accuracy": 1.0
165
+ },
166
+ {
167
+ "k": 24,
168
+ "parsed": 200,
169
+ "total": 200,
170
+ "correct": 200,
171
+ "accuracy": 1.0
172
+ },
173
+ {
174
+ "k": 25,
175
+ "parsed": 200,
176
+ "total": 200,
177
+ "correct": 199,
178
+ "accuracy": 0.995
179
+ }
180
+ ]
181
+ },
182
+ "quadratic": {
183
+ "degree": 2,
184
+ "parsed": 4600,
185
+ "total": 4600,
186
+ "correct": 3973,
187
+ "accuracy": 0.8636956521739131,
188
+ "parsed_fraction": 1.0,
189
+ "by_k": [
190
+ {
191
+ "k": 3,
192
+ "parsed": 200,
193
+ "total": 200,
194
+ "correct": 1,
195
+ "accuracy": 0.005
196
+ },
197
+ {
198
+ "k": 4,
199
+ "parsed": 200,
200
+ "total": 200,
201
+ "correct": 63,
202
+ "accuracy": 0.315
203
+ },
204
+ {
205
+ "k": 5,
206
+ "parsed": 200,
207
+ "total": 200,
208
+ "correct": 99,
209
+ "accuracy": 0.495
210
+ },
211
+ {
212
+ "k": 6,
213
+ "parsed": 200,
214
+ "total": 200,
215
+ "correct": 144,
216
+ "accuracy": 0.72
217
+ },
218
+ {
219
+ "k": 7,
220
+ "parsed": 200,
221
+ "total": 200,
222
+ "correct": 182,
223
+ "accuracy": 0.91
224
+ },
225
+ {
226
+ "k": 8,
227
+ "parsed": 200,
228
+ "total": 200,
229
+ "correct": 184,
230
+ "accuracy": 0.92
231
+ },
232
+ {
233
+ "k": 9,
234
+ "parsed": 200,
235
+ "total": 200,
236
+ "correct": 187,
237
+ "accuracy": 0.935
238
+ },
239
+ {
240
+ "k": 10,
241
+ "parsed": 200,
242
+ "total": 200,
243
+ "correct": 191,
244
+ "accuracy": 0.955
245
+ },
246
+ {
247
+ "k": 11,
248
+ "parsed": 200,
249
+ "total": 200,
250
+ "correct": 190,
251
+ "accuracy": 0.95
252
+ },
253
+ {
254
+ "k": 12,
255
+ "parsed": 200,
256
+ "total": 200,
257
+ "correct": 192,
258
+ "accuracy": 0.96
259
+ },
260
+ {
261
+ "k": 13,
262
+ "parsed": 200,
263
+ "total": 200,
264
+ "correct": 195,
265
+ "accuracy": 0.975
266
+ },
267
+ {
268
+ "k": 14,
269
+ "parsed": 200,
270
+ "total": 200,
271
+ "correct": 196,
272
+ "accuracy": 0.98
273
+ },
274
+ {
275
+ "k": 15,
276
+ "parsed": 200,
277
+ "total": 200,
278
+ "correct": 194,
279
+ "accuracy": 0.97
280
+ },
281
+ {
282
+ "k": 16,
283
+ "parsed": 200,
284
+ "total": 200,
285
+ "correct": 196,
286
+ "accuracy": 0.98
287
+ },
288
+ {
289
+ "k": 17,
290
+ "parsed": 200,
291
+ "total": 200,
292
+ "correct": 198,
293
+ "accuracy": 0.99
294
+ },
295
+ {
296
+ "k": 18,
297
+ "parsed": 200,
298
+ "total": 200,
299
+ "correct": 192,
300
+ "accuracy": 0.96
301
+ },
302
+ {
303
+ "k": 19,
304
+ "parsed": 200,
305
+ "total": 200,
306
+ "correct": 194,
307
+ "accuracy": 0.97
308
+ },
309
+ {
310
+ "k": 20,
311
+ "parsed": 200,
312
+ "total": 200,
313
+ "correct": 198,
314
+ "accuracy": 0.99
315
+ },
316
+ {
317
+ "k": 21,
318
+ "parsed": 200,
319
+ "total": 200,
320
+ "correct": 195,
321
+ "accuracy": 0.975
322
+ },
323
+ {
324
+ "k": 22,
325
+ "parsed": 200,
326
+ "total": 200,
327
+ "correct": 195,
328
+ "accuracy": 0.975
329
+ },
330
+ {
331
+ "k": 23,
332
+ "parsed": 200,
333
+ "total": 200,
334
+ "correct": 194,
335
+ "accuracy": 0.97
336
+ },
337
+ {
338
+ "k": 24,
339
+ "parsed": 200,
340
+ "total": 200,
341
+ "correct": 197,
342
+ "accuracy": 0.985
343
+ },
344
+ {
345
+ "k": 25,
346
+ "parsed": 200,
347
+ "total": 200,
348
+ "correct": 196,
349
+ "accuracy": 0.98
350
+ }
351
+ ]
352
+ },
353
+ "cubic": {
354
+ "degree": 3,
355
+ "parsed": 4400,
356
+ "total": 4400,
357
+ "correct": 3293,
358
+ "accuracy": 0.7484090909090909,
359
+ "parsed_fraction": 1.0,
360
+ "by_k": [
361
+ {
362
+ "k": 4,
363
+ "parsed": 200,
364
+ "total": 200,
365
+ "correct": 3,
366
+ "accuracy": 0.015
367
+ },
368
+ {
369
+ "k": 5,
370
+ "parsed": 200,
371
+ "total": 200,
372
+ "correct": 12,
373
+ "accuracy": 0.06
374
+ },
375
+ {
376
+ "k": 6,
377
+ "parsed": 200,
378
+ "total": 200,
379
+ "correct": 26,
380
+ "accuracy": 0.13
381
+ },
382
+ {
383
+ "k": 7,
384
+ "parsed": 200,
385
+ "total": 200,
386
+ "correct": 62,
387
+ "accuracy": 0.31
388
+ },
389
+ {
390
+ "k": 8,
391
+ "parsed": 200,
392
+ "total": 200,
393
+ "correct": 103,
394
+ "accuracy": 0.515
395
+ },
396
+ {
397
+ "k": 9,
398
+ "parsed": 200,
399
+ "total": 200,
400
+ "correct": 143,
401
+ "accuracy": 0.715
402
+ },
403
+ {
404
+ "k": 10,
405
+ "parsed": 200,
406
+ "total": 200,
407
+ "correct": 160,
408
+ "accuracy": 0.8
409
+ },
410
+ {
411
+ "k": 11,
412
+ "parsed": 200,
413
+ "total": 200,
414
+ "correct": 172,
415
+ "accuracy": 0.86
416
+ },
417
+ {
418
+ "k": 12,
419
+ "parsed": 200,
420
+ "total": 200,
421
+ "correct": 181,
422
+ "accuracy": 0.905
423
+ },
424
+ {
425
+ "k": 13,
426
+ "parsed": 200,
427
+ "total": 200,
428
+ "correct": 179,
429
+ "accuracy": 0.895
430
+ },
431
+ {
432
+ "k": 14,
433
+ "parsed": 200,
434
+ "total": 200,
435
+ "correct": 183,
436
+ "accuracy": 0.915
437
+ },
438
+ {
439
+ "k": 15,
440
+ "parsed": 200,
441
+ "total": 200,
442
+ "correct": 185,
443
+ "accuracy": 0.925
444
+ },
445
+ {
446
+ "k": 16,
447
+ "parsed": 200,
448
+ "total": 200,
449
+ "correct": 189,
450
+ "accuracy": 0.945
451
+ },
452
+ {
453
+ "k": 17,
454
+ "parsed": 200,
455
+ "total": 200,
456
+ "correct": 186,
457
+ "accuracy": 0.93
458
+ },
459
+ {
460
+ "k": 18,
461
+ "parsed": 200,
462
+ "total": 200,
463
+ "correct": 192,
464
+ "accuracy": 0.96
465
+ },
466
+ {
467
+ "k": 19,
468
+ "parsed": 200,
469
+ "total": 200,
470
+ "correct": 188,
471
+ "accuracy": 0.94
472
+ },
473
+ {
474
+ "k": 20,
475
+ "parsed": 200,
476
+ "total": 200,
477
+ "correct": 190,
478
+ "accuracy": 0.95
479
+ },
480
+ {
481
+ "k": 21,
482
+ "parsed": 200,
483
+ "total": 200,
484
+ "correct": 187,
485
+ "accuracy": 0.935
486
+ },
487
+ {
488
+ "k": 22,
489
+ "parsed": 200,
490
+ "total": 200,
491
+ "correct": 187,
492
+ "accuracy": 0.935
493
+ },
494
+ {
495
+ "k": 23,
496
+ "parsed": 200,
497
+ "total": 200,
498
+ "correct": 187,
499
+ "accuracy": 0.935
500
+ },
501
+ {
502
+ "k": 24,
503
+ "parsed": 200,
504
+ "total": 200,
505
+ "correct": 189,
506
+ "accuracy": 0.945
507
+ },
508
+ {
509
+ "k": 25,
510
+ "parsed": 200,
511
+ "total": 200,
512
+ "correct": 189,
513
+ "accuracy": 0.945
514
+ }
515
+ ]
516
+ },
517
+ "quartic": {
518
+ "degree": 4,
519
+ "parsed": 4200,
520
+ "total": 4200,
521
+ "correct": 2861,
522
+ "accuracy": 0.6811904761904762,
523
+ "parsed_fraction": 1.0,
524
+ "by_k": [
525
+ {
526
+ "k": 5,
527
+ "parsed": 200,
528
+ "total": 200,
529
+ "correct": 5,
530
+ "accuracy": 0.025
531
+ },
532
+ {
533
+ "k": 6,
534
+ "parsed": 200,
535
+ "total": 200,
536
+ "correct": 10,
537
+ "accuracy": 0.05
538
+ },
539
+ {
540
+ "k": 7,
541
+ "parsed": 200,
542
+ "total": 200,
543
+ "correct": 25,
544
+ "accuracy": 0.125
545
+ },
546
+ {
547
+ "k": 8,
548
+ "parsed": 200,
549
+ "total": 200,
550
+ "correct": 39,
551
+ "accuracy": 0.195
552
+ },
553
+ {
554
+ "k": 9,
555
+ "parsed": 200,
556
+ "total": 200,
557
+ "correct": 79,
558
+ "accuracy": 0.395
559
+ },
560
+ {
561
+ "k": 10,
562
+ "parsed": 200,
563
+ "total": 200,
564
+ "correct": 114,
565
+ "accuracy": 0.57
566
+ },
567
+ {
568
+ "k": 11,
569
+ "parsed": 200,
570
+ "total": 200,
571
+ "correct": 139,
572
+ "accuracy": 0.695
573
+ },
574
+ {
575
+ "k": 12,
576
+ "parsed": 200,
577
+ "total": 200,
578
+ "correct": 156,
579
+ "accuracy": 0.78
580
+ },
581
+ {
582
+ "k": 13,
583
+ "parsed": 200,
584
+ "total": 200,
585
+ "correct": 155,
586
+ "accuracy": 0.775
587
+ },
588
+ {
589
+ "k": 14,
590
+ "parsed": 200,
591
+ "total": 200,
592
+ "correct": 160,
593
+ "accuracy": 0.8
594
+ },
595
+ {
596
+ "k": 15,
597
+ "parsed": 200,
598
+ "total": 200,
599
+ "correct": 169,
600
+ "accuracy": 0.845
601
+ },
602
+ {
603
+ "k": 16,
604
+ "parsed": 200,
605
+ "total": 200,
606
+ "correct": 173,
607
+ "accuracy": 0.865
608
+ },
609
+ {
610
+ "k": 17,
611
+ "parsed": 200,
612
+ "total": 200,
613
+ "correct": 177,
614
+ "accuracy": 0.885
615
+ },
616
+ {
617
+ "k": 18,
618
+ "parsed": 200,
619
+ "total": 200,
620
+ "correct": 175,
621
+ "accuracy": 0.875
622
+ },
623
+ {
624
+ "k": 19,
625
+ "parsed": 200,
626
+ "total": 200,
627
+ "correct": 176,
628
+ "accuracy": 0.88
629
+ },
630
+ {
631
+ "k": 20,
632
+ "parsed": 200,
633
+ "total": 200,
634
+ "correct": 178,
635
+ "accuracy": 0.89
636
+ },
637
+ {
638
+ "k": 21,
639
+ "parsed": 200,
640
+ "total": 200,
641
+ "correct": 184,
642
+ "accuracy": 0.92
643
+ },
644
+ {
645
+ "k": 22,
646
+ "parsed": 200,
647
+ "total": 200,
648
+ "correct": 182,
649
+ "accuracy": 0.91
650
+ },
651
+ {
652
+ "k": 23,
653
+ "parsed": 200,
654
+ "total": 200,
655
+ "correct": 189,
656
+ "accuracy": 0.945
657
+ },
658
+ {
659
+ "k": 24,
660
+ "parsed": 200,
661
+ "total": 200,
662
+ "correct": 189,
663
+ "accuracy": 0.945
664
+ },
665
+ {
666
+ "k": 25,
667
+ "parsed": 200,
668
+ "total": 200,
669
+ "correct": 187,
670
+ "accuracy": 0.935
671
+ }
672
+ ]
673
+ }
674
+ }
675
+ }
benchmarks/original_ryskina.json ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ [
2
+ {
3
+ "label": "base",
4
+ "beams": 1,
5
+ "correct": 30,
6
+ "documents": 57,
7
+ "accuracy_percent": 52.63157894736842,
8
+ "output": "base_ryskina_knight_eval_hf_transformers_generate_beam1.json"
9
+ },
10
+ {
11
+ "label": "base",
12
+ "beams": 4,
13
+ "correct": 32,
14
+ "documents": 57,
15
+ "accuracy_percent": 56.14035087719298,
16
+ "output": "base_ryskina_knight_eval_hf_transformers_generate_beam4.json"
17
+ },
18
+ {
19
+ "label": "slerp_t080",
20
+ "beams": 1,
21
+ "correct": 38,
22
+ "documents": 57,
23
+ "accuracy_percent": 66.66666666666667,
24
+ "output": "slerp_t080_ryskina_knight_eval_hf_transformers_generate_beam1.json"
25
+ },
26
+ {
27
+ "label": "slerp_t080",
28
+ "beams": 4,
29
+ "correct": 40,
30
+ "documents": 57,
31
+ "accuracy_percent": 70.17543859649123,
32
+ "output": "slerp_t080_ryskina_knight_eval_hf_transformers_generate_beam4.json"
33
+ }
34
+ ]
benchmarks/original_slerp_sweep.json ADDED
@@ -0,0 +1,69 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "rows": [
3
+ {
4
+ "tag": "t045",
5
+ "t": 0.45,
6
+ "ryskina_correct": 35,
7
+ "ryskina_accuracy": 0.6140350877192983,
8
+ "oeis_correct": 6570,
9
+ "oeis_accuracy": 0.3451717978354523,
10
+ "m1_macro_mape": 18.469474667112838,
11
+ "poly_arithmetic": 0.9460416666666667,
12
+ "poly_quadratic": 0.8673913043478261,
13
+ "poly_cubic": 0.7495454545454545,
14
+ "poly_quartic": 0.6930952380952381
15
+ },
16
+ {
17
+ "tag": "t060",
18
+ "t": 0.6,
19
+ "ryskina_correct": 36,
20
+ "ryskina_accuracy": 0.631578947368421,
21
+ "oeis_correct": 6575,
22
+ "oeis_accuracy": 0.34543448565724494,
23
+ "m1_macro_mape": 17.775277211811733,
24
+ "poly_arithmetic": 0.9454166666666667,
25
+ "poly_quadratic": 0.8652173913043478,
26
+ "poly_cubic": 0.7488636363636364,
27
+ "poly_quartic": 0.6885714285714286
28
+ },
29
+ {
30
+ "tag": "t070",
31
+ "t": 0.7,
32
+ "ryskina_correct": 37,
33
+ "ryskina_accuracy": 0.6491228070175439,
34
+ "oeis_correct": 6553,
35
+ "oeis_accuracy": 0.3442786592413576,
36
+ "m1_macro_mape": 17.82159170400584,
37
+ "poly_arithmetic": 0.9460416666666667,
38
+ "poly_quadratic": 0.8641304347826086,
39
+ "poly_cubic": 0.7495454545454545,
40
+ "poly_quartic": 0.6857142857142857
41
+ },
42
+ {
43
+ "tag": "t080",
44
+ "t": 0.8,
45
+ "ryskina_correct": 38,
46
+ "ryskina_accuracy": 0.6666666666666666,
47
+ "oeis_correct": 6532,
48
+ "oeis_accuracy": 0.3431753703898287,
49
+ "m1_macro_mape": 17.582547763955844,
50
+ "poly_arithmetic": 0.945625,
51
+ "poly_quadratic": 0.8630434782608696,
52
+ "poly_cubic": 0.7456818181818182,
53
+ "poly_quartic": 0.6795238095238095
54
+ },
55
+ {
56
+ "tag": "t090",
57
+ "t": 0.9,
58
+ "ryskina_correct": 38,
59
+ "ryskina_accuracy": 0.6666666666666666,
60
+ "oeis_correct": 6520,
61
+ "oeis_accuracy": 0.34254491961752653,
62
+ "m1_macro_mape": 17.851500398729986,
63
+ "poly_arithmetic": 0.945,
64
+ "poly_quadratic": 0.8602173913043478,
65
+ "poly_cubic": 0.7452272727272727,
66
+ "poly_quartic": 0.6780952380952381
67
+ }
68
+ ]
69
+ }
benchmarks/provenance.json ADDED
@@ -0,0 +1,53 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "recovered": "2026-09-25",
3
+ "experiments": "July 2026",
4
+ "normalization": "Absolute machine-specific paths in copied JSON summaries replaced by their basenames. Metrics and evaluation settings preserved.",
5
+ "weights_sha256": "a6a4244107d621c7138060d37168345b9e83a2e8036ccf4ccbcd465b048068f2",
6
+ "sources": [
7
+ {
8
+ "published_file": "original_ryskina.json",
9
+ "source_filename": "ryskina_hf_transformers_generate_beam_summary.json",
10
+ "original_source_sha256": "98bfad6b14b801f85f810af9f5a43b1bb3548a8a79ec074ec850ed8933ade53e"
11
+ },
12
+ {
13
+ "published_file": "original_slerp_sweep.json",
14
+ "source_filename": "full_candidate_sweep_summary.json",
15
+ "original_source_sha256": "6b42dca5944cb49f52193b328340d4723235292574f8a08cb838afc7cca01c73"
16
+ },
17
+ {
18
+ "published_file": "original_base_oeis.json",
19
+ "source_filename": "base_oeis_eval_neo_mlx_full_b512_summary.json",
20
+ "original_source_sha256": "93524fa7150d062f1eeb0003e0beb358955824aa0190a7440bea3822716e9e72"
21
+ },
22
+ {
23
+ "published_file": "original_base_m1.json",
24
+ "source_filename": "base_m1_competition111_mlx_b64_summary.json",
25
+ "original_source_sha256": "c8ae6aa834dc1a7855aaaa197ae9d7a3e00bdf4f8b7ae88e84414313ef88aa02"
26
+ },
27
+ {
28
+ "published_file": "original_base_polynomials.json",
29
+ "source_filename": "base_polynomial_continuation_mlx_b128_summary.json",
30
+ "original_source_sha256": "ec060c99c7468919bb862ee48153e9b7497d7b92abb7270fb891bc47b54c685e"
31
+ },
32
+ {
33
+ "published_file": "alice_reproduction.json",
34
+ "source_filename": "bestterm_repro_summary.json",
35
+ "original_source_sha256": "d3336fde463c4aedbef6772a6d0f7537ad951e6bbee7bf8875aff3079a24b072"
36
+ },
37
+ {
38
+ "published_file": "alice_m1.json",
39
+ "source_filename": "bestterm_m1_competition111_mlx_b64_clean_summary.json",
40
+ "original_source_sha256": "bde3be1a84083623cbff0fbdd8ac7cc17ea0cd5a5dc87484b5e629a2756aa2dc"
41
+ },
42
+ {
43
+ "published_file": "alice_oeis.json",
44
+ "source_filename": "bestterm_oeis_eval_neo_mlx_b32_summary.json",
45
+ "original_source_sha256": "3bff5e3eab2100139a8a903732f255fdc32c7841802805e5e13eb5b71d531905"
46
+ },
47
+ {
48
+ "published_file": "alice_polynomials.json",
49
+ "source_filename": "bestterm_polynomial_continuation_mlx_b128_summary.json",
50
+ "original_source_sha256": "c389efedefc295d3d13c5c1473a435b558742173806982ecb03034279073cf58"
51
+ }
52
+ ]
53
+ }
benchmarks/teacher_decoding.json ADDED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "model": "N8Programs/BestTerm-440M-Checkpts",
3
+ "table": {
4
+ "greedy": "38/57",
5
+ "greedy_restricted": "38/57",
6
+ "beam4_t64": "40/57",
7
+ "beam4_t160": "40/57",
8
+ "beam8_t64": "40/57",
9
+ "beam8_t160": "40/57",
10
+ "beam16_t64": "ERROR",
11
+ "beam16_t160": "ERROR",
12
+ "vote32_T0.7": "31/57",
13
+ "rerank32_T0.7_h1_total": "38/57",
14
+ "rerank32_T0.7_h1_mean": "39/57",
15
+ "rerank32_T0.7_h2_total": "39/57",
16
+ "rerank32_T0.7_h2_mean": "39/57",
17
+ "rerank32_T0.7_h4_total": "39/57",
18
+ "rerank32_T0.7_h4_mean": "39/57",
19
+ "rerank32_T0.7_h8_total": "38/57",
20
+ "rerank32_T0.7_h8_mean": "40/57",
21
+ "rerank32_T0.7_h16_total": "37/57",
22
+ "rerank32_T0.7_h16_mean": "38/57",
23
+ "vote32_T1.0": "35/57",
24
+ "rerank32_T1.0_h1_total": "38/57",
25
+ "rerank32_T1.0_h1_mean": "39/57",
26
+ "rerank32_T1.0_h2_total": "39/57",
27
+ "rerank32_T1.0_h2_mean": "39/57",
28
+ "rerank32_T1.0_h4_total": "38/57",
29
+ "rerank32_T1.0_h4_mean": "38/57",
30
+ "rerank32_T1.0_h8_total": "40/57",
31
+ "rerank32_T1.0_h8_mean": "40/57",
32
+ "rerank32_T1.0_h16_total": "39/57",
33
+ "rerank32_T1.0_h16_mean": "40/57"
34
+ },
35
+ "num_samples": 32
36
+ }