Published on

Kimi K2.5 技术报告速览

Authors
Table of Contents

该模型建立在 Kimi K2(一个拥有万亿参数的专家混合变换器)的基础上,但在多模态能力开发和代理执行复杂任务的方式上引入了根本性的变化。Kimi K2.5 没有将视觉视为现有文本模型的附加功能,而是在训练的最早阶段采用联合优化,使视觉和文本模态能够相互增强。此外,Agent Swarm 框架的引入实现了子任务的并行执行,大大减少了完成复杂代理工作流程所需的时间。

模型架构

K2.5 的文本处理核心是 Kimi K2,这是一个大规模的混合专家 (MoE) Transformer 模型。

参数规模:总参数量高达 1.04 万亿 (1.04 trillion),每次处理 token 时激活的参数量为 320 亿 (32 billion)。

专家设置:模型共包含 384 个专家网络,每个 token 在前向传播时会激活其中的 8 个专家。

训练流程

预训练:文本和视觉的联合优化

Kimi K2.5 最重要的贡献之一在于其多模态训练方法。

传统方法通常难以平衡文本和视觉能力,通常会导致性能权衡,即改善一种模态会以牺牲另一种模态为代价。Kimi K2.5 的预训练并没有采用"先训好语言模型,最后再强行塞入视觉数据"的常规做法,而是强调早期融合 (Early Fusion)。

==研究团队发现,在预训练过程中尽早集成视觉 token,并采用适度的视觉比例(大约 10% 视觉对 90% 文本),与在训练后期引入高视觉比例相比,能产生更优越、更稳定的多模态性能==。

模型采用 MoonViT-3D,一个从 SigLIP-SO-400M 初始化的原生分辨率视觉编码器,它结合了 NaViT 打包策略来处理可变分辨率图像输入。对于视频理解,该架构使用轻量级 3D ViT 压缩技术,其中连续帧被分组,由共享编码器处理,并在 patch 级别进行时间平均。这种设计使得在相同的上下文窗口内处理更长的视频成为可能,同时保持图像和视频编码器之间的完全权重共享。

NOTE

SigLIP-SO-400M 全称是 Sigmoid Loss for Language Image Pre-Training,是 Google 研究团队在 2023 年提出的一种强大的视觉基础模型。

经典的 CLIP 模型在对齐图像和文本时使用的是 Softmax 损失函数,这需要在一整个数据批次(Batch)中进行全局比较,极其消耗显存。SigLIP 创新性地将其替换为简单的成对 Sigmoid 损失(即只判断当前的图文对是不是匹配的)。这种改变大幅降低了显存需求,使得模型训练时能容纳更大的批次,从而在图像理解和图文对齐上取得了比同等规模 CLIP 更好的性能。

  • 第一阶段:视觉编码器训练 (ViT Training) 首先对原生分辨率的 3D 视觉编码器(MoonViT-3D)进行训练,使其与较小的语言模型(Moonlight-16B)对齐。这部分消耗了约 1T tokens 的图像/视频-文本对数据。
  • 第二阶段:多模态联合预训练 (Joint Pre-training) 在 Kimi K2 的基础上,模型继续消费了约 15T 的混合视觉和文本 token(序列长度为 4K)。这里的关键创新是,Kimi 发现在训练早期以固定的、较低的比例混合视觉和文本 token,比在训练后期突击注入大量视觉 token 的效果更好。这能避免"模态冲突",让文本和视觉能力共同增长。在这部分数据中,他们还大幅增加了代码相关的数据比例。

中训练阶段(Mid-training)

技术报告中明确包含了一个中训练阶段,核心目的是长上下文激活与能力精炼

  • 长上下文扩展:在此阶段,模型主要学习长文本和长视频数据,利用 YaRN 插值技术将模型的上下文窗口从 32K 逐步扩展到了 262K。
  • 高质量数据精炼:结合高质量的推理和长逻辑链 (Long-CoT) 数据,进一步提升模型的泛化能力和对长上下文的理解力。

后训练阶段 (Post-training)

后训练阶段是 Kimi K2.5 获得强大 Agent(智能体)调度和推理能力的关键。

零视觉微调 (Zero-vision SFT) 是一个非常巧妙的设计:Kimi 并没有使用大量人工标注的"视觉操作轨迹"来进行监督微调,而是仅使用纯文本的 SFT 数据来激活视觉推理和工具使用能力。所有的图像操作都通过生成 IPython 代码来代理。由于预训练阶段已经做好了极佳的模态对齐,纯文本微调不仅足够激活视觉能力,还能避免引入人类视觉轨迹导致的泛化性下降。

联合多模态强化学习 (Joint Multimodal RL)

  • 结果导向的视觉 RL:模型在需要视觉理解的数学、图表、OCR 任务上进行基于结果的强化学习。有趣的是,视觉强化学习不仅提升了看图能力,还反哺了纯文本的推理表现(如 MMLU-Pro 分数有所提高)。
  • 跨模态奖励:抛弃了按"纯文本"和"纯视觉"划分的传统,而是按具体能力(知识、代码、推理等)进行联合训练,使用生成式奖励模型(GRM)对复杂的跨模态行为进行细粒度打分。

