kimi k2(开源模型,1T -32B-MOE)

文章目录

abstract

  • 预训练:改进MuonClip 优化器提升训练稳定性
    • 1T -32B-MOE模型,使用 15.5 万亿个 token 进行预训练的整个过程中,没有出现过一次损失尖峰,训练过程极其平滑稳定。这在万亿参数模型的训练中是一个非常了不起的工程成就。
    • 有 384 个专家,每次激活 8 个。这个"稀疏度"(384/8 = 48)比之前的很多模型都要高。报告指出,根据他们的"稀疏度缩放定律"(Sparsity Scaling Law),在计算量不变的情况下,专家越多(越稀疏),模型性能越好。
  • 数据增强策略 (Rephrasing):
    • 背景:高质量数据有限,简单地重复训练会导致模型"死记硬背"(过拟合)。
    • 解决方案: 数据改写(Rephrasing)。用一个强大的模型将高质量的原始文本用不同的风格、角度、句式重新写一遍,生成内容一致但表达方式不同的新数据。
    • 效果: 这种方法既增加了数据量,又避免了过拟合,有效提升了"令牌效用"(Token Utility)。实验证明,用10份改写数据训练1遍的效果,远好于用1份原始数据训练10遍。
  • 后训练:重点打造agent的能力
    • agent 调用训练:围绕海量的工具生成调用的轨迹数据(超过3000个真实工具和20000个合成工具)。模拟"用户"和"智能体"的对话。智能体尝试调用工具解决任务,其思考、调用、碰壁、修正的全过程(即"轨迹")被记录下来。然后用"裁判"模型选择出成功的轨迹用作训练数据。

    • RL:

      • 可验证奖励 (Verifiable Rewards): 对于有明确对错的任务(如数学题、编程题、遵循精确指令),奖励信号是客观的(例如,代码跑通了单元测试就给高分)。
      • 自评判奖励 (Self-Critique Rubric Reward): 对于主观任务(如创意写作、开放式问答),没有标准答案。Kimi K2 会自己生成多个回答,然后自己扮演"裁判",根据一套内部准则(Rubrics)来评判哪个回答更好,从而产生学习信号。

pretrain

Muon优化器+QK-Clip 技术


  • Muon优化器和adam 优化器对比

    • AdamW 为每个参数计算方向和布长
    • Muon 只为整个网络层计算方向,步长是固定的
    • 比如对于1024*1024 的权重矩阵,AdamW计算矩阵中每一个参数的梯度,将整个矩阵看成一个整体,通过msign数学操作进行归一化变换,代表整体变换趋势;
  • 为什么Muon比adam 学习效率更高?

    • adamw 参数各自为战,信息比较片面;Muon 整个层可以看做一个低秩矩阵,对网络层更高效、更协调的更新,从而提升了学习效率。因此Muon优化器可以用更少的token 数据学到更多的知识
  • 为什么Muon比adam更不稳定?

    • 梯度的大小并不仅仅是噪声,它也包含了重要的警告信号。但是Muon的梯度中将大小信息抹掉了。而adamW看到大梯度,它的自适应机制会减小学习率
    • 容易产生"正反馈循环"(恶性循环):初始训练中,注意力权重矩阵的梯度(G)可能会偶然比较大,但是Muon会忽视这个大小信号,再次增大Wq 和 Wk ,导致logits 尖峰;
  • QK-Clip 的精妙之处

    • 实现原理:监测注意力计算中的一个关键值(logits),一旦这个值超过设定的安全阈值,就会自动缩放相关的模型权重,从而防止其失控。QK-Clip 强行打破了上面描述的那个恶性循环,从而在享受Muon高速性能的同时,保证了训练的稳定。
    • 计算一个缩放因子 γ = τ / m a x ( L o g i t s ) γ = τ / max(Logits) γ=τ/max(Logits)。在这个例子里,γ = 100 / 120,约等于 0.83。
      然后,它会用这个因子来缩小权重W_q_w = W_q_old \*
      KaTeX parse error: Double subscript at position 4: W_q_̲new = W_q_old *...
      KaTeX parse error: Double subscript at position 4: W_k_̲new = W_k_old *...

架构&加速优化

  • 架构:
    • 稀疏度缩放定律:实验发现,在激活参数量(即计算成本)固定的情况下,增加专家总数(即提高稀疏度)可以持续降低损失,提升模型性能。因此,Kimi K2 采用了 48 的稀疏度(384 个专家中激活 8 个)。
    • 注意力头数量:之前的模型(如 DeepSeek-V3)为了计算效率,将注意力头数量设为层数的两倍。但团队发现,这在长文本推理时会带来巨大的计算开销,而性能提升却很小(只有 0.5% - 1.2%)。因此,为了平衡性能和长文本推理效率,Kimi K2 将注意力头数量减少到 64 个。
  • 训练加速
    • 并行策略:将模型按"层"、"专家"等维度切块,分给不同的GPU管理。
    • 显存优化(压缩货物):
      • 选择性重计算:计算开销不大,但显存占用巨大的激活值(LayerNorm, SwiGLU 等),forward的时候不存,backword的时候再算一遍;
      • FP8 存储:MoE 和 SwiGLU 模块的输入激活值对精度不那么敏感。存的时候按照fp8存,算的时候再转换成高精度
      • CPU 卸载:对于所有经过上述两步优化后仍然占用显存的激活值,gpu计算的时候搬运到cpu,设计考虑计算、通信高度重叠

