文章摘要
近日,IFM开源K2 Horizon系列六款AI基础模型,该系列参数量覆盖0.9B到375B,可适配从端侧轻量设备到企业级复杂任务的全场景部署需求,引入创新MoVA架构,兼顾性能与计算效率。该系列完整开放全部训练链路与相关资源,采用Apache 2.0许可证,文中公布了各模型评测结果,并提供了具体的本地部署操作指南。

近日,开源AI基础模型领域推出了一款覆盖全场景部署的重磅模型家族,该系列不仅提供了六种不同参数量级的选型,还完整开放了训练全链路,并引入了创新的MoVA架构设计,让开发者能够灵活适配各类部署需求。

该系列模型总参数量覆盖从0.9B到375B的区间,具体包括0.9B、3.7B、7B、32B、36B-A4B和375B-A23B,面向端侧设备、本地工作站、高效推理服务以及企业级智能体任务。其中7B模型在SWE-bench Verified和AIME 2026评测中分别达到70.6%和90.1%的成绩;采用MoVA架构的36B-A4B每个token仅激活约4B参数,性能却接近稠密结构的32B模型。

K2 Horizon系列同时开放了完整的训练链路,包括训练数据构建方案、训练代码、配置文件、中间检查点、细粒度训练日志、评测结果与最终权重,覆盖推理与智能体后训练全阶段。模型与代码采用Apache 2.0许可证,对于无法直接再分发的数据,也公开了对应的构建方法与混合方案。

全场景模型家族覆盖不同部署需求

K2 Horizon的六款模型各司其职,覆盖从资源受限设备到企业级场景的全链路需求,除0.9B使用较小词表外,其余型号共享训练方法、接口、评测体系与部署工具。

作为企业级旗舰模型,375B-A23B是总参数量375B的稀疏MoE模型,每个token仅激活约23B参数,面向复杂推理、软件工程、深度研究与长时程智能体任务。该模型在GDPVal-AA获得1441 Elo评分,Toolathlon Verified、BrowseComp和MCPMark分别达到65.3%、72.8%和67.7%。在Terminal-Bench 2.1上的原始准确率为70.2%,经过奖励作弊审计剔除24次存在问题的试验后,最终修正为66.9%。

面向本地部署的两款模型中,32B是系列中能力最强的稠密模型,在性能、适配性与本地部署可行性之间取得平衡,适合本地工作站、高效服务系统与私有化部署场景。36B-A4B则采用MoE前馈层与MoVA稀疏注意力设计,总参数量36B,每个token激活约4B参数,在相同训练条件下性能接近稠密32B模型,同时大幅降低了计算资源消耗,在Terminal-Bench 2.1、SciCode和AA-LCR上分别取得58.6%、38.9%和66.3%的成绩。

端侧与轻量部署场景则由7B、3.7B与0.9B三款模型覆盖:7B面向手机、本地设备与多步工作流,在SWE-bench Verified、LiveCodeBench v6和AIME 2026上分别达到70.6%、71.2%和90.1%;3.7B适合微调和端侧部署,在SWE-bench Verified上取得68.6%,AIME 2026达到89.7%,能力覆盖科学编程、数学推理与多步任务;0.9B则面向手表、眼镜等资源极度受限的设备,适合数学推理、轻量工具调用与简单智能体任务,在AIME 2026、LiveCodeBench v6和BFCL v4上分别达到48.5%、37.4%和28.0%。

技术架构与开放训练体系

K2 Horizon并非六款独立模型,而是共享架构设计、训练方法、接口、评测体系与部署工具的完整模型家族。其中36B-A4B引入的MoVA(Mixture-of-Value-Attention)架构,将专家路由从前馈层扩展到注意力的value计算环节,同时兼容FlashAttention、分组查询注意力与稀疏注意力机制,实现了高性价比的性能表现。

训练数据与合成数据体系

每款模型均使用约20T token进行预训练,数据覆盖网页、代码、数学、科学、多语言与特定领域内容,其中近17%为带有显式推理过程的问题求解轨迹,合成数据总量约10T token。研究团队使用Wzip方法衡量大规模语料的多样性,该方法结合自适应多滑动窗口LZ77与分窗口Huffman编码,缓解了传统压缩指标在大规模语料上过早饱和的问题。测试结果显示,K2 Horizon的合成数据多样性接近高质量自然网页文本,明显高于普通网页代码数据。

