Kimi-VL开源多模态大模型结构、训练方法、训练数据浅析

大模型向量数据库云通信

Kimi-VL开源,看技术报告训练操作蛮多的,特此记录下。

往期相关:

Reyes:一个从0到1开始训练的多模态大模型(技术报告)

多模态大模型Ovis核心技术点、训练方法、数据细节

Qwen-VL系列多模态大模型技术演进-模型架构、训练方法、数据细节

Phi-4-multimodal:图、文、音频统一的多模态大模型架构、训练方法、数据细节

deepseek多模态大模型Janus、Janus-Pro模型架构及优化方法浅谈

POINTS多模态大模型浅谈

英伟达NVLM多模态大模型细节和数据集

OCR-free感知多模态大模型技术链路及训练数据细节

模型架构

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

picture.image

模型架构

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的上下文长度。

预训练数据与方法

picture.image

四阶段训练数据情况

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

总结如下:

picture.image

总结

| 阶段 | 目标 | 损失函数/数据 | 训练策略 | | --- | --- | --- | --- | | 训练阶段 | 训练一个能够处理原生分辨率图像的视觉编码器(MoonViT) | 最终损失函数为

,其中

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

  1. 初始化时,使用SigLIP SO-400M的权重,并采用渐进分辨率采样策略来逐步允许更大的尺寸

  2. 文本解码器从一个小型的纯解码器模型初始化 | | 联合预训练阶段 | 通过结合纯文本数据和多模态数据来增强模型的语言和多模态能力 | 纯文本数据和多模态数据 | 继续使用加载的LLM检查点进行训练,消耗额外的1.4T token。初始步骤仅使用语言数据,然后逐渐增加多模态数据的比例 | | 联合冷却阶段 | 通过高质量的语言和多模态数据进一步确保模型的性能 |

  3. 高质量的语言和多模态数据集

  4. 语言部分:使用高质量子集数据进行训练,提高数学推理、知识任务和代码生成的能力

  5. 多模态部分:使用高质量子集的重放和学术视觉或视觉-语言数据源的过滤和改写 |

  6. 通过实验验证,观察到在冷却阶段引入合成数据可以显著提高性能

  7. 保持语言和多模态QA对的低比例,以避免过拟合这些QA模式 | | 联合长上下文激活阶段 | 扩展模型的上下文长度,使其能够处理长文本和多模态输入 |

  8. 长文本、长视频和长文档等多模态数据

  9. 数据集包括长文本和长多模态数据,以激活模型的长上下文能力 |

  10. 将模型的上下文长度从8192(8K)扩展到131072(128K)

  11. 通过两个子阶段进行扩展,每个子阶段将模型的上下文长度增加四倍

  12. 使用长数据和短数据的混合策略,确保模型在学习长上下文理解的同时保持短上下文能力 |

后训练方法

picture.image

后训练过程

picture.image

总结

| 阶段 | 目标 | 技术实现 | 训练策略 | | --- | --- | --- | --- | | 联合监督微调(SFT) | 通过指令微调来增强模型的指令遵循能力和对话能力,从而创建一个交互式的Kimi-VL模型 |

  1. 使用ChatML格式进行指令优化,保持与Kimi-VL架构的一致性

  2. 优化语言模型、MLP投影器和视觉编码器,使用纯文本和视觉-语言的微调数据进行训练

  3. 监督仅应用于答案和特殊标记,系统提示和用户提示被屏蔽

  4. 精心策划的多模态指令-响应对,确保对话角色标记、视觉嵌入的结构注入和跨模态位置关系的保留 |

  5. 首先在32k令牌的序列长度上训练1个epoch,然后在128k令牌的序列长度上再训练1个epoch

  6. 学习率在第一个阶段从

递减到

,然后在第二个阶段重新加热到

并最终递减到

  1. 通过将多个训练示例打包到单个训练序列中来提高训练效率 | | 长链推理(CoT)监督微调 | 通过构建高质量的推理路径数据集来增强模型的长链推理能力 |

  2. 使用提示工程构建一个小型但高质量的长链推理预热数据集,包含文本和图像输入的准确验证推理路径

  3. 通过轻量级SFT对预热数据进行训练,以激活模型的多模态推理策略 |

  4. 通过提示工程生成长链推理路径,类似于拒绝采样(RS),但专注于通过提示工程生成长链推理路径

  5. 预热数据集设计用于封装人类推理的关键认知过程,如计划、评估、反思和探索 | | 强化学习(RL) | 通过强化学习进一步提升模型的推理能力,使其能够自主生成结构化的CoT推理路径 |

  6. 采用在线策略镜像下降变体作为RL算法,迭代优化策略模型

