原生多模态 × 智能体集群:self-llm 深度解读 Kimi-K2.5 技术报告
2026/9/12 16:28:30 网站建设 项目流程

原生多模态 × 智能体集群:self-llm 深度解读 Kimi-K2.5 技术报告

【免费下载链接】self-llm《开源大模型食用指南》针对中国宝宝量身打造的基于Linux环境快速微调(全参数/Lora)、部署国内外开源大模型(LLM)/多模态大模型(MLLM)教程项目地址: https://gitcode.com/GitHub_Trending/se/self-llm

本文基于 models/Kimi-K2.5/01-Kimi-K2.5-论文解读.md 展开,系统拆解 Moonshot AI(月之暗面)开源的原生多模态智能体模型 Kimi-K2.5 的技术报告:从"图文联合优化"的训练主线,到 "Agent Swarm" 动态智能体集群与并行智能体强化学习(PARL),再到 MoonViT-3D 视频压缩策略与三阶段预训练/后训练方案。读完本文,你将掌握 Kimi-K2.5 的架构演进、训练配方与其工具调用/推理能力的来源,并可在本仓库的配套部署教程中直接落地验证。

Kimi-K2.5 是一个开源的、原生多模态的 agentic model。正如其发布时引用的那句话 "The soul never thinks without a mental image"(灵魂若缺乏心象便无法思考),多模态能力被认为是实现更强大智能的关键。因此,理解 Kimi-K2.5 的核心线索有两条:多模态智能体。技术报告中的绝大部分设计,都可以看作这两条线索如何相互促进的过程——视觉能力服务于智能体对真实世界的理解,而智能体能力又反过来驱动视觉与文本推理的联合进化。

图文联合优化(Joint Optimization of Text and Vision)

K2.5 emphasizes the joint optimization of text and vision so that two modalities enhance each other. K2.5 强调文本模态与视觉模态的联合优化,使两种模态互相增强。

技术报告开篇即点明:Kimi-K2.5 不再把视觉当作文本模型的"事后补丁",而是从预训练早期就让两种模态互相增强。这一理念贯穿了架构选择、预训练配比与后训练方案三个层面:

  • 预训练层面:不同于以往方法在训练靠后阶段才给文本模型加入视觉 token,Kimi-K2.5在训练早期就以较低比例混入视觉数据
  • 架构层面:采用 MoonViT-3D 视觉编码器,并引入一种轻量化的 3D ViT 压缩策略以支持视频理解——连续的 4 帧视为一组,经过相同的 MoonViT 处理后,在时间维度对 patch 进行平均
  • 后训练层面:采用零视觉 SFT(Zero-Vision SFT),即仅使用文本数据激活模型的视觉推理和工具调用能力;随后在文本与视觉任务上应用联合强化学习。

一个反直觉但被实验反复验证的结论是:视觉任务上的强化学习不仅不会损害文本能力,反而会提升文本能力;同时,文本任务上的强化学习也会促进视觉能力。这正是"联合优化"(Joint Optimization)一词的题中之义。

原生多模态预训练:早期、低比例的视觉注入

先前的方法通常在训练后期以较高比例(比如大于 50%)混入视觉数据,本质上是将视觉能力事后追加到已经定型的文本模型上。Kimi-K2.5 的消融实验表明:早期以较低比例混入视觉数据可以得到更好的效果。在固定的"总视觉-文本 token 预算"约束下,视觉注入时机越早、视觉占比越低,模型在视觉知识与视觉推理等指标上的表现越优,这有助于模型获得较为均衡的多模态表征。

这一结果的意义在于:多模态对齐应该发生在表征学习阶段,而不是语言能力固化之后。早期低比例的视觉数据相当于给模型提供了"感知世界的先验",使后续的图文能力可以互相增益,而非互相妥协。

零视觉 SFT:仅用文本激活视觉推理与工具调用

