
新媒易动态
NEWS CENTER
NEWS CENTER
2025-02-20
模型练习以及推理,和“注意力”这个东西脱离不了关系。为了便利后文的阅览,对注意力进行一个简略的科普:
你可以想象,你在读一本书,你的目光会在书上扫来扫去,理论上说是逐行阅览对吧?
但实际上,只要是稍微喜爱阅览的人,阅览中的目光一定是图像式的,也便是说“目下十行”,会快速对某个区域的文本做一个阅读,几乎不可能是一个字,一个字读过去的。
注意力便是这里边对文字的专注捕捉,所以你是怎么目下十行的呢?很显然,你进行了越过,并只看了某些重点信息,你并不需要真的一个字一个字读过去
p.s,当咱们读英文的时候,却没有中文的这种速度,某种程度上便是注意力机制在跨语言的失效——咱们的大脑只练习了中文注意力,而英文注意力很单薄。
Get到了吧,这个时候就引入今天的主题:稀少注意力(Sparse Attention),即目下十行;而与之相对的是全注意力(Full Attention)。
事实上,稀少注意力不是一个首创的概念,但他存在若干问题:
① 大部分稀少注意力是用在推理阶段的,而不能用在练习,这就导致模型能力下降。诸葛亮读书只求大概,然后嘎嘎输出。成果我没用诸葛亮的读书办法,也想学诸葛亮嘎嘎输出,这就有问题了。
② 多数稀少注意力办法,要么是只集中于预填充阶段(Pre-fill),要么便是集中于解码阶段(Decoding),很少有两者都能搞定的。
以输入“你是谁”,模型答复“我是马丁”举例说明预填充和解码的区别
预填充:拿到输入“你是谁”,计算出“我”,这个过程中“你是谁”是一次性拿到的信息,所以他计算本钱高,要一次性算三个字,出一个字,但内存本钱低
解码:从“我”开端,预测出“我是”,“我是马”,“我是马丁”。这里边每次解码都要重新拿到前面算好的一切信息来预测下一个字。所以他的计算本钱很低,每次就出一个字,前面的也不用算。但是内存本钱高
在预练习阶段以及长文摘要,阅览理解这种推理任务上,预填充的压力大,在如R1或代码这种长输出的场景上,解码的压力大
DeepSeek-67B用的GQA,后来改为了自研的MLA)。
GQA便是把输入的Token们生成的向量分成N组,然后组内同享一个计算成果,这样本钱就下降N倍。
但是有些稀少注意力办法,他目下十行挑重点内容的时候,便是按Token挑的,例如从50个人里找1个帅的,成果50个人被GQA变成了5队。一个帅的VS1队,这单位就匹配不上了。
当然还有其他各种兼容问题,这只是其间一个例子。
① 我要一个能一起用在练习上和推理上的稀少注意力办法,这样模型的智力才不会下降!
② 我要可以一起作用在预填充阶段和解码阶段的办法,长文摘要的命是命,代码长输出的命也是命!为我发声!
我要可以兼容GQA、MQA这种计划的办法。一个本钱扣头还不够,我要来个折上折!
总归,物美价廉!
物美价廉的大方针确认了,DeepSeek开端尝试业内的各个学术计划
如ClusterKV,Quest,InfLLM等等,但不是本钱高,便是不好用
最终他们把他们一个用惯例全注意力办法练习的27B模型可视化了一下
看到里边橙色的东西没有,那便是Token的注意力分数。
他们发现在一些当地,好像注意力的分数是连续、聚类的!