DeepSeek开源力量爆发!Flash MLA登场,英伟达的精准刀法遇到重大挑战!

DeepSeek开源力量爆发!Flash MLA登场,英伟达的精准刀法遇到重大挑战!已关闭评论

DeepSeek开源周第一炮打响,这次英伟达可真的有的愁了。大家好,欢迎收听老范讲故事的YouTube频道。DeepSeek号称要做开源周,也就是在这一周里边,连续5天发布5个开源项目。那么第一炮打的是什么呢?这个产品叫Flash MLA,这是一个MIT协议的开源项目。待会我们再去讲什么是MIT协议。一天上来就直接获得了几千个星星,就是你把项目发布到GitHub上以后,如果有人喜欢的话会打一个星星。打了星星以后的话,这个项目未来有各种的更新和迭代,我们是会收到通知的。所以很多的开源项目,是用星星的数字来衡量自己项目的受欢迎程度的。

这个项目呢,其实对于绝大多数的使用者来说,短期之内是不会有影响的。什么叫短期?可能就是几个月的时间之内,不会有特别大的变化。但是,可能过了这几个月,这个变化就会逐渐的显现出来。英伟达这次到底能不能挺得住,是会变得好还是会变得坏?这就是我们今天要讲的故事。

英伟达面对Flash MLA这样的一个项目呢,应该有点哭笑不得。为什么呢?这个是必须在英伟达Hopper系列芯片上使用的一个技术,也就是离开英伟达芯片你跑不了。所以这玩意是给英伟达芯片再去做优化。但是呢,这里有个问题,英伟达的H100是被美国禁运的,中国是不可以购买的。中国只可以购买H800,也就是英伟达经过精准的刀法裁切以后的这个版本。它在H800的这个基础上呢进行了提速,这就是这一次的Flash MLA真正给出来的东西。

理论上的H100应该也可以提速,因为它都是Hopper的架构嘛。但是英伟达现在正在推的GB200,它就不是Hopper的这个架构了,它呢是Blackwell黑景架构的。那么在这个上面就不起作用,或者说没有经过Blackwell芯片的这种兼容性测试,不知道在车上好不好使。这种GB200的芯片,第一个现在到底有没有交货,或者交了多少了,其实谁也说不太清楚。

虽然这个山姆奥特曼说:“我在微软机房里看到了。”但是没有那么大的感觉说,这个东西真的改变了什么。第二个呢,就是中国不允许买嘛。既然不允许拥有GB200,那我凭什么去给GB200做优化?即使DeepSeek手里边有一些GB200,我做了优化了,那我也不能说出来。我不能告诉你说:“我偷了一个这玩意回来,我优化了再给你公布出来。”这个与理不合,对吧?这就是对于英伟达的一个小影响。这个东西上来以后,大家没有那么踊跃的去买GP200了,他还接着去买H100、H800去了。

还有一个问题是什么?就是H800的越狱的问题。美国政府限制的是什么呢?你这个东西算力有多少他其实不管,他主要管的是内存带宽,也就是GPU的芯片,跟GPU的这个HBM内存之间,每秒钟到底可以传多少数据。它是限制了这个东西。对美国政府给出的限制呢,是2000GB每秒,也就是两T每秒的这个速度。H100呢是3.35TB,肯定是已经超过了。H800呢,老黄精准一刀,它就是2TB的。虽然有的时候可能大家跑不到,但是人家的标称就是两TB,是符合出口要求的,可以卖给中国。现在上了Flash MLA之后,它的速度就提高到了3TB,这个就稍微有一点点尴尬了。这个以后到底还能卖还是不能卖,还是怎么办?我估计够老黄头疼一阵了。这个是为什么说,英伟达遇到了这样的一个Flash MLA以后,稍微有一点点哭笑不得。你确实给我的显卡做了提速了,但是提速完了以后呢,不太符合某些规定了。

那么说到这了,Flash MLA到底是什么?咱们这一块要后说,因为呢可能很多听故事的人,对于这一部分就没有那么大兴趣了。咱们尽量用简单的方式来讲。这个东西呢全称呢,叫高效多层注意力解码内核。这个名字反正有说没有懂,每个字都认识,放在一块不知道什么意思。他呢其实干了三件事。第一件事呢叫分页式间值缓存,这意思是什么呢?就是我们在内存里有很多的数据,本来我要去读这些数据的时候呢。

应该是叫随机读取。就是我得到一个地址,然后我到这个地址上,把这个数据读出来或者写进去。但是这样的话效率就会很差,为什么?因为你这个内存很大嘛。而且我今天分配了一块内存,待会我把这个内存释放掉了。如果是随机的去做的话,那就会出现很多碎片,不连续的这种内存会存在里头,这个会降低读写的速度。