training recipe

  • 预训练初期chunk size= 4096,然后用 32k 序列长度训练,最后使用 YaRN 方法将上下文窗口扩展到 128k。
  • 学习率采用了分段策略:两部分数据质量基本一致,都是预训练数据,但是配比可能有些差别;
    • 恒定学习率:10T token的,学习率稍大,用于在海量数据上进行快速、充分的探索和学习。
    • 余弦衰减:5.5T token。用于在训练末期进行精细的调整和稳定的收敛。

post-train

SFT for agent

  • 背景:教会模型使用工具很难,因为真实的交互环境构建成本高、规模小。
    三步走的合成流程 (见 Figure 8):
  • 工具、智能体和任务生成:首先,从 GitHub 等来源收集了 3000+ 真实工具,并用"领域进化"的方法合成了 20000+ 虚拟工具(覆盖金融、软件、机器人等领域)。然后,为这些工具自动生成了数千个具有不同能力和专长的"智能体"角色,并为每个智能体生成了从简单到复杂的任务,每个任务都附带一个明确的成功标准(Rubric)。
  • 轨迹生成:通过一个模拟环境进行多轮对话。其中包含:
  • 用户模拟器:扮演不同风格的用户向智能体提问。
  • 工具执行环境:一个"世界模型",当智能体调用工具时,它会模拟工具的执行结果,并返回成功、失败或错误信息。
  • 质量评估和筛选:一个"裁判"模型会根据任务的成功标准来评估整个交互轨迹。只有成功完成任务的轨迹才会被保留下来用于训练。为了保证真实性,对于编码等任务,团队也使用了真实的沙箱环境来执行代码,将模拟的多样性和真实世界的可靠性结合起来。

RL

新增加的技巧:

  • 预算控制:对每个任务设置最大生成长度,超出则惩罚,鼓励模型生成简洁有效的回答。
  • PTX 损失:在 RL 训练中混入少量高质量的 SFT 数据,防止模型"忘本"。
  • 温度衰减:在训练初期使用较高的采样温度鼓励探索,后期降低温度以实现稳定利用。
    架构优化:
  • 共置架构:在同一批 GPU 上部署"推理引擎"(用于生成 RL 经验)和"训练引擎"(用于更新模型)。两者分时工作,高效利用资源。
  • 高效的引擎切换:为了在推理和训练之间快速切换,团队开发了一个分布式的**"检查点引擎"(Checkpoint Engine)**。它负责高效地将训练好的新模型参数,以流水线的方式重新分片并广播给所有推理节点,整个更新过程在 30 秒内完成。
  • 高效的系统启动:优化了从磁盘加载万亿模型参数的流程,通过并行读取和广播,最大化 I/O 效率,减少了因系统故障重启而浪费的时间。
  • 智能体式 Rollout:为了支持长周期的、需要与外部环境(如代码解释器)交互的智能体任务,系统支持:
    • 异步环境交互:将耗时的环境交互部署为独立服务,并通过大量并发任务来摊销等待延迟。
    • 部分 Rollout:允许未完成的长任务被"暂停",在下一轮 RL 迭代中继续执行,防止"长尾任务"阻塞整个流程。(相当于存档,下个周期,新任务从0开始,rollout的任务从上次暂停的地方开始)

Q&A

  1. "损失尖峰"(Loss Spike)产生的原因
    Answer:(1)脏数据;(2)学习率过高;(3)大模型训练不稳定,中间数值异常:attention中某些数值过大,经过softmax函数后会产生极端的结果(一个接近1,其他全是0),这会导致梯度(模型调整方向的信号)也变得极端巨大,从而引发"尖峰";
相关推荐
安科瑞小许2 小时前
高校宿舍电气安全新防线:浅析电气防火限流式保护技术
大数据·人工智能·安全·防火灾·限电流保护
Better Bench2 小时前
ThinkStation PGX 与 RTX 4090 深度学习性能对比测试报告
人工智能·深度学习·显卡·联想·4090·计算性能·pgx
永远都不秃头的程序员(互关)2 小时前
深度学习入门:图像分类的实战应用
人工智能·机器学习
Mintopia2 小时前
🤖 AI 时代:Coding 如何约束智能体的任务正确率
人工智能·aigc·ai编程
kangk122 小时前
机器学习--序言
人工智能·机器学习
何小少2 小时前
从 Copilot 到 “Lab-pilot“:大语言模型在科学研究领域的应用现状与未来展望
人工智能·语言模型·copilot
倔强青铜三2 小时前
Django 6.0来袭!这些新特性,真的令人振奋!
人工智能·python·django
攻城狮7号2 小时前
阿里推出Qwen-Image-i2L开源工具:AI绘画的个性化革命来了
人工智能·ai绘画·qwen-image-i2l·阿里开源工具
GISer_Jing2 小时前
AI赋能前端营销领域全解析:业务、技术、应用场景等
前端·人工智能