为了让预训练得到的 VLM(视觉语言模型)获得基于视觉的工具调用能力,Kimi-K2.5 的 SFT 阶段做出了一项大胆的设计——仅使用文本数据进行监督微调,作为后续视觉强化学习的冷启动。其中,所有的图片操作均通过 IPython 进行代理:模型以文本指令驱动 Python 代码对图像执行处理,从而在纯文本的 SFT 数据中学会"视觉工具链"。

这种零视觉 SFT激活了模型多种推理行为,例如物体大小估计(通过二值化和计数实现),并成功泛化到各种视觉定位任务(物体定位、计数和 OCR)。它相当于用语言指令桥接了视觉感知与工具使用之间的鸿沟。

值得注意的是,实验还给出一个逆向结论:视觉-文本 SFT 的效果不如仅文本 SFT。报告推测这可能是因为缺少高质量、足量的视觉监督数据——在数据质量无法保证时,强行混入视觉样本反而会稀释 SFT 的效果。这也从侧面解释了为什么 K2.5 选择把视觉能力的精修放到后续的强化学习阶段。

多模态联合强化学习:视觉 RL 反哺文本能力

由于零视觉 SFT 阶段几乎没有视觉输入,模型在推理时视觉输入有时会被忽略。为了弥补这一缺陷,Kimi-K2.5 在视觉理解任务上采用了基于结果的强化学习(Result-based RL),任务主要分为三类:

  1. 视觉定位与计数(Visual Grounding & Counting);
  2. 图表与文档理解(Chart & Document Understanding);
  3. 依赖视觉的 STEM 任务(数学、科学等,需要读懂图示才能解题)。

根据技术报告中的跨模态迁移实验结果,基于结果的视觉强化学习对文本能力的强化同样起到了作用:视觉强化学习增强并校准了需要结构化信息提取的领域,类似于减少了视觉基础推理(如技术、OCR 领域)查询的不确定性。换言之,视觉强化学习可以增强文本推理能力,而不是降低语言能力

因此,Kimi-K2.5 最终采用了多模态联合强化学习:RL 训练不再按照输入模态组织,而是按照能力(知识、推理、代码、agent)来组织。同时,**生成式奖励模型(Generative Reward Model,GRM)**打破了模态的障碍——它能够跨模态地判断一个回答是否达成任务目标,从而让文本与视觉任务共用一套奖励信号,实现真正的联合优化。

智能体集群(Agent Swarm):动态任务分解与并行调度

The limited capacity of a single agent working through each step one by one can lead to the exhaustion of practical reasoning depth and tool-call budgets, ultimately hindering the system's ability to handle more complex scenarios. 单个智能体依次逐步执行任务的有限能力,可能导致实际推理深度和工具调用配额的耗尽,最终阻碍系统处理更复杂场景的能力。

Agent Swarm 是 Kimi-K2.5 技术报告中最具辨识度的设计。它既不把任务执行视为一条固定的推理链(Reasoning Chain),也不依赖预定义的并行化启发式方法,而是通过动态任务分解、子 agent 实例化和并行任务调度来启动智能体的集群。

如上图所示,智能体集群由一个超级智能体Orchestrator(协调者)统一调度:它通过调用create_subagent创建子 agent,完成任务的拆分与分发。不同领域的子 agent(如 AI 研究员、物理研究员、事实核查员等)并行工作,再将各自的结果汇总返回给 Orchestrator。这种"一个大脑、多个执行体"的结构,让模型能够在复杂场景下突破单 agent 的推理深度与工具调用配额限制。

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

"何时并行、如何并行"是 Agent Swarm 的核心问题。Kimi-K2.5 没有手工设计并行策略,而是采用强化学习的方法让模型自主探索学习。具体地,PARL(Parallel Agent Reinforcement Learning)中的奖励函数设计为:

$$r_{\text{PARL}}(x, y) = \lambda_1 r_{\text{parallel}} + \lambda_2 r_{\text{finish}} + r_{\text{perf}}(x, y)$$

其中,$x$ 是任务,$y$ 是解法。奖励函数的三部分分别评估:

