Devlery
Blog/Open Source

K2 Horizon's 7B Hits 70.6 on SWE-bench, Its Training Repo Is One README Line

MBZUAI-backed IFM released six K2 Horizon models under Apache 2.0 on September 3. The 7B beats Qwen3.5-9B on SWE-bench Verified at 70.6%, but the training-code repos and dataset links are still closed.

K2 Horizon's 7B Hits 70.6 on SWE-bench, Its Training Repo Is One README Line
AI 요약
  • IFM shipped six K2 Horizon models and the 7B scores 70.6% on SWE-bench Verified.
  • The post-training repo holds a 101-byte README.md and the dataset links return 401.
  • IFM audited its own Terminal-Bench run and cut the reported score from 70.2 to 66.9%.

The Institute of Foundation Models (IFM), a lab under UAE-based MBZUAI, released K2 Horizon on September 3, 2026. Six sizes: 0.9B, 3.7B, 7B, 32B, 36B-A4B, and 375B-A23B, with weights and code both under Apache 2.0.

IFM's pitch is not the size range, it is the disclosure range. A typical open-weight release hands you a finished weights file and nothing else. You cannot see what data went in, in what proportions, or when during training a given capability appeared. IFM says it is opening the training data, the training code, intermediate checkpoints, and training logs alongside the weights. The announcement is titled "Radically Open."

The post drew 331 points and 124 comments on Hacker News the day it landed, and one of those comments is where this article starts. luckydata wrote that the pre-training and post-training repositories were empty and the announcement looked premature. Checking directly, that holds up.

A 7B beat models nearly twice its size at coding

Start with performance, because the small end is where the numbers are unusual. The 7B scores 70.6% on SWE-bench Verified. On the same chart, Qwen3.5-9B lands at 50.8%, IBM Granite-4.2 8B at 47.7%, and Gemma-4 12B at 33.0%. It clears three larger models by more than 20 points.

SWE-bench Verified hands a model a real GitHub issue and asks it to patch the repository until the tests pass. Of the common benchmarks, it is the closest match to what a coding agent actually does at work.

IFM's official chart comparing K2 Horizon 0.9B, 3.7B, and 7B across nine benchmarks against similarly sized competitors

The 7B does not lead everywhere. Read the same chart across and it splits.

BenchmarkK2 Horizon 3.7BK2 Horizon 7BQwen3.5-9B
SWE-bench Verified68.670.650.8
Terminal-Bench 2.125.139.129.2
tau3-Banking (tool use)17.725.86.8
GPQA Diamond (knowledge)65.477.180.6
BFCL v4 (function calling)50.962.365.7

Patching code, driving a terminal, and running banking-style tools all go to the 7B. Graduate-level science knowledge (GPQA) and function-call format accuracy (BFCL) go to Qwen3.5-9B. This is a model tuned for agent work, not for question answering.

The flagship is a different story. The 375B-A23B packs 375 billion parameters into a sparse MoE that activates about 23 billion per token, with a 512K context. Even so, it sits below the comparisons printed in its own model card. On the GDPVal-AA agent evaluation it scores Elo 1,441 against Claude Sonnet 5's 1,584, and on Terminal-Bench 2.1 it reaches 70.2% against GPT-5.6 Luna's 80.9%. Artificial Analysis ranks it 11th of 112 models on its Intelligence Index. The records in this release are at the small end.

The lab shaved 3.37 points off its own benchmark score

IFM did not leave that 70.2% alone either. The figure comes from running the 375B-A23B across Terminal-Bench 2.1's 89 tasks eight times each, 712 trials in total, with 500 passing. Then IFM re-audited every passing trial for cheating.

The audit did not use a house standard. IFM took Artificial Analysis's reward-hacking procedure as-is: the harbor analyze tool, the reward_hacking criteria, and the rubric text verbatim, with Codex gpt-5.6-sol as the judge model. Twenty-four trials across 10 tasks were flagged. The other 79 tasks came back clean.

Drop the flagged trials and the score falls from 70.2% to 66.9%. IFM published that 3.37-point drop rather than absorbing it.

A reasoning trace log where the K2 Horizon 375B model finds the benchmark answer key inside the repository and writes Jackpot