Flash MLA说,咱们这样:以64个内存单元为一个页面,咱们进行分页管理。每一次我就不再分给你具体的多大多小的,我就是按多少页给你分。我想要多少字节的内存,或者多少位的内存,我原来是可以随便分的,现在不行,必须是64个数一页,你必须按整数页分。他用了这样的一个简单的方法,就可以极大的提高内存的分配、释放的效率,以及读写的效率,还可以极大地降低显存碎片的产生。就是你再产生碎片,也是64个数放在一块的一个碎片。这个对于未来的这种使用,就会方便很多。因为碎片这个东西有时候很讨厌,比如说我现在有一份文件,我这份文件的前5页存在一个地儿了,后3页存在一个地儿了,中间几页我再存在一个地儿了。等你需要取这数据的时候,要上三地去把这数据取出来,那这事不就费劲了吗?现在说,哎,我按整页算,哪怕你用不完我浪费一点,剩一块不要了没关系,但是我每次分配、每次释放都是一整页。那这个就是大家理解的,他干的第一个事。

第二个事是干嘛呢?他做了一个叫BF16精度的一个知识。咱们看很多的这种大模型,后边都是有一数,都是FB什么FB什么,FB32、FB16、FB8,甚至还有FB4的这样的数据。但是这一次呢,他玩了一个叫BF16,什么意思?咱们正常情况下呢去训练大模型都是用一个完整的浮点数,就是FP32。什么意思呢?f呢就是float,P呢是point,浮点32意思就是说,我这一个数是一个32位的一个空间。32位就是32个010101,这样放在一起这是一个数。在这个数里头呢有一位代表正负,有8位呢是代表指数。

剩下的23位代表的是精度。我们写很多的叫科学计数法,都是先是正的或者负的,然后是3点多少多多。这个是长度代表精度的,小数点后边越长,你精度就越高。最后乘上10的多少次方,一般代表浮点数是这样来写的。后边有8位是代表10的多少次方的,这个东西叫指数。有23位是代表精度,也就是点后边有多少位,再加上一个正负,这就是传统的FP32。

正常的一般使用的是FP16。就是你都用FP32去使用的话,等于你每一次进行比较,进行搬运,进行运算都很慢,而且非常非常消耗资源。所以呢,很多时候,这个大模型工作是工作在FP16的这个基础上的。FP16什么意思呢?它这个里头还是有一位是代表符号的,代表精度的是有10位,代表指数的有5位。这个呢就会发生一个问题,就是它的精度降低了。FB32那个是有23位代表精度的嘛,那这个只有10位了。还有一个很大的问题是什么呢?就是它的范围变小了。什么叫范围?就是乘以10的多少次方,这个数是它的范围。原来呢(FB32)是有8位来去代表范围的,现在呢(FB16)只有5位了,使得很多的模型的规模就会受到限制。

那么这一次呢,DeepSeek给出了这个东西叫BF16。它们呢使用的是什么?就是它的指数依然是8位,跟FP32这个是一样的。还有一位是代表符号,这个正负你必须还得留着。剩下的呢就剩的就比较少了,他只有7位来去代表精度。所以他把精度降低了,但是呢指向的这个数据范围,其实跟FP32是一样。它是通过这样的一个方式,让这个大模型可以在精度下降,但是呢指向范围不变的情况下去进行运作,效率有极大的提升。

这是第二个。第三个是什么呢?就是叫分块调度与并行计算。将计算任务分解为多个小块,进行并行处理,充分利用GPU的并行计算能力,提升吞吐量。这个就是刚才我们讲的3TB每秒的,这个GPU跟显存之间的带宽,就是从这里来的。实际上这一次主要就是给了这么三个东西。那你说这个东西算不算创新呢?

每一次中国人给出东西来,一堆人说:“哎呀,这个创新了,这个抄袭了。”首先要讲说灵感来自于叫Flash attention 2和3,以及有一个叫COT LASS这样的两个论文,或者两个开源项目,叫CUDA-LESS。CUDA-LESS应该也是CUDA上面做的一些什么优化的这种东西。这两个项目呢,是英伟达自家的开源项目,就是英伟达自己就把它开源了,然后也是MIT协议。咱们现在讲一下MIT协议什么意思,叫允许用户自由使用、修改和分发代码,但是需要在修改后的代码中或者软件中保留原来的许可声明。就是你可以拿着代码回来改,也可以自己去用,自己去分发,但是呢,我原来声明了,说我这是一个MIT的项目,你在新的软件里你必须要留着它。这一次的Flash MLA也是一个MIT协议的开源软件,所以呢它是完完全全符合开源规范和道德的一种创新。就是我从哪来的,引用写好了,我在这个基础上遵守原来的协议,我又把它开源了,大概就是这样。

