K2-Horizon-7B

K2-Horizon-7B is the medium dense member of the K2-Horizon family: a 7B-core decoder-only model with a 512K context window.

K2-Horizon-7B benchmark results

K2-Horizon-7B Highlights

  • Strong dense baseline. A 7B-class dense model evaluated across agentic, coding, long-context, and reasoning benchmarks.
  • 512K context. Native 524,288-token context from the midtraining stages onward.
  • Diffusion Adapters. For faster inference (HF).
  • Intermediate checkpoints. Intermediate checkpoints are released so capability changes can be studied across training rather than at a single checkpoint.
  • Fully open. Training data and recipe, training code, and evaluation resources are public.

Benchmark Results

The chart at the top of this card shows K2-Horizon-7B against selected reference models. The table below lists every comparison model used in the figure.

Full Results

Reference models · weak to strong
BenchmarkK2-Horizon-7BReference 1Reference 2Reference 3
Math
HMMT Feb 2026
Competition mathematics
73.3
Gemma 4-12B
63.1
Qwen3.5-9B
65.7
Granite 4.2-8B
66.5
Coding
SWE-bench Verified
Software engineering
70.6
Gemma 4-12B
30.6
Granite 4.2-8B
47.7
Qwen3.5-9B
50.8
Scientific Reasoning
HLE
Expert-level reasoning
18.6
Granite 4.2-8B
9.7
Qwen3.5-9B
14.9
Gemma 4-12B
15.7
Coding
SciCode
Scientific coding
31.6
Qwen3.5-9B
27.5
Mistral Small 4
28.0
Granite 4.2-8B
30.4
General
LCR
Long-context reasoning
68.0
Granite 4.2-8B
43.3
Gemma 4-12B
61.7
Qwen3.5-9B
65.3
Coding
Terminal-Bench 2.1
Agentic terminal use
39.1
Granite 4.2-8B
18.4
Gemma 4-12B
27.3
Qwen3.5-9B
29.2
Agents
tau3-Banking
Agentic tool use
25.8
Qwen3.5-9B
7.0
Granite 4.2-8B
7.6
Muse Glimmer-30B
24.0
BrowseComp
Web browsing
59.0
DeepSeek V4 Flash-0423
53.5
GPT-5
54.9
LongCat Flash Thinking-2601
56.6

Scores in %. Bold marks the best score in each row. BrowseComp: our model uses the Discard-all@95k context-length protocol proposed in the DeepSeek-V3.2 technical report; comparison models may use different harnesses.

Quickstart

Serving

vLLM, recipe at recipes.vllm.ai/IFM:

vllm serve IFM/K2-Horizon-7B \
  --trust-remote-code \
  --dtype bfloat16 \
  --tensor-parallel-size 1 \
  --reasoning-parser k2_horizon \
  --enable-auto-tool-choice \
  --tool-call-parser k2_horizon

Use an exact branch name from the inventory with vLLM's --revision option. For example, --revision pretrain_1100000 selects the final checkpoint of Pretraining, at step 1,100,000.

SGLang, this is the recipe validated in the SGLang K2 Horizon cookbook:

sglang serve \
  --model-path IFM/K2-Horizon-7B \
  --revision 69ada542b68fe13d767479db2ab9421baff88681 \
  --tp 1 \
  --dtype bfloat16 \
  --attention-backend fa3 \
  --reasoning-parser k2_horizon \
  --host 0.0.0.0 \
  --port 30000

API Usage

Recommended settings: reasoning_effort="high", temperature=1.0, top_p=0.95, and at least 32,768 output tokens. Reasoning depth is selected per request through chat_template_kwargs. Thinking is returned in reasoning_content and the answer in content.

from openai import OpenAI

client = OpenAI(base_url="http://localhost:30000/v1", api_key="EMPTY")
response = client.chat.completions.create(
    model="IFM/K2-Horizon-7B",
    messages=[{"role": "user", "content": "Explain the result step by step."}],
    temperature=1.0,
    top_p=0.95,
    max_tokens=32768,
    extra_body={"chat_template_kwargs": {"reasoning_effort": "high", "tool_call_format": "xml"}},
)
message = response.choices[0].message
print("Reasoning:", getattr(message, "reasoning_content", None))
print("Answer:", message.content)

Our model supports multiple tool calls formats, which can be changed with chat_template_kwargs. The supported values are json, xml, and xml_typed . The default is xml. Keep --tool-call-parser k2_horizon enabled to parse the selected format.

Transformers

Validated with Transformers 5.15.0, PyTorch 2.13.0, Safetensors 0.8.0.

from transformers import AutoModelForCausalLM, AutoTokenizer

model_id = "IFM/K2-Horizon-7B"
tokenizer = AutoTokenizer.from_pretrained(model_id, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(
    model_id, device_map="auto", dtype="bfloat16", low_cpu_mem_usage=True, trust_remote_code=True
)

inputs = tokenizer("Explain why long-context evaluation is difficult.", return_tensors="pt").to(model.device)
inputs.pop("token_type_ids", None)
outputs = model.generate(**inputs, max_new_tokens=32768, temperature=1.0, top_p=0.95, do_sample=True)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))

Training Overview

The table below lists the training stages in order and the purpose of each stage.

Training steps are counted within each stage or phase. Token budgets cover only the additional training in that stage or phase. For example, the 50B tokens listed for SFT Phase 2 are additional to the 219B tokens in Phase 1, bringing the cumulative budget to 269B tokens by the end of Phase 2. Here, B and T denote billion and trillion tokens, respectively.

