Results
Every model's 8 attempts with web search over a copy of the web frozen at October 1, 2026, on the scale that runs from the task's baseline at 0% to its ceiling at 100%.
Artifacts
What the top model on this task, by mean score, built.
The task
The agent gets the SmolLM2-1.7B base model, trained at 8,192 tokens, and must extend it to answer questions about documents up to 65,536 tokens long. It also gets the verifier's loader, a submission checker, the public question generator, a development question set with a local evaluation script, and about 2,500 public-domain books. Any method is allowed, including training on the public generator. The deliverable is a full checkpoint, config.json and a single model.safetensors, with the base architecture and tensor shapes; the weights are loaded in bf16. Only the RoPE settings are read from the config: rope_theta, max_position_embeddings, and rope_scaling of the linear, dynamic, YaRN or Llama 3 type. The verifier builds the model itself, so no submitted code runs. The private documents write their records in other wordings, and some question wordings are not in the public generator, so the model has to read what a record says.
Trajectories
Step through all 112 attempts from the pass@8 sweep with web search over an October 1, 2026 snapshot: every turn, tool call and submission. The best reward was 87.1%, by Claude Fable 5.2 on attempt 1. The results above come from these runs.
Failure analysis
Gemini 4 Argon averages 0.334 across its 8 attempts. Its models did best on the shortest documents, but questions that follow a chain of variables through the longest documents stayed weak. Most of Argon's failures come from losing training hours to restarts, narrow fixes and a late first test on long documents, and from not building enough test questions to judge its long-document skill.
- Lost training hours to restarts, narrow fixes and a late first test on long documentsFound in 3 of 8 attempts31.7
- Didn't build enough test questions to judge its long-document skillFound in 4 of 8 attempts26.8
- Kept selecting on the public dev set while its own held-out set showed no gainFound in 1 of 8 attempts8.1
- ScoredMean reward 0.33533.5
Example failure analysis
Attempt 2 · reward 0.084 · Lost training hours to restarts, narrow fixes and a late first test on long documents
Launched its training 14 times with small tweaks and killed most runs early, so no run trained long enough to work past 16k.
- What it did
- It started a pilot at 0.7h, then relaunched the curriculum trainer 4 times by 1.6h (steps 65-105). From 2.1h to 4.9h it launched train_stage2_3.py 7 times (steps 128-198), usually killing each within 15-40 minutes after a weak interim score. Most relaunches warm-started from an earlier checkpoint, throwing away the killed run's work. Its full dev check stayed at 0.08-0.19 and its private-style set at 1-2 of 36. From 5.3h it swept the attention factor and blended layers, saving a blend at 8 of 36 dev but still 2 of 36 private.
- What would have worked
- Run one dry run, then let one training run continue for hours instead of killing it after a weak interim score. The best attempt of this model trained 5 phases, each warm-started from the last.
- Evidence
- Step 124
My primary objective right now is to secure a reliable baseline on the leaderboard.
- Step 198
nohup python3 /app/train_stage2_3.py > /tmp/stage2_3_v7.log
- Step 229
This is a very sharp transition and warrants immediate investigation.
- Step 235
=== layers20_23_0.85: DEV=0.2222 (8/36) PRIV=0.0556 (2/36) MEAN=0.1389 ===
- Step 124
Why it is hard
The well-known recipe, adjusting RoPE and continuing training on long text, already pulls a single value out of a long document, so single-key lookup is not scored, and neither is the base model's native 8,192 tokens. The scored questions need the whole document: list every value filed under one key among many keys, some near-identical (multi-value lookup); name every variable that ends up holding a value after long assignment chains with reassignments (variable tracking); and name the item with the most delivery notes when decoy memos mention the same items (frequency). RULER reports that aggregation and tracking fall off long before single-needle retrieval. Published context extensions train on billions of tokens; one H100 session allows tens of millions. SmolLM2-1.7B also uses full multi-head attention, so a 64k-token training step strains the GPU's memory.
| Setting | 16k | 32k | 64k |
|---|---|---|---|
| Values under the asked key | 6 | 8 | 8 |
| Distractor keys | 24 | 80 | 144 |
| Variables per chain | 8 | 12 | 12 |
| Reassignments | 2 | 4 | 4 |
| Items in frequency questions | 22 | 38 | 48 |
How it is graded
The verifier runs offline in its own container and asks questions about private documents in the three families at 16,384, 32,768 and 65,536 tokens. Decoding is greedy with at most 128 new tokens, and only the first generated line is read. Its items are compared with the correct answer as a set: order, duplicates and other text do not matter, but any missing or extra item, a hedge included, makes the question wrong. The reward is the mean exact-set accuracy over the 9 family and length cells; the unmodified base model, which answers nothing past 8,192 tokens, scores 0. A missing submission, a config outside the allowed RoPE settings, wrong tensor names, shapes or dtypes, or a model that cannot run or gives non-finite logits also scores 0.
Anchors
| Anchor | Reward | Score | Meaning |
|---|---|---|---|
| Floor | 0.000 | 0% | What a missing, invalid or rule-breaking submission scores |
| Baseline | 0.000 | 0% | The untouched starting point |
| Ceiling | 1.000 | 100% | The best result the metric allows |
| Regrade tolerance | ± 0.040 | Results closer than this tie |
Environment
- Domain
- ML · Training
- Shape
- End to end
- Agent time
- 8 h per attempt
- Hardware
- 1× H100 · 8 vCPU · 128 GB
- Expert estimate
- 12 h
- Task ID
smollm2-long-context