乐于分享
好东西不私藏

我靠ai帮忙读懂了Deepseek发布的论文

我靠ai帮忙读懂了Deepseek发布的论文

大家最近都在关注Deepseek发的V4模型,但我更关注一同发布的研究论文。梁文峰确实是个非常有格局的人,他不单单开源了大模型这个技术产品,他还把自己怎么做到以及这个过程里踩了哪些坑,趟了哪些雷都在论文里写了出来。

最难能可贵的是靠着ai帮忙,我这一外行也似乎看懂了这些论文。下面我就试着讲讲我对DeepSeek论文的理解。

1、教会机器开始思考

Deepseek在R1时轰动世界,不仅是开源,最主要的是发布了一篇论文。这篇论文还登上了Nature封面杂志。后来DeepSeek把这篇论文还更新了一版,从22页更新到了86页。之前外界对DeepSeek-R1 最大的疑问只有一个:你到底是怎么学会思考的。这篇论文就详细阐述了其中的原理和工程细节。

大家以前训练 AI,主要靠「喂饭」。老师写好答案,告诉 AI:你就照着这个学。这种方法教出来的 AI 听话,但很难青出于蓝。

DeepSeek 这次换了个路子,他们搞了个纯强化学习。简单说,就是把 AI 关进小黑屋,给它一道超难的数学题,不给它任何解题步骤,只告诉它:做对了有糖吃,做错了去罚站。

刚开始,这 AI 就像个无头苍蝇,胡言乱语,一开始只是答案变长,后来会反复检查。再后来,甚至会中途停下来,对自己说一句等等,好像哪里不对。

但在经历了成千上万次的试错后,神奇的一幕发生了。论文里展示了一段日志,AI 在解题过程中突然输出了这样的文字:「Wait, wait. Wait. That’s an aha moment…」(等等,等等,这是个顿悟时刻…)论文里直接把这个称为 aha moment。不是程序员写进去的,是模型自己长出来的。

第二个事情是蒸馏,现在我们对这个字已经熟悉得不能再熟悉了。以前我们总觉得,想要 AI 聪明,模型参数必须巨大无比,光显卡就得烧掉几个亿。DeepSeek 做了一个尝试,我们可以把 R1 这个「超级大脑」思考出来的精华数据,拿去喂给那些只有 1.5B、7B 参数的「小模型」吃。

结果怎么样?那些连手机都能跑得动的 1.5B 小模型,在吃透了 R1 的思考逻辑后,做数学题的能力居然干翻了 GPT-4o 这种庞然大物。这就像是一个小学生,虽然力气小,但因为学了绝世武功的内功心法,居然能打败武林高手。

现在蒸馏这个做法几乎成了所有大模型不公开的秘密了。

2、分享过程中踩过的坑

他们试过用某些方法想让 AI 更聪明,结果发现没用;他们试过某种奖励机制,结果发现 AI 学会了作弊。他们把这些坑一个个标出来,告诉全世界的开发者:这条路不通,别走了。1月份的时候,DeepSeek又发布一篇论文,Engram记忆检索架构。

《基于可扩展查找的条件内存:大型语言模型稀疏性的新维度》。

我们如何理解这篇论文呢?先从一个小问题开始现在你问大模型一个很简单的问题。

比如美国的首都在哪里?你认为这可能很简单,特别简单。

这是一个在语料库中搜索的问题,一秒钟就能得到答案。实际上,在大模型的视角里,这是一场推理。

它要先理解你的问题,然后再一个字一个字地蹦出来,最后推理出来,美国的首都是华盛顿特区。

再比如你现在去问大模型一加一等于几,它并不是直接的进行加法。而是用1加1等于几这句话来推理后面会出现什么字的概率更高。

这也就是为什么一开始大模型算术总算不准,数个数总数不明白的原因。因为本质上它不是在算,而是在推理。

有的 AI 大模型会编写程序来完成这个任务,有的大模型就会去进行推理。我有一个苹果,再买了一个苹果,然后现在数一下,我现在有两个苹果。这不仅慢,而且极度浪费算力。

然后 DeepSeek 就提出了一个叫做 Engram 的架构。既然有些固定的知识,比如成语或者历史事实是不变的,那我们就不算了,直接把它记到小本本上,到时候直接查就行了。