Each stage or phase continues from the final checkpoint of the preceding stage or phase.

Some stages, such as SFT, have multiple phases with slight changes to the data mix while retaining the same overall purpose. During RL, training branches into five expert models, which are then merged, as described below.

Training stage Training steps Training tokens Sequence length Purpose
Pretraining 1100000 22.9T 8K Pretraining.
Midtraining — Stage 1 55000 1.1T 32K Context extension.
Midtraining — Stage 2 25000 498B 128K Context extension.
Midtraining — Stage 3 5500 110B 512K Context extension.
Midtraining — Stage 4 10000 199B 512K Continued context extension from Stage 3, with the data mix shifted toward agentic and reasoning SFT data.
RL To be updated To be updated 512K We trained five expert models from the final checkpoint of Midtraining Stage 4: math, code1, code2, search, and tool use. We then merged the expert models.
SFT — Phase 1 10000 199B 512K SFT for better domain coverage, starting from the merged RL checkpoint.
SFT — Phase 2 2500 50B 512K SFT on a high-quality subset of the data used in Phase 1, with learning rate decay.

Release Artifacts

The tables below list the release artifacts for K2-Horizon-7B, their availability, and the expected release dates for remaining items.

Last updated: 2026-09-11

Status:

  • Available — fully released for the scope listed;
  • Partial — some items are available, with remaining items listed in the notes;
  • In Progress — being prepared for release but not yet available.

Artifact Index

Artifact Link Status Remaining items / expected availability
Model card Hugging Face Available N/A
Training logs W&B Available N/A
Blog post Blog post Available N/A
Checkpoints Checkpoint inventory Partial See details below
Technical report Not yet available In Progress End of September 2026
Code repository GitHub In Progress End of September 2026

Checkpoint Inventory

Model repository: IFM/K2-Horizon-7B

Branch names below refer to this repository. Patterns containing * group branches by training stage or phase. The * is a placeholder for a training-step number, not a literal branch name. Intermediate checkpoint groups exclude the final checkpoint listed separately; a pattern does not imply that a checkpoint is available at every step.

For example, sft_1_11000 is the checkpoint saved at training step 11,000 within SFT Phase 1, and is the final checkpoint of that phase. The numeric suffix is the step within the named stage or phase, not the cumulative step across all training. Thus, sft_2_2500 refers to step 2,500 within SFT Phase 2.

For a partially released group, the available checkpoints and the remaining checkpoints are listed in the notes.

Checkpoint Branch / repository Status Remaining items / expected availability
Pretrain Intermediate Checkpoints pretrain_* Available N/A
Pretrain Final Checkpoint pretrain_1100000 Available N/A
Midtrain Stage 1 Intermediate Checkpoints mid_1_* Available N/A
Midtrain Stage 1 Final Checkpoint mid_1_55000 Available N/A
Midtrain Stage 2 Intermediate Checkpoints mid_2_* Available N/A
Midtrain Stage 2 Final Checkpoint mid_2_25000 Available N/A
Midtrain Stage 3 Intermediate Checkpoints mid_3_* Available N/A
Midtrain Stage 3 Final Checkpoint mid_3_5500 Available N/A
Midtrain Stage 4 Intermediate Checkpoints mid_4_* Available N/A
Midtrain Stage 4 Final Checkpoint mid_4_10000 Available N/A
RL Math Expert Checkpoint rl_math In Progress Mid-September 2026
RL Code1 Expert Checkpoint rl_code1 In Progress Mid-September 2026
RL Code2 Expert Checkpoint rl_code2 In Progress Mid-September 2026
RL Search Expert Checkpoint rl_search In Progress Mid-September 2026
RL Tool Use Expert Checkpoint rl_tool_use In Progress Mid-September 2026
RL Merged Final Checkpoint rl_merged Available N/A
SFT Phase 1 Intermediate Checkpoints sft_1_* Available N/A
SFT Phase 1 Final Checkpoint sft_1_11000 Available N/A
SFT Phase 2 Intermediate Checkpoints sft_2_* Available N/A
SFT Phase 2 Final Checkpoint sft_2_2500 Available N/A

Best Practices

  1. Reasoning effort: always high. All reported results use high reasoning effort. Pass {"chat_template_kwargs": {"reasoning_effort": "high"}} on every request; medium and low trade accuracy for speed and are not recommended for evaluation.
  2. Sampling parameters. temperature=1.0, top_p=0.95.
  3. Output length. Allow at least 32,768 output tokens so reasoning is never cut off. Truncated reasoning is a failed response, not a shorter one.
  4. Serving. Use the validated SGLang recipe above: BF16, TP=1, FlashAttention-3. Full recipes for every K2-Horizon size, with measured H200 latency and throughput, are in the SGLang cookbook.
  5. Parsers. Enable the k2_horizon reasoning parser for chat, and add the k2_horizon tool-call parser for agent use. Leave both off for plain completion-style generation.
  6. Revisions. Pin a revision tag when reproducibility matters. main is the default checkpoint; base_final and the mid_*_final tags identify training stages.

Citation

@misc{k2horizon2026,
  title  = {Introducing K2 Horizon: Frontier Performance, Radically Open},
  author = {{IFM Team}},
  year   = {2026},
  url    = {https://ifm.ai/blog/k2/},
}
Downloads last month
5,402
Safetensors
Model size
9B params
Tensor type
BF16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for IFM/K2-Horizon-7B

Adapters
2 models
Finetunes
1 model
Quantizations
20 models

Collection including IFM/K2-Horizon-7B