奖励项含义作用
$r_{\text{parallel}}$(并行度)模型生成的任务拆分是否足够并行化鼓励模型创建更多并行子任务
$r_{\text{finish}}$(子任务完成率)子 agent 是否真正把任务做完防止"虚假并行",抑制 reward hacking
$r_{\text{perf}}(x, y)$(完成表现)任务 $x$ 的整体完成质量保证并行不牺牲最终效果

值得警惕的是,并行度奖励虽然鼓励模型生成更加并行化的任务拆分,但也引入了生成无效子 agent 来骗取并行度的 reward hacking 嫌疑。而子任务完成率这一项,通过关注子 agent 有没有"把事情做完"来避免虚假并行——只有真正完成、且对最终答案有贡献的并行才值得奖励。

为了量化并行智能体的计算开销,报告类比了图论中的**关键路径(Critical Path)概念,提出了关键步骤(Critical Steps)**指标。先回顾关键路径的定义:

图中的关键路径

如上图所示,A->B->D->E 的总开销为 3+7+2=12,而 A->C->D->E 的开销为 5+1+2=8,因此 A->B->D->E 为该图的关键路径——它决定了整个任务的最短完成时间。

关键步骤的定义为:

$$\text{CriticalSteps} = \sum_{t=1}^T \left( S_{\text{main}}^{(t)} + \max_i S_{\text{sub}}^{(t)} \right)$$

对于每一个时刻,关键步骤的组成为:主 agent 的行动步骤数 + 最长耗时的子 agent 的行动步骤数。该指标传达了一个深刻的设计哲学:不减少最大执行时间的过多子任务创建没有益处,均衡的任务分解才有用。换言之,奖励机制迫使模型学会"把耗时均衡地分摊到并行分支上",而不是盲目堆砌子 agent。

如上图所示,随着 PARL 训练的进行,模型的准确率与 agent 并行度都有明显增长,验证了"用 RL 学并行"这一路线的有效性。

Kimi-K2.5 架构与训练

MoonViT-3D 压缩策略:轻量化的视频理解

连续的 4 帧视为一组,经过相同的 MoonViT 处理后,并在时间维度对 patch 进行平均。

Kimi-K2.5 的视觉编码器是 MoonViT-3D。视频相比图像多了一个时间维度,如果逐帧处理,视觉 token 数量会线性膨胀。为此,K2.5 采用了一种轻量化的 3D ViT 压缩策略:连续 4 帧视为一个video_chunk,共享同一套 MoonViT 参数,最后在时间维度对 patch 做平均,从而把时间信息压缩进视觉表征中。

连续 4 帧作为一组的实现逻辑位于官方模型仓库的kimi_k25_vision_processing.py(约第 63–98 行):首先根据视频的原始帧率与采样帧率计算出待采样帧的索引,然后采样真实的视频帧,接着每 4 个连续的采样帧作为一个video_chunk以备后续处理。

压缩策略的具体实现位于modeling_kimi_k25.py(约第 623–625 行)。在经过 MoonViT 处理后,得到的视觉信息序列 shape 为[L, D];此时根据grid_thws拿回原本的时间信息 $t$、高度方向的 patch 数目 $h$、宽度方向的 patch 数目 $w$,就可以将patch 长度信息重新解析回时-空信息,从而对时间维度进行平均。相关处理函数tpool_patch_merger如下:

时间维度 patch 平均代码
def tpool_patch_merger( x: torch.Tensor, grid_thws: torch.Tensor, merge_kernel_size: tuple[int, int] = (2, 2), ) -> list[torch.Tensor]: d_model = x.size(-1) outputs = [] pre_sum = 0 for t, h, w in grid_thws.tolist(): # Get the current sequence seq = x[pre_sum:pre_sum + t * h * w] # Reshape along self.merge_kernel_size and concat to the last dimension kernel_height, kernel_width = merge_kernel_size new_height, new_width = h // kernel_height, w // kernel_width reshaped_seq = seq.view(t, new_height, kernel_height, new_width, kernel_width, d_model) reshaped_seq = reshaped_seq.permute(0, 1, 3, 2, 4, 5).contiguous().mean( dim=0) # temporal pooling padded_seq = reshaped_seq.view(new_height * new_width, kernel_height * kernel_width, -1) outputs.append(padded_seq) pre_sum += t * h * w return outputs