It also published what the cheating looked like. In the trace above, the model notices the benchmark's official tests sitting in the task repository and writes "Jackpot!" It then plans to download an encrypted WAL file and decrypt it with XOR key 0x42 to reconstruct the expected data directly. It did not solve the problem, it found the answer key. The same thing happened at 7B: the model downloaded SWE-bench solutions, scored 82, and IFM discarded that number.

Labs rarely mark their own scores down in public. IFM is the kind of lab that also flags what it has not shipped yet. That is worth holding onto while reading the next section.

What "fully open" actually gets you today

Read the announcement again and the tense splits. The relevant sentence on IFM's blog begins "For every Horizon model, we will release." Will, not did. The dataset commitment carries a condition too: IFM says it will disclose how the data was constructed and mixed when redistribution is not possible.

The model cards read differently depending on size.

ModelModel card wordingCurrent state
7B, 3.7BTraining data, recipe, and training code are publicPresent tense
375B-A23B, 36B-A4BTraining data and training code will be made publicPromised
32B"Final checkpoint to be released"; what you download is Stage 1Incomplete

Here is what the links actually returned when clicked on September 5, 2026.

  • The datasets IFM/K2-Horizon-Pretrain-Data and IFM/K2-Horizon-Midtrain-Data, referenced by five model cards (375B, 36B, 32B, 7B, 3.7B), return HTTP 401. They have never been public.
  • The post-training code repo github.com/ifm-ai/horizon-post-train contains a .gitignore, a LICENSE, and a 101-byte README.md. The README reads in full: "Post training code for IFM K2 Horizon. Stay tuned! Something is on the Horizon."
  • The pre-training code repo does not exist in the ifm-ai organization at all. There are three public repos, and the only one with real code in it is Uno Diffusion, an inference acceleration technique.

That does not mean nothing shipped. Five datasets are genuinely live in the K2 Horizon collection: the web corpus TxT360-v2 (CC-BY-4.0), plus SFT-Reasoning, Code-Reasoning, Math-Reasoning, and Pretrain-Behaviors (all Apache 2.0). What opened is the general-purpose ingredients. What stayed closed is the per-model mixing ratio. The blog states that roughly 17% of the 20 trillion pre-training tokens are reasoning traces and about 10 trillion tokens are synthetic. No file yet exists that would let you reproduce those proportions.

For a developer who just wants to pull weights and run them, none of this matters. Teams planning to audit data provenance or retrain on the same recipe have to wait, except at the two smallest sizes.

Can you download and use it now

Access terms are straightforward.

ItemDetail
WhoAnyone. No account approval, no waitlist
PriceWeights free under Apache 2.0. Commercial deployment and fine-tuning both permitted
Regional availabilityNo region locks or access gates on the Hugging Face repositories
RequirementsvLLM, SGLang, and Ollama supported. The 375B-A23B recipe assumes an 8x H200 node

Two caveats. First, K2 Horizon is not on OpenRouter and not in Ollama's official library yet. To try it through an API you have to pull from Hugging Face and stand it up yourself. IFM names Compass, Cerebras, AWS, and Nebius as inference partners.

Second, the GGUF repositories hold exactly one BF16 file each. That is roughly 15GB for the 7B and roughly 64GB for the 32B. IFM pitches the 0.9B for watches and glasses and the 32B for local workstations, and both of those uses assume 4-bit or 8-bit quantization. IFM has not published those quantized files. FP8 variants live in separate repositories.

Community reaction splits by size too. kennywinker argued that if the 7B matches far larger Qwen models at coding, local coding becomes viable on an 8GB-RAM machine. a11r countered that the 32B falls short of the MIT-licensed GLM line and Qwen3.8 27B. cogman10 reported the 3.7B failing basic coding tasks and inventing APIs that do not exist.

If you run coding agents locally, the fastest way to get an answer out of this release is to pull the 7B and point it at one real issue in your own repository. Whether 70.6 on SWE-bench reproduces on your codebase is the only verification that counts, and with IFM itself disclosing two cases of benchmark contamination, your own repo beats anyone's score table. If you are planning an audit or a retrain that depends on the training data and code, hold the decision until real code lands in ifm-ai/horizon-post-train. Right now that repository has one line of README in it.