输入嵌入(Input Embedding):输入的文本序列首先被转化为词嵌入(word embedding),通常使用预训练的嵌入模型(如 Word2Vec、GloVe)或随机初始化的向量。为了保留序列信息,还会添加位置编码(Positional Encoding)。
多头自注意力机制(Multi-Head Self-Attention):通过注意力机制,模型能够动态关注序列中不同位置的单词。每一头都使用不同的权重矩阵(Query、Key、Value),并行计算注意力分数,然后通过线性变换合并。
前馈神经网络(Feed-Forward Network, FFN):每个注意力块后有一个全连接的前馈神经网络,用于非线性映射。FFN 的每一层通常由两个线性变换和一个激活函数(如ReLU)组成。
层归一化(Layer Normalization):在每一层之后,使用归一化技术来稳定训练并加快收敛。
跳跃连接(Residual Connection):在注意力和前馈网络之间引入残差连接以缓解梯度消失问题,并提高模型性能。
编码器-解码器结构(Encoder-Decoder Architecture):编码器(Encoder)提取输入序列特征,包含堆叠的多层注意力模块和 FFN 。而 解码器(Decoder)生成输出序列,同时接受编码器输出和自身序列的上下文。
:(那小编猜一下,那一定是多头自注意力机制下了很活
)
强啊),这使得基于自然进化在塑造人类记忆方面发挥的关键作用,它似乎类似地根据信息的终生有用性有选择地合并和主动修剪信息。
有点像文本水印影子,关于文本水印技术,在抬头有引用,感兴趣大家去看看技术。
一种神经卷积网络) 提供了多种进化算法可以迭代变异并选择性能最佳的模型,使团队能够优化 NAMM 的效率和性能,即使面对不可微分的操作也是如此。
(这就是端对端学习)。处理注意力序列:内存中每个标记的注意力值被转换为声谱图(一种基于频率的表示形式,已在音频、医学和地震学等领域得到很好的确立 高手想法)。
压缩信息:然后逐个元素指数移动平均数(EMA)压缩生成的表示( 将数据压缩为每个标记注意力值历史的紧凑、固定大小的特征摘要,白话理解成 Embedding)。
决定要记住什么:NAMM 使用这些特征作为其学习到的神经网络分类器的输入(用一个分数来决定要忘记哪些噪声标记,并允许转换器专注于与其任务最相关的信息, 白话理解注意力QKV的套路,可以看下小编这篇中间解析 Transformer,一文了解 2024 China 谷歌 IO AI 技术点)。
如下图,NAMM 执行中的上面说的三个主要步骤:从左图将注意力序列处理成频谱图然后用 EMA 压缩信息计算分数,最后到右边决定要记住的内容。
。这种机制有助于在保留最相关信息的同时,避免完全丢弃任何信息。
如下图,其中删除线就是需要被裁剪掉的。绿色区域是普通文本,橘红区域是 Coding)。相反,在自然语言任务中,NAMM 会忘记英语语法中存在的语法冗余导致的句子中间的许多标记,从而使 LM 能够专注于重要的名称和关键概念。
回顾一下,整体文献的改进主要是几个大措施达成的。记忆管理网络:NAMMs 通过引入一个学习型网络来管理记忆,优化了 Transformer 的性能和效率。这个网络能够根据不同层和注意力头的需要,提供不同的潜在上下文,专注于最相关信息。
进化优化:NAMMs 在预训练的 Transformer 模型上进行进化,以学习高效的记忆系统,从而最大化下游任务的性能。进化算法克服了记忆管理操作的非可微性,使得基于梯度的优化不再适用。
通用性:NAMMs 仅依赖于注意力矩阵中的值,使其能够通用应用于任何使用自注意力的模型。这种特性使得 NAMMs 可以在不同的 Transformer 架构之间进行零样本迁移。
性能提升:在多个长上下文基准测试中,NAMMs 实现了显著的性能提升,同时将模型的输入上下文减少到原始大小的一小部分。
零样本迁移能力:NAMMs 仅在语言任务上进行训练,但可以零样本迁移到全新的Transformer 架构,甚至跨输入模态,其好处扩展到视觉和强化学习领域。
特征提取:NAMMs 使用基于短时傅里叶变换(STFT)的特征提取方法,从注意力矩阵中提取频谱图表示,以压缩时间轴上的信息。
内存模型设计:NAMMs 设计了一个小的神经网络来输出每个KV缓存中的 token 的选择分数,并通过反向注意力记忆模型(BAM)实现跨token的信息共享。
增量进化:NAMMs 在长上下文语言建模任务的子集上进行进化优化,使用 CMA-ES优化算法,并在 Llama 3 8B 基础模型上应用 NAMMs。
NAMM 效果评估
。| 欢迎光临 链载Ai (https://www.lianzai.com/) | Powered by Discuz! X3.5 |