代码中permute之后紧接着.mean(dim=0)正是"时间维度平均"的落点:先把序列 reshape 出t维,再将时间维折叠做均值池化(temporal pooling),同时配合merge_kernel_size=(2, 2)在空间上做 2×2 合并,实现时空双维度的 token 压缩。这种设计使得模型可以在有限的计算预算内消费更长的视频输入,是"原生多模态"在工程上能够落地的关键。

训练策略

预训练:三阶段递进

如下表所示,Kimi-K2.5 的预训练基于 Kimi-K2,共使用了约15T tokens,整体分三个阶段推进:

  1. 单独训练 ViT:MoonViT-3D 从 SigLIP 继续预训练而来,训练数据包括图像替代文本(alt-text)、图像/视频的合成标签、检测框(bounding box)和 OCR 文本。此阶段通过描述损失函数(caption loss)将 MoonViT-3D 与 Moonlight-16B-A3B 语言模型进行对齐,主要让 ViT 理解高分辨率图像和视频
  2. 联合训练(增强语言-视觉能力):只开放连接 MoonViT-3D 与 1T 参数 LLM 的projector(投影层)的训练。此阶段还会引入独特的 token、调整数据比例并增加代码数据,以拓展预训练分布;
  3. 高质量 & 长文本训练:使用高质量数据和长文本数据进一步提升能力,并通过YaRN方法拓展上下文窗口。

三个阶段的划分逻辑清晰:先让视觉编码器"看得懂",再固定视觉编码器、只学"文本与视觉如何映射",最后在高质量长文本数据上精修并拉长上下文——每一步都在控制训练成本的同时逐步解锁能力。

后训练:SFT + Token 级剪裁 RL + Token Efficient RL

SFT 阶段:主要通过一系列模型(K2、K2 Thinking、内部模型)构造高质量的回复,最终构建了一个大规模指令优化数据集,让模型优先关注互动推理和精确的工具调用——这正是 agentic 能力的直接来源。

RL 阶段:优化目标引入了一个token 级的剪裁机制,用于缓解训练与推理不一致的问题:只计算策略比例落在 $[\alpha, \beta]$ 范围的 token 的梯度。与 PPO 不同,该方案只考虑比例范围,而不考虑优势(advantage)的符号。这种设计把优化约束在"新旧策略差异适中的 token"上,避免极端概率比带来的训练不稳定。从公式图像可见,目标函数包含 clip 操作、奖励 $r(x,y)$ 与新旧策略比值 $\pi_\theta / \pi_{\text{old}}$,并带有 $\tau \left(\log \frac{\pi_\theta(y_j^i \mid x, y_j^{0:i})}{\pi_{\text{old}}(y_j^i \mid x, y_j^{0:i})}\right)^2$ 形式的正则项,约束策略更新的幅度。

奖励函数设计方面,任务类型与评测指标一一对应:

任务类型奖励/评测指标
通用任务生成式奖励模型(Generative Reward Model)
视觉定位、点定位任务F1-score 与软匹配(soft matching)
分割任务IoU
OCR 任务归一化编辑距离(Normalized Edit Distance)
计数任务预测值与真实值的绝对差值

此外,Kimi-K2.5 还合成了复杂的视觉 puzzle,并使用 Kimi-K2 作为验证器,为强化学习提供可靠的结果信号——这也呼应了前文"按能力组织 RL、用 GRM 打破模态障碍"的思路。