这就是我们之前用到的 Ngram 技术,相当于一系列的词汇、单词、数字和符号的集合。包括最早的输入法,哪怕是智能 ABC 都用到了这样的技术。DeepS 把这个技术现代化了,改名叫做Engram。

比如你说上句,东汉末年分……

传统的注意力机制要计算每一个字之间的关联,然后再去生成下一个字,而 Engram 就是通过查不到的方式,直接把『三国』这个字甩了出来。

注意是直接,这里无需推理,但是需要验证。这个过程不仅是节省算力,还大幅度地节省了 token。

可能有人会问了,你说你把我本来的思考的脑子换成了笔记本,我的能力应该下降才对。不是的。这相当于解放,Engram模型在浅层就帮大模型搞定了记忆相关的工作,让原本深层的神经网络从繁琐的记忆提取中解放了出来。

简单类比就是数学考试,让你计算 23 的平方根。虽然有这个计算能力,但是没必要直接查平方根表,或者直接按计算器计算就行,节省下来的脑力让你去解最后一道大题。

而且你手算得再快,也没有查表或者计算器快。这里还有一个问题,这个数据也就是这个 Engram,我们叫做词典的,或者叫做字典的表是哪里来的?

Engram 并没有额外的数据源。它和主模型(Backbone)用的是完全同一套训练数据(论文里提到用了 2620 亿 token 的语料,比如 The Pile 数据集)。

下一步就是端到端的训练。要说一说它和传统技术的区别,传统的 N-gram存的是概率(比如『吃』后面接『饭』的概率是 90%)。

DeepSeek 的 Engram 存的是向量  (Embedding)传统 N-gram:看到『苹果』,它只知道这是个水果。Engram:看到『苹果』,它存下的向量可能包含了『乔布斯』、『红色』、『甜的』、『科技公司』等压缩后的高维语义信息。这样带来的一个好处就是极高的节省内存。

大家都知道现在的内存比黄金还贵,既然这东西可以即插即用,就没有必要把这部分参数一直存放在用于推理的 HBM 内存中。DeepSeek 也做了一个测试,直接把 1000 亿参数的任务丢给了普通内存。

推理的速度损耗不到 3%,这意味着以后我们有可能在消费级的内存上运行百亿级的模型,哪怕你插的是普通的 DRAM。还有一个关键:纯粹的计算或者纯粹的记忆都不是最优解。只有将 20% 或者 25% 的参数分配给这种静态的记忆,才能达到一个比较好的收益点。

3、工程优化路径

一般的语言模型,为了保证能够完美地还原原本,它会把 apple 和空格加 apple 当成完全两个不同的 token 去处理。这在 DeepSeek看来简直就是浪费。DeepSeek觉得,既然 engram 是用来存储语义的,但我苹果面前有没有空格,这和语义有什么关系?于是他们搞了个Tokenizer Compression(分词压缩)。他们把同义但写法微小的 Token 强行合并了。

比如所有的『 』(两个换行)和『空格+换行』这种乱七八糟的格式符,都被映射到了同一个 ID。光这一招,就把原本 128k 的词表体积硬生生压缩了 23%。

第二点细节:就是在第几层去查。这个模块到底塞在哪里?你可能会觉得,既然是查字典,直接在第 0 层就查多快呀。

论文中提到了一个消融实验。第0层是不行的,第二层才是完美的。很好理解。在第0层,模型还没有正经过任何注意力机制的处理。比如你输入了『苹果』,只是一个独立的字,缺乏上下文,模型不知道它是指水果还是指手机。如果这时候查表出来的就是一堆混乱。

于是 DeepSeek 就先让模型跑完第一层的注意力机制,然后看一眼上下文,大概知道语境,然后在第二层接入这个 Engram,效果最好。就像英语考试的时候做完形填空,老师也会教你先别着急填,先把原文过一遍,大概知道它在说什么,这样的效率会更高。

Engram 为了快,用的是Hash映射。稍微了解计算机原理的同学都知道,Hash是会冲突的。

万一有两个词已完全不同,然后冲突了被映射到了同一个位置,比如,将『奥巴马』和『红烧肉』映射到同一位置,那模型查出来的就是错的。DeepSeek在这里设计了一个上下文感知门的控制系统。

由 Engram 查出来的词,其向量不能直接用于答案中,需要先通过安检,模型会用当前的上下文去『质问』这个查出来的向量。如果上下文是在聊美国,聊政治,那就跟红烧肉关系不大。

