K2H c4-ctrl

The recipe control arm of a continued-pretraining study on IFM/K2-Horizon-MoVA-36B-A4B: clean domain data plus script-verified math replay.

Research checkpoint, published 2026-11-03. It is not a release candidate. Compare it with the release, not in isolation.

Model

  • Base: IFM/K2-Horizon-MoVA-36B-A4B (36B total, about 4B active, MoE). Same architecture, tokenizer and chat template.
  • Weights: bf16 safetensors. The custom modeling code ships with the weights, so load with trust_remote_code=True.
  • Sampling as the base model card recommends: temperature 1.0, top_p 0.95.

Training

  • Trainer: xLLM, FSDP2, bf16, 3 GPUs.
  • Start: the released weights of IFM/K2-Horizon-MoVA-36B-A4B.
  • 100 steps. Sequence length 65,536, batch 1 per GPU, gradient accumulation 4: about 786k tokens per step, about 79M tokens in total.
  • AdamW, beta1 0.9, beta2 0.95, weight decay 0.06, gradient clip 1.0.
  • Learning rate 1.5e-5, 20 warmup steps, then constant.
  • Chat records, where present, are trained on assistant tokens only.

Data mix (sampling weights):

  • 44.5%: domain slices from Avifenesh/k2h-corpus-domain-clean (inference, framework, general and Linux code bundles, commits) plus pull-request text and a small slice of tuning notes that are not published.
  • 47.7%: replay-synth-verified and 7.8%: replay-math-verified from Avifenesh/k2h-replay-verified, as raw text.

Evaluation

All numbers come from the same harness as the release column (lm-evaluation-harness against a vLLM server). IFEval and chat GSM8K use the chat template with reasoning on, temperature 1.0, top_p 0.95, 14,336 new tokens, and score only the text after the reasoning block. The PR NLL is the mean token NLL on 150 held-out pull requests (530k tokens).

Task Release This model Change
GSM8K, 5-shot, strict 90.1 89.3 -0.8
GSM8K, chat zero-shot (reasoning on) 96.6 86.7 -9.9
IFEval, prompt-strict (reasoning on) 84.3 82.6 -1.7
MMLU 77.3 76.9 -0.4
ARC-Challenge 57.6 57.4 -0.2
ARC-Easy 85.6 85.3 -0.3
BoolQ 88.4 88.5 +0.1
HellaSwag (norm) 67.6 68.2 +0.6
PIQA 80.5 80.6 +0.1
WinoGrande 69.1 69.8 +0.7
MBPP pass@1 65.2 71.6 +6.4
HumanEval pass@1 (4 samples) 53.0 65.9 +12.9
Held-out PR NLL (lower is better) 1.519 1.325 -0.194

What the numbers say:

  • Every general task stays level with the release except chat-format GSM8K, and coding goes up (MBPP +6.4, HumanEval +12.9). The held-out PR NLL drops from 1.519 to 1.325.
  • IFEval 82.6 vs 84.3 is level (p=0.35, paired).
  • Chat-format GSM8K falls 10 points: 140 of 1,319 replies end early inside the reasoning block. The cause is the math replay trained as raw text, which teaches the document-end token where a chat turn should end. Few-shot GSM8K hides this.
  • The same data at LR 5e-6 kept chat GSM8K level (96.3). Use that learning rate, or the chat-format replay, for this data.

License

Apache-2.0, the license of the base model.

Downloads last month
299
Safetensors
Model size
37B params
Tensor type
BF16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for Avifenesh/k2h-c4-ctrl

Finetuned
(12)
this model