Kwaipilot/KAT-Coder-V2.5-Dev

Hugging Face Models Trending 模型

摘要

KAT-Coder-V2.5-Dev 是一个开放权重的 MoE 编码模型,总参数为 35B(3B 激活),通过 SFT 和 RL 训练在代理编码基准测试上取得了最先进的结果。

任务:文本生成 标签:transformers, safetensors, qwen3_5_moe, 图像文本到文本, 代码, 代理, 代理编码, moe, 编码, 文本生成, 对话, en, zh, arxiv:2607.05471, 许可证:apache-2.0, endpoints_compatible, 区域:us
查看原文
查看缓存全文

缓存时间: 2026/07/24 10:59

) may exceed 262k, we recommend splitting the service into two separate endpoints to maintain high inference throughput. For example, you could deploy one port for processing non-thinking code generation tasks and another port for thinking-enhanced long-context tasks, and allocate the workloads accordingly:

``

Endpoint A: thinking mode for tasks requiring long reasoning

Short tasks (< 262k total length)

python -m sglang.launch_server
–model-path Kwaipilot/KAT-Coder-V2.5-Dev
–port 8000 \ –tp-size 8
–mem-fraction-static 0.8
–enable-mixed-thinking-mode
–context-length 262144
–reasoning-parser qwen3

Endpoint B: non-thinking mode for tasks with minimal context overhead

Long tasks (>= 262k total length)

python -m sglang.launch_server
–model-path Kwaipilot/KAT-Coder-V2.5-Dev
–port 8001
–tp-size 8
–mem-fraction-static 0.8
–context-length 262144
–reasoning-parser qwen3 ``

https://huggingface.co/Kwaipilot/KAT-Coder-V2.5-Dev#licenseLicense

License: Apache

https://huggingface.co/Kwaipilot/KAT-Coder-V2.5-Dev#acknowledgementAcknowledgement

We thank InstructLab, CAILA, and all other teams for providing constructive suggestions during the development and evaluation of KAT-Coder-V2.5-Dev. We also thank the open-source community for their support and assistance. Please stay tuned for the upcoming KAT-Coder-V3 series with superior performance and more open features!# Kwaipilot/KAT-Coder-V2.5-Dev · Hugging Face 来源:https://huggingface.co/Kwaipilot/KAT-Coder-V2.5-Dev KAT-Coder 标志

