Engram论文笔记

原文在https://link.zhihu.com/?target=https%3A//github.com/deepseek-ai/Engram/blob/main/Engram_paper.pdf。

这篇论文出了一段时间了,刚出的时候没怎么看懂,现在结合知乎的高赞回答看了一遍,已经养肥了。

这篇文章写几个我比较感兴趣的点,又查了一点资料。

文章目录

对硬件发展的影响

这部分很多人讲了,可以理解成现在Engram发现可以将一些常用的知识做成外挂放到硬盘和内存中,相比于GPU内高昂的显存,CPU内存和硬盘实在是白菜价。目前还不确定当前内存涨价是不是这个原因。但可预期的是未来如果Engram的架构发展起来,内存又会成为AI的专宠,家用PC只能走向二手这条路了吗?

2-gram和3-gram

engram的思路来自于n-gram,因为大模型在推理的过程中是一个字一个字吐的,根据前面吐出来的所有字推理出下一个字。在AI的多层结构中的前面层,需要根据当前token和前面的信息,重建他们之间的关系(矩阵),然后才能着重进行推理。这就导致一些常用的短语在AI内还需要重新从一个一个字拼起来。engram就用了一套单独的网络结构,可以快速的通过查表的方式重建这些信息。

n-gram最早要追溯到香农的论文,可以理解成我们发现某个词与前面的几个词关系比较紧密,如果用一些常用的句子构成一个hash表,通过对其打表,就能实现根据当前字匹配前面的信息。这里的n就是查询的长度。比如我想查询某个词相关的句子,可以通过查询这个词的前面n个或者后面n个字,快速的查到表里存储的内容。n-gram有一个问题,就是n不能太长,否则匹配到的信息很少(我们不能把备选表做的特别大),可能出现查不到的问题。

Engram里面选了2-gram和3-gram一起用,也实验了4-gram,但是发现有负优化。两个gram匹配到的词通过拼接后过门控用Attention筛选。不得不说Attention真是大模型的宝库啊,任何需要选择的地方都可以通过Attention计算权重完成。

Engram采用的为什么是后缀?这里的后缀和前缀和我们经常理解的是相反的,这里的后缀指的是推理中吐出来这句话的最后2个或者3个词,这很好理解,我们在吐这句话的某个字之前,最关联的肯定不是这句话开头,而是当前这个字前面的内容(后面的内容还没生成)。

Engram应该插到哪些层?论文给出了答案,第2层和第15层。因为早期的层主要是做逻辑重建,在此处插入Engram可以尽早卸载这些静态模式的重建任务,让后续层专注于复杂推理。早期层的隐藏状态信息较少,门控机制可能不够精准,在中期层再次插入Engram,可以利用更丰富的上下文信息,让模型更智能地决定是否采用检索到的记忆。我认为这些数是可以具体tune的,但早期层确实不应该放在过早的位置(比如第一层),因为查表和从CPU内存load都需要开销,放在稍后面可以用部分层的计算掩盖掉开销。

对训练和推理的影响

训练的影响在于,如果我们的任务可以通过插入固定的知识到知识库里完成,就不需要微调了,(看起来有点像推理时插的prompt?)

Moe和Engram的发展,越来越推动某件看起来魔幻的事情发生:也即训练的时候模型可以掌握的信息更多,但推理的时候模型可以推的更快,效果更好。MLA算子本身通过训练时是MHA,推理时是MQA从算子层面解决了这个问题。Moe从训练过程中冗余大量专家,推理过程中选择性激活,从计算角度解决了这个问题。Engram从训练过程中存储大量知识,但推理过程中选择性加载解决了这个问题。总体的思路都是实现稀疏化。

实验方法

论文提到了消融实验的思路,也即通过砍去某个部分看砍了前后的效果变化从而证明这部分的重要性。看起来是一种很有意义的实验方法。

相关推荐
handsomestWei1 天前
华为昇腾DeepSeek模型部署
昇腾·ascend·huawei·大模型部署·deepseek
正在走向自律2 天前
第二章-AIGC入门-AIGC工具全解析:技术控的效率神器,DeepSeek国产大模型的骄傲(8/36)
人工智能·chatgpt·aigc·可灵·deepseek·即梦·阿里通义千问
HyperAI超神经2 天前
【TVM教程】理解 Relax 抽象层
人工智能·深度学习·学习·机器学习·gpu·tvm·vllm
DS随心转插件2 天前
手机怎么把豆包全部对话导出
人工智能·ai·智能手机·deepseek·ai导出鸭
逻极3 天前
Windows平台Ollama AMD GPU编译全攻略:基于ROCm 6.2的实战指南(附构建脚本)
人工智能·windows·gpu·amd·ollama
AC赳赳老秦3 天前
OpenClaw实战案例:用1个主控+3个Agent,实现SEO文章日更3篇
服务器·数据库·python·mysql·.net·deepseek·openclaw
AC赳赳老秦3 天前
OpenClaw阿里云部署实操:多Agent协同,打造云端自动化工作流
人工智能·阿里云·数据挖掘·自动化·云计算·deepseek·openclaw
humors2214 天前
AI工具合集,不定期更新
人工智能·windows·ai·工具·powershell·deepseek
AC赳赳老秦5 天前
OpenClaw二次开发入门:自定义技能,适配自身工作需求
服务器·数据库·python·mysql·django·deepseek·openclaw
Flying pigs~~5 天前
主流大模型介绍(GPT、Llama、ChatGLM、Qwen、deepseek)
gpt·chatgpt·llm·llama·moe·deepseek·混合专家模式