过年了?Kimi-k1.5是咋炼出来的?

大模型向量数据库机器学习

昨天都在喊过年了!kimi难得出技术报告,瞧瞧技术细节。

技术报告在这里:https://github.com/MoonshotAI/Kimi-k1.5

首先还是kimi一贯的宣传特色,长上下文,所以问题来了,如果我们给模型更长的《思考空间》,它是否能自然地学会规划和推理?

其次不得不说,这张图太会玩了。推理模型对比普通模型,AIME楞了好久(单指这张图)。picture.image

3个阶段:预训练&SFT -> RL -> Longshort

预训练

分3个子阶段,在Appendix B.4

简单来说

  1. 预训练阶段:先构建基础的语言模型,然后先单独训练视觉部分,不更新语言模型参数,然后解冻,最后将视觉:文本=30%训练
  2. 退火阶段:使用高质量的数据,合成数据训练。
  3. 训练长上下文, base设置到1,000,000,长度逐渐扩展,从4,096逐步扩展到32,768,最终达到131,072。长上下文数据比例控制在40%:60%

picture.image

RL

分为2个阶段, 预热 & 强化学习

强化学习没有价值函数,没有蒙特卡洛,没有过程监督,仅仅根据结果监督。picture.image

如何构造一个高质量的数据?

  1. 多样性,覆盖领域广

  2. 难度均衡,如何评估难度?采样10次,算通过率,通过越高,难度越低,反之。

  3. 准确性,答案客观可验证。

  4. 应对reward hacking

  5. 排除易猜测问题,排除,选择题,是非题,基于证明的问题

  6. 去掉易破解问题,不推理,直接说答案,如果几次内就能对,太容易了

  7. 数据筛选

  8. 自动过滤, 根据推理过程,评估角度,图文角度来过滤

  9. 标签系统,领域,学科,分类均衡

  10. 特定领域特殊处理,如编程,数学

RL步骤:

  1. 预热:用一个小的验证过的long-cot数据微调。
  2. 强化学习

强化学习用到了一个部分Rollout的策略。用于处理长序列

比如说,假设有3个样本: A需要2000 tokens B需要500 tokens C需要300 tokens

要是等A结束,BC就有很多的浪费token,所以批处理效率低。部分Rollout,就是会指定一个最大长度,比如500,A生成500之后就停了,然后下次接着算。避免了长任务阻塞训练流程。

为啥不需要过程监督呢?他们觉着,模型探索错误路径也是有意义的,只要最终能得到正确答案,模型就能从错误中学习。

这里,没有价值函数估计advantage,直接用采样rewards均值作为baseline。picture.image

最后是,Longshort阶段

longcot已经很强了,但是有没有可能将长思维链转移到短思维链上。也就是,使用有限的token预算下提升性能。

picture.image

看上图,一共有4种方式:

  1. 合并:将长短2个模型的权重平均一下
  2. 短采样:对一个问题采样8次,选最短的正确响应,微调
  3. dpo,选最短的正确响应最为positive, 长的不管是否正确作为negative
  4. rl,增加长度惩罚,减少rollout长度。

picture.image

0
0
0
0
关于作者
相关资源
字节跳动 XR 技术的探索与实践
火山引擎开发者社区技术大讲堂第二期邀请到了火山引擎 XR 技术负责人和火山引擎创作 CV 技术负责人,为大家分享字节跳动积累的前沿视觉技术及内外部的应用实践,揭秘现代炫酷的视觉效果背后的技术实现。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论