KAT-Coder 技术报告 (https://huggingface.co/papers/2607.05471)

本仓库包含KAT-Coder-V2.5-Dev后训练后的模型权重和配置文件,格式为 Hugging Face Transformers。这些工件兼容 Hugging Face Transformers、vLLM、SGLang、KTransformers 等。注意:此开放权重发布仅包含语言模型权重,并作为纯文本模型运行;视觉/多模态组件不包括在内,也无法使用。

继 KAT-Coder-V2.5 在七月发布之后,我们很高兴地发布开放权重版本KAT-Coder-V2.5-Dev,这是一个总参数量为35B,激活参数量为3B的MOE模型,以加强与社区的交流并展示我们的研究成果。

https://huggingface.co/Kwaipilot/KAT-Coder-V2.5-Dev#kat-coder-v25-dev-highlightsKAT-Coder-V2.5-Dev 亮点

  • 性能提升。 通过 SFT/RL 训练,KAT-Coder-V2.5-Dev 在 Agentic Coding 领域,在同参数规模的模型中达到了SOTA(最先进)水平。
  • 异常行为优化。 通过 RL 训练,某些异常行为得到显著优化,例如:异常工具标签 -9pp (9.34% -> 0.28%),单轮连续重复 -0.34pp (0.34% -> 0%)。

https://huggingface.co/Kwaipilot/KAT-Coder-V2.5-Dev#benchmark-performance基准性能

KAT-Coder-V2.5-Dev 基准性能 (https://huggingface.co/Kwaipilot/KAT-Coder-V2.5-Dev/resolve/main/KAT-Coder-V2.5-Dev-Benchmarks.png?download=true)

基准KAT-Coder-V2.5-DevQwen3.5-27BQwen3.6-35BA3BGemma4-31BQwen3.5-35BA3BOrnith-1.0-35BGemma4-26BA4BQwen3-Coder-30BCoding AgentSWE-bench Verified69.4068.6064.4060.6058.6055.8035.8031.80SWE-bench Multilingual63.0057.6757.0049.3347.6751.6727.3320.67SWE-bench Pro45.9642.1340.6332.9738.0334.479.5819.84Terminal-Bench 2.141.02 32.60 / 49.4434.84 41.57 / 28.1032.02 34.83 / 29.2032.59 30.34 / 34.8326.12 26.44 / 25.8035.98 35.96 / 36.0020.94 27.27 / 14.6013.50 10.11 / 16.90PinchBench93.4390.7192.2185.5388.7591.6282.0172.3Scicode44.2025.5837.5333.1927.7330.3430.8418.27KAT-Code-Bench46.2144.8342.7637.9335.8633.1022.0615.17对于Terminal-Bench 2.1,粗体数字是两个 Agent 框架的平均值;下面的小数字是每个框架的分数 (Terminus-2 / Claude Code)。

1. 评估方法。 表中呈现的所有指标均为内部复现:我们下载公开的模型检查点,通过 vLLM 或 SGLang 部署,并在统一的标准化评估流程下进行评估。本表未直接采用任何相关模型官方报告的结果。每个模型在每个评估集上仅测试一次;仅在发现明显错误时进行重测。

2. 评估配置。

  • SWE-bench Verified / Multilingual / Pro, KAT-Code-Bench: [email protected], pass@k=1, temperature=1.0, top_p=0.95, 256k ctx。

  • Terminal-Bench 2.1: agent=terminus-2 / claude_code, pass@k=1, temperature=0.7, top_p=1.0, 256k ctx。

  • PinchBench: [email protected], pass@k=1, temperature=0.7, top_p=1.0, 256k ctx。

  • Scicode: pass@k=1, temperature=0.6, top_p=1.0, 256k ctx。

3. 异常说明。

  • Qwen3.6-35BA3B:我们发现,在 SWE-bench Verified、SWE-bench Multilingual 和 SWE-bench Pro 测试集上,我们本次的测试结果与官方结果存在约10 pp的差距。我们认为这主要是由 Agent 框架版本以及 Qwen 团队对测试集所做的一些优化导致的,并非模型本身的问题。

  • Qwen3.5-35BA3B:我们在评估过程中观察到频繁的幻觉现象,包括尝试调用当前Agent环境下不可用的 MultiEdit 工具,这对最终的评估指标产生了负面影响。

  • Gemma4-26B-A4B-it:有两个主要因素降低了评估性能:上下文溢出(超过256k的上下文限制)以及在此评估设置中幻想了不支持的 MultiEdit 工具。

上述偏差源于模型工具偏好与评估框架中允许的工具集不匹配,而非模型本身的能力限制。

https://huggingface.co/Kwaipilot/KAT-Coder-V2.5-Dev#post-training后训练

为了系统性地介绍我们团队在数据和算法方面的工作,我们采用广受认可的 Qwen3.6-35B-A3B 作为后训练的基础模型,并在此基础上构建 KAT-Coder-V2.5-Dev。总的来说,KAT-Coder-V2.5-Dev 在很大程度上遵循了 KAT-V2.5 的后训练方案,大多数设置——包括数据构建、训练流程和优化策略——保持不变。完整的流程包括两个阶段:监督微调 (SFT) 和强化学习 (RL)。我们首先在包含 127K 个样本的数据集上微调 Qwen3.6-35B-A3B,然后在得到的 SFT 模型上进行 RL 训练。

在 RL 阶段,我们保留了在 KAT-V2.5 中验证过的训练基础设施和关键技术设计,包括以下四个组成部分:

  1. Token-In-Token-Out (TITO) 一致性。 我们使用 TITO 来确保 Rollout 和训练阶段的 Token 序列严格一致,防止因聊天模板、序列化或分词器行为差异导致的训练偏差。
  2. 截断重要性采样 (TIS)。 为了减轻异步 Rollout 带来的策略陈旧和 Off-Policy 问题,我们应用 TIS 来截断重要性采样权重,减少因权重过大引起的方差和不稳定性。
  3. 可靠的沙箱和验证器。 我们系统地检查和验证沙箱和验证器的稳定性和正确性。这有助于防止基础设施故障——如执行超时、环境错误或验证器误判——被错误地视为模型故障并污染奖励信号。
  4. 基于框架执行反馈的分层奖励。 我们根据框架提供的细粒度执行反馈构建分层奖励。这使得模型可以朝着最终任务目标进行优化,同时也能在未成功的轨迹中因取得有意义的进展而获得奖励,从而增加失败尝试的训练价值,并提供更密集的奖励信号。

然而,Qwen3.6 展示的轨迹模式与 KAT-V2.5 中观察到的不同,需要根据其行为进行额外的奖励适配。在我们的初步实验中,简单的二元 0-1 奖励导致模型早在第二个 epoch 时就崩溃了。对训练轨迹的分析表明,随着训练的进行,模型越来越倾向于在单轮内发出大量并行的工具调用——有时超过70次。这种行为导致上下文长度快速增长,产生大量无效轨迹和执行错误,最终使 RL 训练不稳定。

为了解决这个问题,我们在原始的分层奖励中增加了几个针对 Qwen3.6 的惩罚项(包括但不限于以下内容):

  • 单轮内过多的并行工具调用;
  • 失败的工具调用;
  • 空的工具调用块;
  • 大量重复内容。

这些有针对性的奖励调整有效地抑制了病理性的工具使用和重复生成行为,使得 RL 训练能够稳定进行10个 epoch。我们的实验验证了整体训练流程以及针对 Qwen3.6 的奖励设计的有效性和可行性。

RL训练奖励曲线 (https://huggingface.co/Kwaipilot/KAT-Coder-V2.5-Dev/resolve/main/KAT-Coder-V2.5-Dev-RL-Reward-Curve.png?download=true)

RL 训练期间,一个批次中样本通过单元测试的比例(1 表示通过,0 表示失败)。

https://huggingface.co/Kwaipilot/KAT-Coder-V2.5-Dev#quickstart快速开始

为了实现流畅集成,我们建议通过 API 使用 KAT-Coder-V2.5-Dev。以下是使用兼容 OpenAI 的 API 使用 KAT-Coder-V2.5-Dev 的指南。

https://huggingface.co/Kwaipilot/KAT-Coder-V2.5-Dev#serving-kat-coder-v25-dev服务 KAT-Coder-V2.5-Dev

KAT-Coder-V2.5-Dev 可以通过流行的推理框架以 API 方式提供服务。下面,我们展示为 KAT-Coder-V2.5-Dev 模型启动兼容 OpenAI 的 API 服务器的示例命令。

https://huggingface.co/Kwaipilot/KAT-Coder-V2.5-Dev#sglangSGLang

SGLang 是一个用于大型语言模型和视觉语言模型的快速服务框架。建议对 KAT-Coder-V2.5-Dev 使用 sglang>=0.5.10,可以在新环境中使用以下命令安装:

uv pip install sglang[all]

以下命令将在 http://localhost:8000/v1 创建 API 端点:

**注意:**此开放权重发布仅包含语言模型权重(无视觉塔)。如果您的 SGLang 版本在加载时尝试构建多模态/视觉组件,则启动可能会因缺少视觉权重而失败;在这种情况下,请使用该版本的文本/语言模型专用选项运行(参见 python -m sglang.launch_server --help)。

  • 标准版:以下命令可用于使用8个GPU的张量并行创建最大上下文长度为262,144个Token的API端点。python -m sglang.launch_server \ --model-path Kwaipilot/KAT-Coder-V2.5-Dev \ --port 8000 \ --tp-size 8 \ --mem-fraction-static 0.8 \ --context-length 262144 \ --reasoning-parser qwen3
  • 工具使用:要支持工具使用,您可以使用以下命令。python -m sglang.launch_server \ --model-path Kwaipilot/KAT-Coder-V2.5-Dev \ --port 8000 \ --tp-size 8 \ --mem-fraction-static 0.8 \ --context-length 262144 \ --reasoning-parser qwen3 \ --tool-call-parser qwen3_coder

https://huggingface.co/Kwaipilot/KAT-Coder-V2.5-Dev#vllmvLLM

vLLM 是一个用于 LLM 的高吞吐量、内存高效的推理和服务引擎。建议对 KAT-Coder-V2.5-Dev 使用 vllm>=0.19.0,可以在新环境中使用以下命令安装:

uv pip install vllm --torch-backend=auto

以下命令将在 http://localhost:8000/v1 创建 API 端点:

注意:此开放权重版本仅包含语言模型权重,因此 --language-model-only 标志是必需的。它告诉 vLLM 跳过视觉编码器和多模态性能分析;如果没有它,vLLM 将尝试初始化检查点中不存在的视觉塔权重,导致启动失败。

  • 标准版:以下命令可用于使用8个GPU的张量并行创建最大上下文长度为262,144个Token的API端点。vllm serve Kwaipilot/KAT-Coder-V2.5-Dev \ --port 8000 \ --tensor-parallel-size 8 \ --max-model-len 262144 \ --reasoning-parser qwen3 \ --language-model-only
  • 工具调用:要支持工具使用,您可以使用以下命令。vllm serve Kwaipilot/KAT-Coder-V2.5-Dev \ --port 8000 \ --tensor-parallel-size 8 \ --max-model-len 262144 \ --reasoning-parser qwen3 \ --enable-auto-tool-choice \ --tool-call-parser qwen3_coder \ --language-model-only

https://huggingface.co/Kwaipilot/KAT-Coder-V2.5-Dev#ktransformersKTransformers

KTransformers 是一个灵活的框架,用于通过 CPU-GPU 异构计算体验前沿的 LLM 推理优化。如需使用 KTransformers 运行 KAT-Coder-V2.5-Dev,请参阅 KTransformers 部署指南。

https://huggingface.co/Kwaipilot/KAT-Coder-V2.5-Dev#hugging-face-transformersHugging Face Transformers

Hugging Face Transformers 包含一个轻量级服务器,可用于快速测试和中度负载部署。KAT-Coder-V2.5-Dev 需要最新版本的 transformers。还需要安装 accelerate 以支持多GPU(分片)加载:

pip install "transformers[serving]" accelerate

然后,运行 transformers serve 来启动一个服务器,API 端点在 http://localhost:8000/v1;如果可用,它将会把模型放置在加速器上:

transformers serve Kwaipilot/KAT-Coder-V2.5-Dev --port 8000

https://huggingface.co/Kwaipilot/KAT-Coder-V2.5-Dev#using-kat-coder-v25-dev-via-the-chat-completions-api通过聊天补全 API 使用 KAT-Coder-V2.5-Dev

聊天补全 API 可通过标准 HTTP 请求或 OpenAI SDK 访问。这里,我们展示了使用 OpenAI Python SDK 的示例。

开始之前,请确保已安装并配置了 API Key 和 API Base URL,例如:

`` pip install -U openai

相应设置以下内容

export OPENAI_BASE_URL=“http://localhost:8000/v1” export OPENAI_API_KEY=“EMPTY” ``

https://huggingface.co/Kwaipilot/KAT-Coder-V2.5-Dev#text-only-input纯文本输入

`` from openai import OpenAI

通过环境变量配置

client = OpenAI()

messages = [ {“role”: “user”, “content”: “将 "I love KAT-Coder-V2.5-Dev" 倒着写”}, ]

chat_response = client.chat.completions.create( model=“Kwaipilot/KAT-Coder-V2.5-Dev”, messages=messages, max_tokens=81920, temperature=1.0, top_p=0.95, presence_penalty=1.5, extra_body={ “top_k”: 20, }, ) print(“Chat response:”, chat_response) ``

https://huggingface.co/Kwaipilot/KAT-Coder-V2.5-Dev#instruct-or-non-thinking-mode指令(或非思考)模式

默认情况下,KAT-Coder-V2.5-Dev 会在响应前进行思考。您可以通过配置 API 参数来直接从模型获取响应,无需思考。例如,

`` from openai import OpenAI

通过环境变量配置

client = OpenAI()

messages = [ {“role”: “user”, “content”: “编写一个返回第 n 个斐波那契数的 Python 函数。”}, ]

chat_response = client.chat.completions.create( model=“Kwaipilot/KAT-Coder-V2.5-Dev”, messages=messages, max_tokens=32768, temperature=0.7, top_p=0.8, presence_penalty=1.5, extra_body={ “top_k”: 20, “chat_template_kwargs”: {“enable_thinking”: False}, }, ) print(“Chat response:”, chat_response) ``

https://huggingface.co/Kwaipilot/KAT-Coder-V2.5-Dev#preserve-thinking保留思考

默认情况下,只保留处理最新用户消息时生成的思考块,导致常见的交错思考模式。KAT-Coder-V2.5-Dev 经过了额外训练,可以保留并利用历史消息中的思考轨迹。您可以通过设置 preserve_thinking 选项来启用此行为:

`` from openai import OpenAI

通过环境变量配置

client = OpenAI()

messages = […]

chat_response = client.chat.completions.create( model=“Kwaipilot/KAT-Coder-V2.5-Dev”, messages=messages, max_tokens=32768, temperature=0.7, top_p=0.8, presence_penalty=1.5, extra_body={ “top_k”: 20, “chat_template_kwargs”: {“preserve_thinking”: True}, }, ) print(“Chat response:”, chat_response) ``

此功能对于 Agent 场景尤其有益,在其中维护完整的推理上下文可以增强决策一致性,并且在许多情况下,通过减少冗余推理来降低总体 Token 消耗。此外,它还可以改善 KV 缓存利用率,在思考和非思考模式下都优化推理效率。

https://huggingface.co/Kwaipilot/KAT-Coder-V2.5-Dev#processing-ultra-long-texts处理超长文本

KAT-Coder-V2.5-Dev 原生支持最长262,144个Token的上下文长度。对于总长度(包括 ??? 思考和 ??? 响应)可能超过262k的长期任务,我们建议将服务拆分为两个独立的端点,以维持高推理吞吐量。例如,您可以部署一个端口用于处理非思考的代码生成任务,另一个端口用于处理增强思考的长上下文任务,并相应分配工作负载:

``

端点 A:需要长推理的思考模式

短任务(总长度 < 262k)

python -m sglang.launch_server
–model-path Kwaipilot/KAT-Coder-V2.5-Dev
–port 8000 \ –tp-size 8
–mem-fraction-static 0.8
–enable-mixed-thinking-mode
–context-length 262144
–reasoning-parser qwen3

端点 B:上下文开销最小的非思考模式

长任务(总长度 >= 262k)

python -m sglang.launch_server
–model-path Kwaipilot/KAT-Coder-V2.5-Dev
–port 8001
–tp-size 8
–mem-fraction-static 0.8
–context-length 262144
–reasoning-parser qwen3 ``

https://huggingface.co/Kwaipilot/KAT-Coder-V2.5-Dev#license许可协议

许可协议:Apache

https://huggingface.co/Kwaipilot/KAT-Coder-V2.5-Dev#acknowledgement致谢

我们感谢 InstructLab、CAILA 以及所有其他团队在 KAT-Coder-V2.5-Dev 开发和评估过程中提供的建设性建议。我们也感谢开源社区的支持和帮助。敬请期待即将推出的性能更优、开放特性更多的 KAT-Coder-V3 系列!

相似文章

KAT Coder 2.5 dev:帮自己一个忙,试试吧!

Reddit r/LocalLLaMA

一位开发者热情推荐 KAT Coder 2.5 dev,称其比 Qwen 3.6 35b a3b 更快、更准确、使用更少的 token,并且在他们的设置上优于 Gemma 4 模型,同时附有包含详细基准测试的 GitHub 仓库。

peculiar-ragdoll/Tiel-Coder-35B-A3B-GGUF

Hugging Face Models Trending

Tiel-Coder-35B-A3B-GGUF是一个针对编码任务优化的动态量化AI模型,在诸如SWE-bench-Live和多轮对话等基准测试中取得有竞争力的表现,同时对于本地推理具有高效率。