DeepSeek是AI工程学的巅峰
文摘
2025-01-28 12:55
山西
最近的deepseek可谓是极度出圈了,推出的APP版本更是直接登顶AppleStore的下载榜第一;全球所有的新闻机构,科技大佬全部在讨论的一件事情就是deepseek,一如当初OpenAi出圈时掀起的惊涛骇浪。除此之外,所有AI硬件基础的上下游产业无一幸免,全部出现了暴跌,包括高速连接铜缆,半导体,光模块等等。大A尚不明确节前的相关硬件暴跌是否受此影响,因为除了银行是普跌行情。但是相关板块跌得很惨,多少是有点关系的,估计节后还要跌,因为AI硬件的泡沫确实太高了。这不,节前,deepseek 又搞了一波行情:直接出了一个多模态模型Janus-Pro,仅仅是几周时间训练的7B模型就在相关基准测试击败了DALL-E 3和 Stable Diffusion!此消息一出,直接相当于在春节放了个核弹来庆祝。对面的英伟达直接股价暴跌10%,相关美股也是受到拖累,相关行情出现了普跌。现在看来,把deepseek看做中国的星舰也毫不夸张了。它打破了当下AI成本居高不下的成本神话,为未来AI的继续发展打下了坚实的工程学基础:有些直觉上不可能的事情是需要去尝试的,勇气和探索是人类最高上的赞歌。那么deepseek究竟集成了哪些黑科技,让它在众多大神竞技的国际舞台上脱颖而出?让我们沿着它的迭代时间线以此来揭秘一下!
2024年1月5日发布了DeepSeek LLM,这是deepseek首个发布的模型,受益于开源的LLAMA系列模型。在数据预处理方面进行了激进的去重,对多个Common Crawl转储进行去重,91个转储的去重率达89.8%。架构方面,在第一代的的deepseek沿用了llama的经典架构;使用RMSNorm做归一化处理;前馈网络(FFN)的激活函数使用了SwiGLU;使用了RoPE作为位置编码函数;同时使用了分组查询注意力替代了传统的多头注意力。训练方面,使用了AdamW优化器;使用多步调度器(学习率预热)替换了余弦调度器;使用了Flash Attention提高硬件利用率;使用了ZeRO-1划分优化器状态,减少内存占用;进行了混合精度训练:bf16训练,fp32累积梯度。可以看到,基本上第一代的deepseek已经是集百家之长,综合使用了当时各个方面最优的方案。
2024年1月11日发布了DeepSeekMoE,正如名字所述,deepseek押宝了MOE架构(Mixture of Experts,混合专家模型),而非密集模型,就像当初的OpenAi押注Few-Shot。MoE设计可以用一个简单的比喻来理解:把大模型变成一个由多个「专业团队」协作的智能工厂,以下是它的核心设计原理:- 传统大模型:像是一个全能的「超人」,所有任务都由同一组参数处理,容易「学杂了」。
- DeepSeekMoE:把模型拆分成多个「小专家」(例如上千个),每个专家只专注学习某一类特定模式(比如语法、数学逻辑、图像特征等),类似工厂里的专业小组。
- 门控系统:每一条输入数据(比如一句话)会经过一个「调度员」(路由网络),分析内容后动态选择最相关的几个专家(例如选2个),只让这些专家处理当前任务。
- 节省算力:每次只用少量专家工作(类似「按需点亮灯泡」),既保持模型的总容量,又避免无谓计算。
- MoE不是deepseek第一个提出来的,但是传统 MoE 有这些问题:可能出现某些专家总是被选中(累死),另一些长期闲置(摸鱼)。
- DeepSeekMoE 的优化:通过算法强制「轮班制」,确保所有专家都被均衡使用,避免资源浪费,让每个专家都能学到真本事。
- 共享基础层:模型底层保留通用参数(像「基础员工」),处理通用特征。
- 上层专家层:高层由多个专家组成(像「高级顾问」),专注细分领域,两者配合实现「通用能力+专业技能」的结合。
这种设计让模型在保持计算成本可控的同时,实现更强的学习能力,特别适合大规模预训练和复杂任务处理。
2024年5月DeepSeek-V2发布,这个版本的重点是一种创新的注意力机制:Multi-head Latent Attention, MLA,多头的潜(信息压缩提示)注意力机制。DeepSeek 的 Multi-head Latent Attention(MLA) 是一种改进的注意力机制设计,可以用一个简单的比喻来理解:把传统的“多头注意力”变成“多组侦探协同破案”,以下是它的核心设计原理:- 原始设计:类似让多个“侦探”(注意力头)各自独立分析所有线索(输入的所有词),每个侦探都从头到尾仔细检查所有信息,导致计算量大、效率低。
- 缺点:每个侦探重复劳动,且处理长文本时(比如一本书)计算量爆炸。
- 关键步骤:先让所有侦探把线索汇总成一份简化的“调查报告”(潜在空间表示),这份报告保留了核心信息,但剔除了冗余细节。
- 作用:侦探们基于这份压缩后的报告进行分析,而不是直接处理原始海量数据,大幅减少计算量。
- 分组合作:MLA 将多个注意力头分成若干组,每组负责不同的任务(比如一组关注语法,另一组关注语义)。
- 共享调查报告:所有组共享同一份压缩后的潜在空间报告,但各自从中提取不同的关键信息,既减少重复工作,又保证多角度分析
- 灵活压缩:根据输入长度动态调整“调查报告”的压缩程度。处理长文本时压缩更多,短文本时保留更多细节,避免一刀切。
想象读一本1000页的书,传统方法是每页都做详细笔记,MLA则是用“思维导图”总结核心内容,需要时再展开细节,既省纸又高效。
2024年12月27日DeepSeek-V3发布,这个版本是对之前版本技术的进一步优化,同时提出了一个创新的机制:Multi-Token Prediction, MTP。Multi-Token Prediction (MTP) : 一步看三步问题:传统模型逐词预测,像“走一步看一步”,缺乏长程连贯性。多步预测:训练时,额外增加几个预测模块(MTP1, MTP2…),每个模块基于前一步的预测结果,联合真实数据预测后续多个token。共享底层参数:所有预测模块共享词嵌入和输出层,减少参数冗余。像下棋时,高手会预判对手接下来的几步,提前布局。MTP让模型训练时学会“走一步想三步”,提升生成连贯性。这种方式看起来与Beam Search 和多采样有点类似,只不过更偏向宏观和抽象层面。这种思维方式也符合人类的直觉方式:我们思考问题的时候总是在大脑先蹦出几个关键字,然后根据关键字组合形成一个连贯的思维。- 流水线并行(16-way):把模型拆成16段,像工厂流水线,每段由不同工人(GPU)处理,同时处理多个任务。
- 专家并行(64-way):将上千个专家分散到64组机器上,就近计算减少通信。
- 数据并行(ZeRO-1):2048张GPU同时训练不同数据分片,定期同步参数。
- DualPipe双向流水线:同时进行前向和反向传播,像双向车道,避免堵车。
- NVLink优先:节点内用超快通道(NVLink),跨节点用高速路(IB网络),并限制每个token的“旅行范围”(最多4个节点)。
像跨国物流网络:本地仓库(NVLink)快速分拣,跨区域用空运(IB网络);每个包裹只经少数中转站,避免全球绕路。到了DeepSeek-V3的阶段,总结一下它的总体的设计哲学:- 存得少:通过MLA压缩记忆,MoE均衡负载,减少资源浪费。
- 想得远:MTP多步预测提升生成质量,FP8兼顾速度与精度。
- 目标:让大模型在处理复杂任务时,像“超级团队”一样高效协作
上面的思路看起来,对于大神云集的AI界貌似不是特别复杂,甚至可以用简单来说,但是!重点是:没人这个敢这么搞啊!马斯克敢用“筷子”回收火箭,敢用不锈钢造火箭,纵然有工程上面的难题需要克服,一切的前提是你得敢想,敢做!deepseek就是这样的团队!