+++ Meet us at SCCON in Berlin, 13–15 October +++ Experience Kolibri, our new sovereign model, live in action for the public sector +++ Hall 26A, Booth 126 +++

Aleph Alpha
Soft grainy gradient of pink, coral, orange and cream waves flowing from left to right
Research

Sohir MaskeySascha Wirges

Good Pretraining, Bad SFT: Checkpoint Quality Across the Training Stack

Checkpoint selection should account for the training that remains.

PRETRAINING SOURCES 30B total · 3B active · 7.5T pretraining tokens Merge 100.0% Cooldown 95.7% Constant 90.2% Mid-training 100B · 8k context Constant 100.0 Merge 97.1 Cooldown 92.6 Long-context 100B · 64k context Merge 100.0 Cooldown 98.9 Constant 98.8 Post-SFT 10B · final target Merge 100.0 Constant 99.2 Cooldown 68.0
Figure 1. Our three pretraining checkpoints (Constant, Cooldown, Merge) follow the same mid-training, long-context, and SFT recipe. The scores at each boundary denote the relative performance with respect to the best checkpoint for the evaluation suite at the given stage. The ranking of evaluated checkpoints changes across the training stages: after pretraining, Cooldown performs better than Constant. After SFT, Constant outperforms Cooldown, and Merge leads both. This tells us that a checkpoint (Cooldown) with better pretraining metrics can produce a worse model after the same downstream training, and we need to investigate carefully which pretraining scores predict downstream performance during ablations.

Checkpoint selection should account for future training

Figure 2. Aggregate scores of the three pretraining checkpoints after pretraining and after mid-training, long-context adaptation and SFT, with the rank denoted in each bar.
Figure 3. Solution density of our three pretraining checkpoints, visualized as two-dimensional projections of 200 Gaussian weight perturbations per checkpoint and benchmark with Uniform Manifold Approximation and Projection (UMAP): 100 perturbations at σϵ=0.005\sigma_\epsilon=0.005 plus 100 at σϵ=0.001\sigma_\epsilon=0.001. Colors denote the accuracy change in percentage points (pp) relative to the unperturbed checkpoint on GSM8K (top) and Mostly Basic Python Problems (MBPP, bottom), on a color scale shared within each benchmark row. The dot marks the unperturbed checkpoint and the star marks each panel’s peak. The projections are illustrative only.

Stage transitions change what quality means

Stage What changes Training signal Intended effect
PretrainingBroad data distributionLoss on all tokensGeneral language and task capability
Mid-trainingCapability-dense dataLoss on all tokensBetter math, code, science, and reasoning
Long-context adaptationLong documents and sequences up to 64kLoss on all tokensUse information across long contexts
SFTStructured conversations and assistant targetsLoss on assistant tokensFollow instructions and answer as an assistant

Pretraining produces a text-completion model

LCE=−∑t∈Mlog⁡pθ(xt∣x<t),\mathcal{L}_{\mathrm{CE}}=-\sum_{t \in \mathcal{M}} \log p_\theta(x_t \mid x_{<t}),
Pretraining, mid-training, long-context The model predicts every token <|endoftext|> Every token belongs to M\mathcal{M}: loss applied throughout.

Mid-training raises GSM8K accuracy from 0.455 to 0.782

Stage GSM8K completion accuracy Response (truncated)
Pretraining0.455“Steve took 10 hours to complete the puzzle. Anna took 10 + 2 = 12 hours to complete the puzzle. So the answer is 12 hours. Question: A baker sells 24 loaves …”
After mid-training0.782“Steve took 10 hours. Half of Steve’s time is 10 / 2 = 5 hours. Anna took 5 hours more than that, so 5 + 2 = 7 hours. So the answer is 7 hours. Question: A baker sells 24 loaves …”

Long-context adaptation raises RULER NIAH recall from 0.047 to 0.917

Stage RULER NIAH 32k recall Response (truncated)
After mid-training0.047“.”
After long-context adaptation0.917“: 9132114. The grass is green. The sky is blue. …”

SFT changes both the interface and the loss mask

<|role|>system<|/role|>
You are a careful mathematical assistant.<|/turn|>
<|role|>user<|/role|>
A rectangle is 12 metres long and 7 metres wide. What is its area?<|/turn|>
<|role|>assistant<|/role|>
The area is 84 square metres.<|/turn|>

context only loss applied

Comparing checkpoints under a matched downstream recipe

Figure 4. Learning rate as a fraction of the pretraining peak, on a logarithmic axis. Rows set the mid-training factor mm, columns the long-context factor ℓ\ell, and every panel holds s=1/3s = 1/3. The schedule is continuous across stage boundaries apart from warmup. Each stage resets the optimizer state and repeats warmup.
Figure 5. Post-SFT scores per task and their mean for the three checkpoints under the matched (1,1)(1,1) recipe with SFT factor 1/31/3. Cooldown’s aggregate score is 0.247, compared with 0.360 for Constant and 0.363 for Merge.

When checkpoint rankings become predictive

Figure 6. Long-context rankings stabilize within the sweep. Each point is one of the eleven fixed-SFT trajectories, placed by its intermediate aggregate score and its post-SFT aggregate score, with a dashed ordinary least squares (OLS) fit per stage.

Solution density separates the pretraining checkpoints

δθ,b(τ)=Pr⁡ϵ[sb(θ+ϵ)≥τsb(θ)].\delta_{\theta,b}(\tau) = \Pr_{\epsilon}\left[s_b(\theta+\epsilon)\geq\tau s_b(\theta)\right].
Figure 7. Score-retention distributions underlying the solution-density estimates for Constant, Cooldown, and Merge at σϵ=0.005\sigma_\epsilon = 0.005. Dots mark observed 5-point histogram bins, and each curve contains 100 perturbations. The dashed line marks the unperturbed score, and the shaded region retains at least 90% of it.

Retuning SFT does not close Cooldown’s performance gap

Checkpoint IFBench median / ≥32k tokens AIME median / at cap GPQA median / at cap
Cooldown (1,1)(1,1), SFT 1/31/332,616 / 75.9%32,768 / 100%32,768 / 99.0%
Constant (1,1)(1,1), SFT 1/31/31,899 / 33.0%6,552 / 29.6%32,768 / 54.5%
Merge (1,1)(1,1), SFT 1/31/31,805 / 33.3%5,135 / 25.8%32,768 / 54.0%
Cooldown (1,1)(1,1), SFT 1132,676 / 93.2%32,768 / 100%32,768 / 99.0%
SFT factor Checkpoints Post-SFT aggregate score Reasoning HumanEval+
1190.1900.1870.168
1/31/390.1690.1400.243
1/91/990.1530.1090.293

Implications for checkpoint selection

Limitations

Further reading

@misc{maskey2026goodpretraining,
  title         = {Good Pretraining, Bad {SFT}: Checkpoint Quality Across the Training Stack},
  author        = {Maskey, Sohir and Scholl, Philipp and Knupp, Jonas and Neitemeier, Pit and Wirges, Sascha},
  year          = {2026},
  eprint        = {2609.08966},
  archivePrefix = {arXiv},
  primaryClass  = {cs.AI},
  url           = {https://arxiv.org/abs/2609.08966}
}

More blog posts