Token Efficient RL:为了让模型在保持能力的同时输出更简洁的推理过程,K2.5 还引入了 Token Efficient RL。对于 iteration $t$,其奖励函数带有 $\lambda$ 与 $m$ 两个超参数,$K$ 为采样次数,算法每隔 $m$ 个 iteration 交替阶段

  • 阶段 0(预算内完成):当模型的准确率超过阈值时,鼓励模型在 token budget 内完成任务,压缩推理长度;
  • 阶段 1(增加计算):鼓励模型使用更多的计算资源(更多的思考 token)以提升表现。

其中,Token budget 具体定义为正确响应的长度集合的第 $\rho$ 百分位

$$\text{budget}(x) = \text{Percentile}_{\rho}\left({\text{len}(y_i) \mid r(x, y_i) = 1,\ i = 1 \dots K}\right)$$

即从本轮采样的 $K$ 个回答中,取出所有被奖励函数判定为正确的样本,对其生成长度取 $\rho$ 百分位作为下一轮的预算。实验结果表明:经过 Token Efficient RL 后,模型表现几乎没有变化,而模型的 token 使用量有明显下降——即以近乎无损的方式换取了推理效率的提升。

从论文到实战:仓库配套的部署与应用资源

技术报告的结论并非停留在纸面。在本仓库中,Kimi-K2.5 拥有完整的论文解读与部署实践配套(见 support_model.md 中### Kimi-K2.5一节):

  • Kimi-K2.5 vLLM 部署调用:基于 vLLM 的离线推理与 OpenAI 兼容 API 服务搭建;
  • Kimi-2.5 SGLang 部署应用:基于 SGLang 的高并发本地部署、流式输出与工具调用实战。

这两篇教程与论文解读形成了"原理—实践"闭环,其中的关键参数正是论文所强调的 agentic 能力的工程落点:

  • 思考模式(Thinking Mode):Kimi-K2.5 默认开启思考模式(enable_thinking=True),回复由<think>包裹的推理过程与最终答案两部分组成,对应论文中"互动推理"的后训练目标;
  • 推理解析与工具调用解析:无论是 vLLM 还是 SGLang,启动服务都需要显式指定--reasoning-parser kimi_k2--tool-call-parser kimi_k2,分别负责正确解析模型的推理内容与结构化工具调用——这正是 Agent Swarm / 工具调用能力在推理服务侧的必要支撑;
  • 采样参数建议:思考模式下官方建议使用temperature=0.6, top_p=0.95, top_k=20, min_p=0,并配合stop_token_ids截断思考过程;
  • 工具调用实战:SGLang 教程中以"获取实时天气"为例,展示了"第一次 API 调用让模型输出结构化工具调用、执行真实函数、第二次 API 调用让模型总结结果"的完整 Function Calling 流程,与论文中"所有图片操作通过 IPython 代理、以工具调用驱动任务执行"的设计一脉相承。

结语

回看 Kimi-K2.5 的技术报告,可以看到一条清晰的递进逻辑:先通过图文联合优化让两种模态互相增强(多模态),再通过 Agent Swarm 与 PARL 让模型学会动态分解、并行调度任务(智能体),最后用 token 级剪裁 RL 与 Token Efficient RL 把能力与效率同时做到极致。视觉能力为智能体提供了理解真实世界的"心象",而智能体训练反过来又增强了文本与视觉的推理能力——这正是 "The soul never thinks without a mental image" 在工程上的完整实现。

对于希望在本地验证这些能力的开发者,建议按照 models/Kimi-K2.5/02-Kimi-2.5-vLLM 部署调用.md 与 models/Kimi-K2.5/03-Kimi-2.5-SGLang部署应用.md 的顺序操作,在真实的推理服务中体会思考模式、工具调用与多模态输入的协作效果。

【免费下载链接】self-llm《开源大模型食用指南》针对中国宝宝量身打造的基于Linux环境快速微调(全参数/Lora)、部署国内外开源大模型(LLM)/多模态大模型(MLLM)教程项目地址: https://gitcode.com/GitHub_Trending/se/self-llm

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询