那么说个人话吧,讲了这么半天这东西到底干什么呢?这数据到底怎么算呢?估计大家稍微有点头晕了,咱们讲一故事。比如说吧,有一家这个跑车的公司,我造跑车的,我出了很多很多的手册,告诉你这个跑车应该是怎么去做的,然后有哪些参数可以调整,如何去优化。有一大堆的修车厂,这些修车厂或者叫改车厂吧,他们呢会使用这些手册做一些车厂允许或者不允许的改装。你只要到改车厂了以后嘛,肯定有一些修改是超出车厂允许范围之外的,这个没有办法。修改完了以后呢,突然有一家特别大的这个改车厂决定把自己改车并且夺得冠军的方法给公开出来,这就是我们今天看到的东西。他们现在使用的Flash MLA这个东西,已经在这个DeepSeek自己家的服务器上得到验证了,说这东西确实好用,然后把这个拿出来了。那么其他改车厂呢,就可以拿着这个已经公开出来的这个标准继续跟进,接着往前跑了。现在麻烦是什么呢?

第一个修改方案是针对旧发动机的修改方案,那么它影响了新发动机的销售。然后,第二个方案在优化之后,与某些交管部门的规定相互冲突了。这就是这一次Flash MLA发布对于英伟达可能的一些影响。

那么,谁会用这个玩意呢?就是这个Flash MLA到底对什么样的系统有帮助?它主要是用于推理的,不是用于训练的。所以呢,它主要是优化VMRM系统,或者叫高效的大模型推理架构。像我们使用的各种聊天系统,实际上背后你都是要有一套这种推理架构,然后再去挂模型才可以用起来。包括像Mistra、XAI这样的,它们背后都是要有这样的推理架构的。

然后,一些小型的LM推理架构呢,可能也会有提升。比如像Huggingface、Transformers或者是Llama CPP,这些小型的系统应该也会得到优化。优化了以后的话,在原来的H系列的GPU上,甭管你是H100还是H800,你都可以极大的提升效率。

那你说对于国产和非英伟达系列的芯片,会不会有提升呢?很多人再去讲说英伟达的垄断被打破了,这个国产芯片看到机会了。首先咱们要讲思路可以借鉴,就是他给了你这样的一个思路。但是呢,要注意Flash MLA是基于CUDA干活的。前面他引用的说我借鉴了谁呢,也是借鉴了英伟达根据CUDA去做的一个开源项目的这个思路,在这个地方修改的。所以直接用是用不了的。

这周应该还会有很多有趣的东西要发布,通过开源的方式不断的打破封锁,打败这个精准的刀法。这就是我们这一周有可能会看到的东西。那么精准的刀法是怎么起作用的,大家知道吗?肯定呢是有大量的门会要关上,就是我设计这个项目的时候,里面一定有很多的开关和门。那我关上其中一部分的门,就可以实现刀法精准了。但是呢,大家去设计这个系统的时候,他不是为了关门设计的,还是为了提高效率设计的。所以有很多的论文开源项目,他都会去讲说我这个东西当时是怎么设计,为什么就能够提效。

这些东西都是公开的。大部分人其实是不会去读这些文档,即使是读了这些文档,也没有能力自己去修改这个东西。就像我们比如去买车,买完车的时候人家告诉我,这个发动机最高可以到什么样。或者说我去买这个电脑,人说这个电脑可以超频,可以去加液冷,可以进行改机,爆改都可以。但是我们谁真的买回电脑来去改吗?其实很少有人改这东西。但是总有一些人说,我们就去给你爆改电脑,给你个电脑CPU超频,给你去做这样的事情。做完了以后,我还给你公开出来,这个东西到底是怎么改的。

在最后呢,跟大家分享一个小故事吧。好会计和律师分几个阶段,可以去思考一下现在Deepseek在里边能够站到哪一位置。为什么讲会计和律师呢?都是在规则之下去工作的。他们在规则之下工作,但是呢又会不断的去接触很多灰色的东西。第一类就是最差的是什么呢?自己也搞不明白各种规则是怎么回事,还在这儿不懂装懂。其实大量的会计跟律师都是在这个层次上,就是你所有看那个说话特别强硬的,这种会计和律师,他一般都是掩盖他们自己的无知的。第二类呢就是自己也搞不太明白,但是呢还是愿意承认的,说这个事我可能稍微差一点,那个事可能也差一点,我们可以去问一下谁,或者怎么去讨论一下。我们见过的比较好一点的律师和会计呢,都是这样的,他不会把任何话给你说满。然后第三个是什么呢?就是相对来说要明白一点了,但是呢只会刻板办事,规定就是这样的,我不能给你改,那那个地方就是这样规定的,我不能给你动。再往后呢就是很明白了,而且可以利用各种规则的边缘,解决问题了。这个就是我们认为比较高端的会计师和律师了。当然最高端的是什么样呢?就是我不但可以利用这些规则把问题解决掉,还可以公开标准,修改和优化规则。这个是最高一级的。现在DeepSeek就已经站到最高一级了。这只是DeepSeek 5天开放周的第一天内容,让我们进一步期待这一周后面的四天到底都开源出。

一些什么东西出来。如果有一些比较有趣的,我自己还能讲得明白的,我会继续跟大家分享。好,这一期就跟大家讲到这里。感谢大家收听,请帮忙点赞、点小铃铛,参加Discord讨论群,也欢迎有兴趣、有能力的朋友加入我们的付费频道。再见。

Comments are closed.