并行智能体强化学习 (PARL)

为了支持多智能体并发系统(Agent Swarm,下一小节介绍),Kimi K2.5 不再只优化单一的线性思考链,而是赋予了主节点"派生并调度子节点"的接口。在 RL 训练中,子节点是被冻结的,仅对主节点的任务分解和调度能力进行优化,并将"关键路径步数 (Critical Steps)"作为时间延迟的惩罚项,鼓励模型写出最高效的并行执行策略。

Toggle 训练算法

为了解决思维链过长导致的"Token 浪费"问题,Kimi 引入了 Toggle 算法:在 RL 过程中交替进行"无限制生成"和"设定 Token 预算上限"的训练。这能让模型在保持高推理能力的同时,自动学会精简冗余的思考步骤。

Agent Swarm:并行代理编排

Kimi Agent Swarm 解决了单智能体顺序执行在复杂任务中的瓶颈,通过"横向扩展"(Scale Out)策略,让顶层智能体(Orchestrator Agent)拆解任务并调度大量子智能体(Sub-agents)并行执行。这使得大型语言模型从工具升级为能自组织、自调度的"组织大脑",实现并行加速和多视角独立推理,同时避免"群体思维"。

应用场景:大规模检索、大规模输出、多角度分析(虚拟专家委员会)。

Agent Swarm 框架解决了当前代理系统中一个最紧迫的限制:由于顺序执行导致推理时间线性扩展。随着任务变得越来越复杂,需要广泛的研究、多样化的工具使用和多分支推理,顺序处理成为一个显著的瓶颈,限制了代理可以解决问题的实际复杂性。

Agent Swarm 引入了一个基于并行智能体强化学习(PARL,Parallel-Agent Reinforcement Learning)的动态框架,用于并行智能体编排。该架构由一个可训练的编排器和冻结的子智能体组成,其中编排器学习动态创建任务并将其委托给专门的子智能体。关键在于,==子智能体是根据固定的中间策略检查点实例化的,并且它们的执行轨迹被排除在编排器的优化目标之外。这种解耦解决了在端到端多智能体优化中通常出现的信用分配模糊性和训练不稳定性问题==。

PARL 奖励函数旨在鼓励有效的并行化:

rPARL(x,y)=λ1rparallel+λ2rfinish+rperf(x,y)r_{PARL}(x, y) = \lambda_1 \cdot r_{parallel} + \lambda_2 \cdot r_{finish} + r_{perf}(x, y)

其中 rperfr_{perf} 代表任务级别的结果奖励,rparallelr_{parallel} 激励子智能体创建以防止"串行崩溃",而 rfinishr_{finish} 奖励子任务的成功完成以避免"虚假并行"。在训练过程中,超参数 λ1\lambda_1λ2\lambda_2 会退火至零,以确保最终策略针对主要任务目标进行优化。

该框架引入"关键步骤"(CriticalSteps)作为资源约束,定义为主智能体步骤数与任何并行组中子智能体所采取的最大步骤数之和。该指标直接激励有效的并行化,以减少端到端延迟,而不仅仅是最大化并发性。

题外话,在 Kimi Agent Swarm 发布之后,Anthropic 紧接着发布了 agent teams 模式,允许用户在 Claude Code 中创建多个 Claude 实例,像团队一样通过共享任务列表和私信协同工作。

此外,当前 Claude Code 的 review 代码功能会并发多个子 Agent 进行不同方面的代码审核。

根据 Building a C compiler with a team of parallel Claudes \ Anthropic,Anthropic 的一位研究员使用 Agent teams 模式,利用 16 个 Claude 协作完成了 C 编译器:

为了进行极限测试,我指派了16个智能体从零开始编写一个基于Rust的C编译器,要求能够编译Linux内核。在近2000次Claude Code会话和2万美元的API费用后,这支智能体团队交付了一个10万行代码的编译器,可在x86、ARM和RISC-V架构上构建Linux 6.9。

这次的 agent teams,则被研究员视为一个质变:它展示了"完整、复杂项目可以几乎全自动完成"的可能性,这会让使用者可以大胆把目标抬得更高,而不是只让模型做局部的小活。

但他同时非常强调,现在仍然是"很早期",完全自治开发带来的风险不小。有人类坐在旁边和 Claude 一起开发时,可以实时保证质量、纠错;而当系统是全自动跑的时候,测试一绿,人就很容易误以为「搞定了」,现实往往不是这样。他结合自己以前做渗透测试的经验,直白地说:如果程序员上线的是自己从未真正亲自验证过的软件,这件事本身就很让人担忧。

模型评估


欢迎关注微信公众号👏

微信公众号

欢迎微信扫码加入我的付费知识星球👏

知识星球