工具训练同时覆盖JSON、XML和Markdown三种格式,避免模型绑定单一语法格式。推理阶段默认使用Markdown呈现工具定义,在该系列模型的训练数据上,Markdown格式的token消耗比传统JSON格式低约18.5%。

跨规模训练动态与可复现性

3.7B、7B、32B和36B-A4B四款模型使用完全相同的22T token训练数据,并对齐了训练进度。以最后1%训练阶段的损失中位数进行归一化后,四款模型的损失轨迹基本重合。这一结果表明,在共享数据与统一训练方案下,不同参数规模以及稠密、稀疏架构的模型呈现出相近的学习曲线。同时开放的中间检查点与细粒度训练日志,也让训练波动、干预效果与能力涌现过程可以被进一步分析与复现。

后训练与开放基础设施

K2 Horizon的后训练流程包括中期训练、监督微调、模型合并与强化学习,并从共同基础检查点分出推理、编程、工具使用与智能体等不同分支。后训练数据从中期训练阶段开始引入,涵盖长上下文文档、指令遵循、推理与智能体轨迹,以及超过1亿个独特任务。

研究团队同时开放了用于预训练的xLLM基础设施与智能体后训练代码,让研究者能够完整检查训练过程、复现不同训练阶段的效果,并将相关方法适配到新的工具、环境与领域。

训练日志揭示奖励作弊行为

团队对375B-A23B在Terminal-Bench 2.1上的全部通过试验进行了奖励作弊审计。该模型共完成712次试验,其中500次通过验证器,原始准确率为70.2%;审计发现10项任务中的24次试验存在违规行为,包括从公开仓库查找参考答案、复制现有修复方案、读取未公开文件或暴露凭据、修改测试框架或利用评分器等。剔除这些试验后,模型成绩修正为66.9%,修正幅度达3.37个百分点。开放中间检查点与训练日志,也让研究者可以进一步追踪这些非预期策略在训练的哪个阶段出现。

本地部署实践指南

K2 Horizon 36B-A4B支持三种本地推理方式:Transformers直接加载、vLLM服务化部署和SGLang服务化部署。模型原生上下文长度为524288 token,以下服务示例将上下文上限设置为131072 token,官方推荐推理参数为reasoning_effort="high"、temperature=1.0、top_p=0.95。

模型下载

modelscope download \

--model IFM/K2-Horizon-MoVA-36B-A4B \

--local_dir ./K2-Horizon-MoVA-36B-A4B

Transformers 推理

Transformers加载方式适合直接在Python环境中调用模型,便于功能验证与二次开发,模型以BF16精度加载,并通过device_map="auto"自动分配计算设备。

from transformers import AutoModelForCausalLM, AutoTokenizer

model_id = "IFM/K2-Horizon-MoVA-36B-A4B"

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))

vLLM 部署

vLLM方案采用TP=2、专家并行与BF16精度,并提供OpenAI兼容接口:

VLLM_USE_MODELSCOPE=true vllm serve \

./K2-Horizon-MoVA-36B-A4B \

--tensor-parallel-size 2 \

--enable-expert-parallel \

--trust-remote-code \

--dtype bfloat16 \

--max-model-len 131072 \

--reasoning-parser k2_horizon \

--tool-call-parser k2_horizon \

--enable-auto-tool-choice \

--port 30000

SGLang 部署

以下配置已在2×H200环境中验证,采用TP=2、EP=2、BF16和FlashAttention-3:

python3 -m sglang.launch_server \

--model-path ./K2-Horizon-MoVA-36B-A4B \

--tp 2 \

--ep 2 \

--dtype bfloat16 \

--attention-backend fa3 \

--json-model-override-args \

'{"xllm_source_router_gemm_partitions":2}' \

--reasoning-parser k2_horizon \

--tool-call-parser k2_horizon \

--host 0.0.0.0 \

--port 30000

OpenAI 兼容 API 调用

在vLLM或SGLang启动服务后,可通过OpenAI SDK进行访问,工具调用支持json、xml和xml_typed三种格式,默认使用xml格式。

from openai import OpenAI

client = OpenAI(

base_url="http://localhost:30000/v1",

api_key="EMPTY",

)

model_id = client.models.list().data[0].id

response = client.chat.completions.create(

model=model_id,

messages=[

{"role": "user", "content": "请逐步解释这个结果。"}

],

temperature=1.0,

top_p=0.95,

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)

以上内容不代表本平台立场,仅供读者参考