
DeepSeek
读完技术报告后,我想从infra的角度分享几点个人的见解,供大家一同探讨。首先,仅仅动用两千张H800卡,历经两个月的时间就能把超大型的MoE模型训练到如此出色的效果,这真的是非常厉害。不得不说,实践出真知啊。从
DeepSeek以往的技术报告中,我们能够很明显地察觉到其团队的算法能力与系统能力都在不断提升。按照system - a
LGorithm co - design原则,
DeepSeek - V3继续采用V2中的MLA和MoE结构。其中,MLA的作用是减少kv cache / token的开销,而MoE结构则是为了降低flops / param的开销。1) 关于MLA技术,我之前已经介绍过了。简单来讲,它是通过类似LoRA的方式对kv进行降维压缩,并且把升维操作转移到Q和O上,从而避免反复进行解压缩。但遗憾的是,MLA并没有得到太多的关注。一个可能的原因是,与MQA相比,它似乎没有什么优势,而且还增加了系统的复杂程度。2) 对于MoE结构,它不同于Mixtral中的大
专家设计(将稠密模型中的MLP结构复制8份),
DeepSeek - V3采用了大量的小
专家设计,这能够极大地提高模型的稀疏程度(用总参数量除以激活参数量来衡量)。与V2的236B总参数(其中激活参数为21B)相比,V3更为激进地引入了256个
专家,其总参数量达到了惊人的671B,而激活参数量仅仅增加到37B。依据技术报告中的数据,由于采用了更为稀疏的MoE设计以及一系列的系统优化,V3每trillion数据的GPU小时数仅为180K(而V2对应的GPU小时数为172.8K),这可以说是将V2技术报告标题中的Economical(性价比)理念贯彻得十分彻底。3) 除了继承V2的模型设计之外,V3使用了之前发布的auxiliary - loss - free策略来减轻
专家之间的负载不均衡状况(学术探索成果能够如此迅速地应用到自家的大模型中,这足以体现
DeepSeek对创新的重视程度)。此外,V3引入了multi - token prediction(MTP),它不仅在训练时能够提供更多的监督信息,而且在推理时还可以结合投机采样来加速模型的解码。从论文所汇报的效果来看,MTP是一个很不错的训练技巧。就训练而言,最引人瞩目的当属FP8的使用。据我所知,
DeepSeek - V3是(至少在开源社区内)第一个成功运用FP8混合精度训练得到的大型MoE模型。