以提高其问题解决准确性

  1. 使用相对熵进行正则化,以稳定策略更新 |

  2. 在每个训练迭代中,从数据集D中采样一个问题批次,并使用策略梯度更新模型参数到

  3. 实施基于长度的奖励来惩罚过长的响应,减少过度思考问题

  4. 使用课程采样和优先级采样策略,利用难度标签和实例成功率来优化学习轨迹和提高训练效率 |

数据构建方法

picture.image

| 数据类型 | 目标 | 数据来源 | 质量控制/数据增强 | | --- | --- | --- | --- | | 字幕数据 | 为模型提供基本的模态对齐和广泛的世界知识,使多模态LLM以高学习效率获得更广泛的世界知识 |

  1. 多种开源的中英文字幕数据集,如Schuhmann et al. (2022) 和 Gadre et al. (2024)

  2. 大量来自多个来源的内部字幕数据 |

  3. 严格限制合成字幕数据的比重,减少幻觉风险

  4. 遵循严格质量控制流程,避免重复并保持高图像-文本相关性

  5. 预训练中变化图像分辨率,确保视觉塔处理高低分辨率图像时有效 | | 图像-文本交错数据 | 在多模态预训练阶段增强多图像理解能力、提供详细图像知识、获得更长多模态上下文学习能力 |

  6. 开源的交错数据集,如Zhu et al. (2024) 和 Laurencon et al. (2024)

  7. 大规模内部数据集,使用教科书、网页和教程等资源 |

  8. 进行标准过滤、去重等质量控制流程

  9. 通过数据重新排序程序保持所有图像和文本的正确顺序 | | OCR数据 | 将图像中的文本转换为可编辑格式,使模型更好地与人类价值观对齐 |

  10. 开源和内部数据集,涵盖单页和多页输入,多种语言和密集文本布局

  11. 内部数据集包括多语言文本、密集文本布局、网络内容和手写样本 | 应用广泛的数据增强技术,如旋转、失真、颜色调整和噪声添加,提高模型的鲁棒性 | | 知识数据 | 从多样化的来源组装一个全面的人类知识库,进一步增强模型的能力 |

  12. 类似于文本预训练数据,从教科书、研究论文和其他学术材料中收集

  13. 使用布局解析器和OCR模型处理内容 | 为避免模型仅关注OCR信息,开发额外管道捕获嵌入在图像中的纯文本内容 | | 代理数据 | 增强模型在代理任务中的接地和规划能力 |

  14. 公开数据和内部平台收集的虚拟机环境截图和相应动作数据

  15. 设计桌面、移动和Web环境的动作空间,收集软件图形用户界面(GUI)中的图标数据 | 无 | | 视频数据 | 在预训练、冷却和长上下文激活阶段增强模型能力,使其理解长上下文序列和感知短视频片段中的精细时空对应关系 |

  16. 开源数据集和内部网络规模视频数据,覆盖不同持续时间的视频

  17. 视频数据涵盖各种场景和任务,如视频描述和视频接地 |

  18. 对于长视频,设计管道生成密集字幕,严格限制合成密集视频描述数据的比重以减少幻觉风险 | | 文本数据 | 为训练大型语言模型(LLMs)提供全面和高质量的数据 |

  19. 覆盖五个领域:英语、中文、代码、数学与推理、知识

  20. 使用复杂的过滤和质量控制机制确保每个领域的最高质量训练数据 |

  21. 对每个数据源进行严格的个体验证,评估其对整体训练配方的具体贡献

  22. 通过广泛实验确定不同文档类型的采样策略,优化训练语料库的整体组成 |

实验效果

picture.image

picture.image

picture.image

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

关于我:余俊晖,主要研究方向为自然语言处理、大语言模型、文档智能。曾获CCF、Kaggle、ICPR、CCL、CAIL等国内外近二十项AI算法竞赛/评测冠亚季军。发表SCI、顶会等文章多篇,专利数项。

0
0
0
0
关于作者
关于作者

文章

0

获赞

0

收藏

0

相关资源
如何利用云原生构建 AIGC 业务基石
AIGC即AI Generated Content,是指利用人工智能技术来生成内容,AIGC也被认为是继UGC、PGC之后的新型内容生产方式,AI绘画、AI写作等都属于AIGC的分支。而 AIGC 业务的部署也面临着异构资源管理、机器学习流程管理等问题,本次分享将和大家分享如何使用云原生技术构建 AIGC 业务。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论