果然一到假期,DeepSeek 就发新东西了。。。
来了兄弟们,果然每次临近放假,DeepSeek 总能给我们整点东西出来(怨念)。
春节前整了个 R1 震撼科技圈,昨天又卡着十一假期的 Deadline,发了个新版本 —— DeepSeek-V3.2-Exp 出来。
大家也发现了一件事情,DeepSeek 你小汁、总在假期搞个大新闻是吧。
诶我有一计,不如多设定几个法定节假日出来,这样 DeepSeek 的产品发布速度也会得到了一波史诗级提升。
到时候别说 R2 了,可能连 R200 都已经发出来了。
OK 扯远了,回到这次 DeepSeek 发布的 V3.2 EXP 上来,这次的新版本虽然是个带些实验性质的模型,但是整出来的有趣东西是一点也不少:
一方面,V3.2 是首个实现细粒度稀疏注意力机制的大模型。
而这个新机制,很有可能改变未来所有大模型的玩法。
大家平时和大模型聊天的时候有没有发现一件事,如果你一直在一个窗口里和一个大模型聊天,那么没过多久,这个天就会被你给聊炸了。。。
没错,Transformer 架构是有极限的,每次它在给我们生成回答的时候,都要把过去的所有聊天记录加起来一起计算。
而在计算的时候,Transformer 也会计算这些聊天记录里面,每个单词(token)和其他所有单词之间的关联性,一个一个算下来。
这也就导致了咱们和大模型聊的越多,它需要加计算的内容也就越多,聊天记录的长度翻了一倍,背后的计算量其实涨了四倍,不但成本暴涨,性能也会有所降低。
因此各路大模型基本都会规定一个窗口的聊天长度限制,你聊多了,就直接不让你用了,除非新开个窗口才行。
而前面提到的稀疏注意力,很有可能改变这一切。
简单来说,稀疏注意力可以让大模型在计算的时候,不用同时关注所有单词,而是学会了怎么划重点。
和人一样的,就比如说你可能会记得住你去年国庆到了哪玩,但是你不会去记住你去年十月一号的早餐吃了什么东西。
记住重点,比记住所有的细节或许要更重要。
在 DeepSeek 的技术报告里可以看到,他们设计了一个叫做闪电索引器(Lightning Indexer)的新东西。
这玩意会动态的判断出整个聊天记录里,哪些 Token 是最重要的,然后在后续计算的时候,就只要关注这些重要的 Token 来就算就行了。
通过这种 “ 先记带动后记 ”、“ 有组织的记忆代替无序的记忆 ”、“ 挑重点记 ” 的方式,DeepSeek 让模型的计算量大幅度下降。
那么问题来了,这种通过 “ 局部记忆 ” 做出来的大模型,能力会变差么?
DeepSeek 做了个实验。
他们把 DeepSeek-V3.2-Exp 的训练配置与 V3.1-Terminus 进行了对齐,结果发现训练出来的两个模型,在性能上极为接近,在各类数据集上测出来的成绩都打了个五五开。
但在同样的效果之下,安排上稀疏注意力之后的 V3.2 巨能省钱。
在下面这张图里可以看到,随着句子越来越长,3.1 的推理成本是越来越高。
但是用上了稀疏注意力的 3.2 则没什么变化,和我的心率一样稳定。
性能没变,省钱加倍了属于是。
也正是因为稀疏注意力的这种效果,Deepseek 又开始当起了价格屠夫,把官方 API 的价格直接打了个对折还带拐弯的。
另一方面,DeepSeek 又不声不响的整了波王炸,用高级语言 TileLang 设计实现了很多新的GPU算子,再次对老黄的CUDA生态王座发起了试探。
看完上面这一大段话,大伙儿肯定想,这叽里咕噜的说啥呢?下面差评君就尽量用简单的话,给各位差友把这事儿给聊明白了。
TileLang 最重要的价值,还是它有潜力打破英伟达的垄断,当一波国产芯片生态的奶妈。
CUDA 大家应该都很熟悉,只要整点机器学习算法,想调用个 GPU,你肯定绕不过配置 CUDA 的折磨。
它的主要作用,就是把顶层程序员写的计算语言,翻译成芯片能看懂的底层机器语言,才能驱动芯片发挥作用,让数据在上面算起来。
而现在的市面上,可以说主流的顶层 AI 工具,像是 PyTorch,TensorFlow 等等,几乎都是对英伟达芯片和 CUDA 提供最佳支持。
我们日常用起来,只要在 python 里敲一个卷积计算 torch.conv,但背后对应的算子开发,可难度大得多。像是CUDA,要用上百行代码的底层运算,才可能实现一个 conv 算子。
英伟达体系从顶到底的层层翻译过程
那么问题来了,国产芯片刚诞生,还没有算子开发的积累,要是想用 pytorch 框架进行 AI 大模型训练,可不可以接上 CUDA 把这条路打通呢?
倒也不是不行,只不过 CUDA 写的时候没考虑你的芯片结构,就算强行兼容了也发挥不出国产芯片的最强性能。
于是,Tilelang 出现了。它的作用,就是帮国产芯片迅速打通从顶层AI工具,到底层国产GPU芯片之间的链路。
国产芯片(以昇腾为例)从顶到底的层层翻译过程
举个例子,国产芯片昇腾,要在 CANN 里实现一个卷积算子,程序员要考虑爆炸多的问题。
比如这个数据,现在放在很远的显存,我要不要把它拿过来放在寄存器随时用?怎么拿?什么时候拿?
各种数据调度、线程分配、资源访问等等问题加在一起,程序员就和那个国庆路口指挥交通的交警一样,头大,永远干不完的活儿。
几百几千行代码,才能实现一个卷积计算,还不一定是最优解,因为人总有考虑不周到的地方嘛。
而 Tilelang 的作用,就是把各种调度问题都给你自动化,不用人工考虑,它来帮你解决,还能解决得更好。
程序员不用再想数据放在哪,怎么取,占哪个线程,Tilelang 会自动帮你解决,你只要说想调个数据就行。
这直接利好国产芯片各种算子开发,因为用的代码更少,速度更快,效果还更好了。
而算子都开发好了,链路打通,国产芯片也就能无痛参与大模型训练了。
至于 TileLang 的能力到底有多强呢?其实看作者的头像就知道了。
好家伙,是二次元,稳了!
最后,差评君想说,虽然 3.2 的性能看着提升不大,但是正如它的名字写的那样:
Exp —— Experimental —— 实验性的。
这次的 3.2,其实更像是 DeepSeek 对过去实验成果的一次验收。
性能什么,甚至都不是最重要的东西,重要的是它真的验证了一些东西,是可行的。
之前一直在提的稀疏注意力,这次被成功在模型里用了起来,未来的大模型,上下文的能力或许会变得更强,能解决的问题或许也会越多。
之前一直诟病的显卡不够用的毛病也在逐渐好转,和国产的显卡厂商开始一起,摸索出一条绕过老黄的道路。
也就是在 DeepSeek 发布之后,寒武纪、华为昇腾、都表示了对 DeepSeek 的适配和支持。
大家在一起,形成了一个闭环。
方向有了,接下来就是要走多远,走多久的问题了。
所以。。。DeepSeek R2 发布的时间,会是元旦前么?
撰文:早起 & 莫莫莫甜甜
编辑:江江 & 面线
美编:焕妍
图片、资料来源:
DeepSeek 官网
Github
Attention in transformers, step-by-step | Deep Learning Chapter 6
https://tilelang.com/get_started/overview.html