模型架构

Kimi-VL模型整体架构框架与前期内容介绍的llava、reyes等多模态大模型的架构大差不差,组成形式:视觉编码器(MoonViT)+ MLP层 + MoE的LLM。

模型架构

 

1. MoonViT:视觉编码器

MoonViT的设计目标是能够以图像的原始分辨率处理图像,从而消除复杂的子图像分割和拼接操作。这种设计使得MoonViT能够更灵活地处理不同分辨率的图像,而不需要进行额外的预处理步骤。

实现方式:

  • 图像分块和拼接: MoonViT采用NaViT中的打包方法,将图像分割成补丁,展平后顺序连接成一维序列。便于使用FlashAttention进行优化注意力计算

  • 位置编码: MoonViT从SigLIP-SO-400M初始化,并使用插值的位置嵌入来更好地保留SigLIP的能力。然而随着图像分辨率的增加,这些插值的位置嵌入变得不足。为了解决这个问题,MoonViT引入了二维旋转位置嵌入(RoPE),这在高度和宽度维度上改进了对细粒度位置信息的表示,特别是在高分辨率图像中。

  • 连续特征输出: 经过处理后,MoonViT输出的连续图像特征被传递到MLP层,对齐LLM的维度。

2. MLP层

MLP层的作用是连接MoonViT和LLM:首先,MLP投影器使用像素重排操作来压缩MoonViT提取的图像特征的空间维度,进行2x2的下采样并相应地扩展通道维度。压缩后的特征随后输入到一个两层MLP中,将其投影到与LLM嵌入相同的维度。

3. 混合专家(MoE)语言模型

Kimi-VL的语言模型基于2.8B激活参数的MoE语言模型-Moonlight模型,总共有16B参数。Moonlight模型从预训练阶段的中间检查点初始化,该检查点已经处理了5.2T个纯文本令牌,并激活了8K的上下文长度。

预训练数据与方法

四阶段训练数据情况

四阶段训练数据情况

Kimi-VL的预训练搞了四个阶段,每个阶段都有特定的目标和数据集

总结如下:

总结

总结

阶段

目标

损失函数/数据

训练策略

训练阶段

训练一个能够处理原生分辨率图像的视觉编码器(MoonViT)

最终损失函数为 ,其中 ;图像和文本编码器计算对比损失,文本解码器进行条件生成的下一个标记预测(NTP)

1. 初始化时,使用SigLIP SO-400M的权重,并采用渐进分辨率采样策略来逐步允许更大的尺寸
2. 文本解码器从一个小型的纯解码器模型初始化

联合预训练阶段

通过结合纯文本数据和多模态数据来增强模型的语言和多模态能力

纯文本数据和多模态数据

继续使用加载的LLM检查点进行训练,消耗额外的1.4T token。初始步骤仅使用语言数据,然后逐渐增加多模态数据的比例

联合冷却阶段

通过高质量的语言和多模态数据进一步确保模型的性能

1. 高质量的语言和多模态数据集
2. 语言部分:使用高质量子集数据进行训练,提高数学推理、知识任务和代码生成的能力
3. 多模态部分:使用高质量子集的重放和学术视觉或视觉-语言数据源的过滤和改写

1. 通过实验验证,观察到在冷却阶段引入合成数据可以显著提高性能
2. 保持语言和多模态QA对的低比例,以避免过拟合这些QA模式

联合长上下文激活阶段

扩展模型的上下文长度,使其能够处理长文本和多模态输入

1. 长文本、长视频和长文档等多模态数据
2. 数据集包括长文本和长多模态数据,以激活模型的长上下文能力

1. 将模型的上下文长度从8192(8K)扩展到131072(128K)
2. 通过两个子阶段进行扩展,每个子阶段将模型的上下文长度增加四倍
3. 使用长数据和短数据的混合策略,确保模型在学习长上下文理解的同时保持短上下文能力

后训练方法

后训练过程

后训练过程

总结

总结

阶段

目标

技术实现

训练策略

联合监督微调(SFT)

通过指令微调来增强模型的指令遵循能力和对话能力,从而创建一个交互式的Kimi-VL模型

1. 使用ChatML格式进行指令优化,保持与Kimi-VL架构的一致性
2. 优化语言模型、MLP投影器和视觉编码器,使用纯文本和视觉-语言的微调数据进行训练
3. 监督仅应用于答案和特殊标记,系统提示和用户提示被屏蔽
4. 精心策划的多模态指令-响应对,确保对话角色标记、视觉嵌入的结构注入和跨模态位置关系的保留

1. 首先在32k令牌的序列长度上训练1个epoch,然后在128k令牌的序列长度上再训练1个epoch
2. 学习率在第一个阶段从  递减到 ,然后在第二个阶段重新加热到  并最终递减到 
3. 通过将多个训练示例打包到单个训练序列中来提高训练效率

长链推理(CoT)监督微调

通过构建高质量的推理路径数据集来增强模型的长链推理能力