25 年 2月18的时候,DeepSeek 的一个论文。想象你走进一个百万平米的超级购物中心寻找一管牙膏。传统AI(全注意力模型)就像刚入职的理货员,只会机械地按顺序扫描每个货架——这种『暴力搜索』不仅耗时费力,更会随着商场规模扩大陷入指数级增长的效率陷阱。

Deepseek 最新的 NSA 注意力机制,主要是做了这两件事情。1. 数据压缩:先不着急逛货柜,先找到超市的导览图。一楼基本上都是食品,二楼是日用品,三楼电器。自然的,一楼三楼基本上就可以略过了。2. 智能选择:但是二楼也很大,这时候你就需要抬头看分区的牌子,大致的扫一眼。家居厨房,文具体育,床上用品,清洁洗护。你只需要重点关注清洁洗护,然后在这个区域下,仔细搜索就行了。

这个过程很像人类的思考过程,也就是更加『类人』了。显然的,计算机训练和推理速度更快,成本更低,同时仍保持其准确性。

2025 年12月31,快元旦的时候,又更新一篇论文。名字叫《mHC:流形约束的超连接》

大模型训练里一个反常识的现象。大家都觉得模型层数越多越聪明,但实际上层数多了以后,信息在传递过程中会像传话游戏一样严重失真,为了解决这个问题,以前的科学家搞出了一个叫残差连接的东西。

你可以把它理解为一条直通高速公路,让信息能原封不动地传到下一层。这招在过去十年很好用,但随着模型越来越大,这条单车道的高速公路开始堵车了。

于是学术界有人想出了个升级版方案,叫超连接 HC。简单说就是把单车道扩建成八车道,让信息流量暴增。理论上这能让模型变聪明,但DeepSeek团队在实测中发现了一个致命Bug。

这种无拘无束的扩宽会导致信号在层层传递中像滚雪球一样失控,原本只是一个微小的信号,传了几十层后变成了惊涛骇浪,直接把模型的训练曲线搞崩了。

DeepSeek这次提出的mHC,就是给这套失控的八车道系统装上了一个的流量阀门。他们引入了一个数学上的流形约束概念。

道理也很简单,就是守恒定律,他们强制要求神经网络里的连接矩阵必须遵守一个死命令,不管信息怎么在不同的通道间乱窜,输入和输出的总能量必须保持守恒。

为了实现这个完美的数学守恒,DeepSeek用上了一种叫Sinkhorn-Knopp的算法。这个算法并不是DS 的首创,一开始是为了解决最优传输问题的,在很多领域都有应用。

那么DeepSeek的贡献在哪里?其实就是工程落地的能力,这种复杂的数学约束,通常会把训练速度拖得很慢。

于是,DS 又发挥了他们的传统异能,几乎是重写了底层的计算引擎,把这套数学运算塞到了GPU的缝隙里,结果就是只用了不到7%的额外时间,就换来了极强的模型稳定性。同样的算力预算下,用了这项技术的27B模型,在数学、代码和逻辑推理等硬核指标上全面碾压了传统架构。而且最关键的是,那个困扰业界的训练 Loss突然爆炸的问题彻底消失了。

在论文里边,硬件的设计给得非常具体,甚至还给了一个计算公式。C/B ≤ 2d = 6144 FLOPs/Byte。即每GBps互联带宽足以隐藏6.1 TFLOP/s的算力。超过此阈值后,增加带宽收益递减。快速使用替代小型辅助模型,靠特殊的Token并行处理。

在聊天场景中,很多前置任务(如是否需要搜索、意图识别、域名分类)原本需要一个小模型预过滤。V4用快速指令(Quick Instruction) 解决了这个问题。

举个例子,比如你平时问一个大模型今天天气怎么样,在回答之前,他肯定要先想一下,这个问题我需不需要去搜网页。在之前,这个事情是需要一个小模型去做的。就好比你去餐厅点菜,还要经过迎宾员,再把你交给服务员,然后就浪费时间了。

V4的做法是,它发出了一个它发明了一个快速的指令,然后在你的问题后边生硬地塞进去几个动作标记,然后模型读到这里,直接就用缓存无缝复用,就能决定到底要不要联网搜索。把一部分前端的交互逻辑塞进了底层模型,这样就会把时间压榨得更加充分。