DeepSeek如何做到低训练成本
作者: 夏眠深度求索公司在网络上发布的大语言模型DeepSeek最新版本轰动全球。美国硅谷的高科技公司首席科学家、相关领域的顶级学者纷纷加入了讨论,甚至引发了纳斯达克指数的异常波动。
那么,在市场上已经存在不少大语言模型的情况下,为什么DeepSeek能引起如此大的轰动?原因有二:其一,它开放源代码,允许全世界下载,支持本地部署;其二,它的低训练成本打破了大语言模型完全依赖性能和显卡的思维定式。
DeepSeek的训练成本500万美元(约合人民币3 631万元),是指最新版本的预训练和训练费用,不包含前期技术验证、预研发费用,以及技术积累的人工和计算开销。
根据深度求索公司发布的论文,DeepSeek能做到低训练成本,主要是依靠MoE混合专家模型(以下简称MoE)、混合精度训练、动态注意力机制、并行内存双通道数据蒸馏等技术。其中,MoE和混合精度训练最为亮眼。
在大语言模型训练领域,头部公司采用的是Dense模型,该模型训练用到的参数越多,难度就越大,并且难度会因为参数的变多呈现指数级的增加,导致训练成本居高不下。DeepSeek采用的是MoE,简单来说,就是把参数拆分,分开训练,训练的复杂程度和参数就不是指数关系,而是线性关系。
举个例子,一个班级的同学各有所长,有擅长做数学题的,有擅长吟诗作赋的,有擅长体育运动的,还有擅长聊天营造气氛的。MoE是让这些学生分别回答擅长领域的问题,Dense则是把所有问题一股脑儿丢给全班同学,期待大家能成长为一个上知天文下知地理、能歌善舞、善解人意的全才。
在进行专家训练之前,DeepSeek引入了一个分发系统。每一个令牌(token)会被这个分发系统分发给不同的专家,或者把同一个令牌发给不同的专家,最后把专家的意见归纳总结,以此提高模型的效率。
另一个低训练成本的关键是混合精度训练。在大语言模型训练过程中,需要保持一定的浮点小数精度,精度越高,结果越可靠,计算成本也越高。计算需要用到显卡,而显卡的需求量可以用参数量乘以精度估算。在32位的全精度下,一个参数由4个字节表示,一个10亿参数的模型大概需要4GB的显卡内存才能加载全精度的模型。
DeepSeek通过把32位参数缩短到8位或者16位,节省了一半以上的显卡内存。可精度下降也会导致结果的可靠性降低。为了解决可靠性问题,混合精度训练便会挑选参数的重要性,重要的参数精度较高,不那么重要的参数精度较低。同时,为了避免多次运算后精度差导致的累计误差过大,DeepSeek会在多次计算后调整精度,确保累计的误差不会太大。至于多少次计算后再调整精度效果最好,DeepSeek给出了详细的阐释。
上述两点是低训练成本的基石,当然,DeepSeek采用的其他技术,比如动态注意力机制、并行内存双通道数据蒸馏也把显卡的利用效率提升到了较高水平。
或许有人认为,这些理论并非创新性的,比如MoE混合专家模型早在1991年就有论文提出了。可是,能把这么多的论文模型整合到一个应用中,本身就是工程学的创新。我们从来不会因为瓦特改良了蒸汽机,而忽略后世特里维西克、埃文斯的贡献。
牛顿曾说:“我是站在巨人的肩膀上。”DeepSeek是巨人肩膀上的产物,它也会成为下一个托举人类人工智能发展进步的巨人。