1. 使用提示工程构建一个小型但高质量的长链推理预热数据集,包含文本和图像输入的准确验证推理路径
2. 通过轻量级SFT对预热数据进行训练,以激活模型的多模态推理策略

1. 通过提示工程生成长链推理路径,类似于拒绝采样(RS),但专注于通过提示工程生成长链推理路径
2. 预热数据集设计用于封装人类推理的关键认知过程,如计划、评估、反思和探索

强化学习(RL)

通过强化学习进一步提升模型的推理能力,使其能够自主生成结构化的CoT推理路径

1. 采用在线策略镜像下降变体作为RL算法,迭代优化策略模型  以提高其问题解决准确性
2. 使用相对熵进行正则化,以稳定策略更新

1. 在每个训练迭代中,从数据集D中采样一个问题批次,并使用策略梯度更新模型参数到 
2. 实施基于长度的奖励来惩罚过长的响应,减少过度思考问题
3. 使用课程采样和优先级采样策略,利用难度标签和实例成功率来优化学习轨迹和提高训练效率

数据构建方法

图片

数据类型

目标

数据来源

质量控制/数据增强

字幕数据

为模型提供基本的模态对齐和广泛的世界知识,使多模态LLM以高学习效率获得更广泛的世界知识

1. 多种开源的中英文字幕数据集,如Schuhmann et al. (2022) 和 Gadre et al. (2024)
2. 大量来自多个来源的内部字幕数据

1. 严格限制合成字幕数据的比重,减少幻觉风险
2. 遵循严格质量控制流程,避免重复并保持高图像-文本相关性
3. 预训练中变化图像分辨率,确保视觉塔处理高低分辨率图像时有效

图像-文本交错数据

在多模态预训练阶段增强多图像理解能力、提供详细图像知识、获得更长多模态上下文学习能力

1. 开源的交错数据集,如Zhu et al. (2024) 和 Laurencon et al. (2024)
2. 大规模内部数据集,使用教科书、网页和教程等资源

1. 进行标准过滤、去重等质量控制流程
2. 通过数据重新排序程序保持所有图像和文本的正确顺序

OCR数据

将图像中的文本转换为可编辑格式,使模型更好地与人类价值观对齐

1. 开源和内部数据集,涵盖单页和多页输入,多种语言和密集文本布局
2. 内部数据集包括多语言文本、密集文本布局、网络内容和手写样本

应用广泛的数据增强技术,如旋转、失真、颜色调整和噪声添加,提高模型的鲁棒性

知识数据

从多样化的来源组装一个全面的人类知识库,进一步增强模型的能力

1. 类似于文本预训练数据,从教科书、研究论文和其他学术材料中收集
2. 使用布局解析器和OCR模型处理内容

为避免模型仅关注OCR信息,开发额外管道捕获嵌入在图像中的纯文本内容

代理数据

增强模型在代理任务中的接地和规划能力

1. 公开数据和内部平台收集的虚拟机环境截图和相应动作数据
2. 设计桌面、移动和Web环境的动作空间,收集软件图形用户界面(GUI)中的图标数据

视频数据

在预训练、冷却和长上下文激活阶段增强模型能力,使其理解长上下文序列和感知短视频片段中的精细时空对应关系

1. 开源数据集和内部网络规模视频数据,覆盖不同持续时间的视频
2. 视频数据涵盖各种场景和任务,如视频描述和视频接地

1. 对于长视频,设计管道生成密集字幕,严格限制合成密集视频描述数据的比重以减少幻觉风险

文本数据

为训练大型语言模型(LLMs)提供全面和高质量的数据

1. 覆盖五个领域:英语、中文、代码、数学与推理、知识
2. 使用复杂的过滤和质量控制机制确保每个领域的最高质量训练数据

1. 对每个数据源进行严格的个体验证,评估其对整体训练配方的具体贡献
2. 通过广泛实验确定不同文档类型的采样策略,优化训练语料库的整体组成

实验效果

图片

图片

图片

参考文献:KIMI-VL TECHNICAL REPORT,https://github.com/MoonshotAI/Kimi-VL/blob/main/Kimi-VL.pdf

 大模型&AI产品经理如何学习

求大家的点赞和收藏,我花2万买的大模型学习资料免费共享给你们,来看看有哪些东西。

1.学习路线图

第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;

第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;

第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;

第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;

第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;

第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;

第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。


2.视频教程

网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我自己整理的大模型视频教程,上面路线图的每一个知识点,我都有配套的视频讲解。

(都打包成一块的了,不能一一展开,总共300多集)

因篇幅有限,仅展示部分资料,需要点击下方图片前往获取

3.技术文档和电子书 

这里主要整理了大模型相关PDF书籍、行业报告、文档,有几百本,都是目前行业最新的。



4.LLM面试题和面经合集


这里主要整理了行业目前最新的大模型面试题和各种大厂offer面经合集。



👉学会后的收获:👈
• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。

1.AI大模型学习路线图
2.100套AI大模型商业化落地方案
3.100集大模型视频教程
4.200本大模型PDF书籍
5.LLM面试题合集
6.AI产品经理资源合集***

👉获取方式:
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓

Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