【LLM】浅谈 StreamingLLM中的attention sink和sink token

前言

Softmax函数

SoftMax ( x ) i = e x i e x 1 + ∑ j = 2 N e x j , x 1 ≫ x j , j ∈ 2 , … , N \text{SoftMax}(x)_i = \frac{e^{x_i}}{e^{x_1} + \sum_{j=2}^{N} e^{x_j}}, \quad x_1 \gg x_j, j \in 2, \dots, N SoftMax(x)i=ex1+j=2Nexjexi,x1xj,j2,,N

Softmax 通常用于多类别分类问题中的输出层。在这个公式中,给定一个输入向量 ( x = [ x 1 , x 2 , … , x N ] x = [x_1, x_2, \ldots, x_N] x=[x1,x2,,xN] ),Softmax 函数将其转化为一个概率分布 ($ p = [p_1, p_2, \ldots, p_N]$ )。每个元素 $p_i KaTeX parse error: Can't use function '\(' in math mode at position 10: 表示该样本属于第 \̲(̲ i KaTeX parse error: Can't use function '\)' in math mode at position 1: \̲)̲ 类的概率。 e^{x_i}$ 表示输入向量中第 ($ i $) 个元素的指数,而分母部分是所有元素的指数之和。这样的设计确保了输出概率分布的归一性,因为指数函数的性质使得所有元素都为正数,而分母的和则确保了概率总和为 1。

x 1 ≫ x j , j ∈ 2 , … , N x_1 \gg x_j, j \in 2, \ldots, N x1xj,j2,,N 时,输入向量的第一个元素 x 1 x_1 x1 往往会远远大于其他元素,这可以帮助模型在分类时更明确地选择一个主要的类别。

attention sink

文中提到:语言模型(LLMs)在注意力机制中存在过度关注初始令牌(initial tokens)的现象。从以下两个角度探索下。

softmax角度

在SoftMax函数中, e x i e^{x_i} exi是指数函数,这意味着即使输入的初始令牌 ( x 1 x_1 x1) 在语义上与语言建模不相关,由于指数函数的存在,SoftMax 函数的输出中它仍然会有一个非零的值。因此,模型在进行自注意力机制时,即使当前的嵌入已经包含了足够的自包含信息用于预测,模型仍然需要从其他头和层中的其他令牌中汇聚一些信息。结果,模型倾向于将不必要的注意力值“倾泻”到特定的令牌上,这就是所谓的attention sink(注意力汇聚)。

在这里插入图片描述

  1. 局部模式在前两层中的呈现: 在第一层和第二层(layers 0 和 1),注意力图呈现出“局部”模式,即对最近的令牌给予更多的关注。这表明模型在初步的处理阶段更注重周围的令牌,强调了局部上下文的重要性。
  2. 模型跨所有层和头部(heads)都强烈关注初始令牌: 在底部两层之外,也就是深层网络中,模型在所有层和头部都倾向于强烈关注初始令牌。这与“attention sink”现象相吻合,即模型在处理过程中过度关注初始令牌,而 SoftMax 函数的特性是导致这种现象的原因之一。

自回归模型角度

由于自回归语言建模的顺序性质初始令牌对所有后续令牌都是可见的,而后续令牌只对一组有限的后续令牌可见。因此,初始令牌更容易被训练成注意力的聚焦点,捕捉到不必要的关注(在训练中可能导致模型过度集中注意力,捕捉到一些在语言建模任务中并不重要的信息。)。如何理解呢?

  1. 自回归性质: 这些模型是自回归的,即它们根据之前生成的令牌来生成下一个令牌。在这个过程中,初始令牌是最早生成的令牌,因此在生成整个序列的过程中,它对所有后续令牌都是可见的。

  2. 可见性的不对称性: 由于模型是按顺序生成令牌的,初始令牌在生成序列的整个过程中一直是可见的,而后续令牌只能被生成的一小部分令牌所看到。这种不对称性导致了对初始令牌更强烈的关注。

  3. 训练中的注意力聚焦点: 由于模型在训练过程中学会了将注意力集中在初始令牌上,这些令牌更容易成为“attention sink”,即吸引不必要的注意力。这可能是因为初始令牌在训练中更频繁地与后续令牌发生交互,从而更容易捕捉到一些模型认为重要的信息。

sink token

Q:如何卸载模型过度关注初始令牌的注意力得分?

A:引入一个专门的“汇聚标记(可学习的占位符令牌)”(sink token)来卸载过多的注意力得分。由于这一点,模型无意中将全局可见的令牌,主要是初始令牌,作为注意力的聚焦点。提出的潜在解决方案有两个:

  1. 引入全局可训练的注意力汇聚标记(Sink Token): 有意地引入一个全局可训练的注意力汇聚标记,即“Sink Token”。这个标记的作用是作为一个储存不必要注意力分数的仓库。通过这种方式,模型可以有一个指定的位置,用于处理额外的注意力,避免过度关注全局可见的令牌,特别是初始令牌。

  2. 替代传统的 SoftMax 函数: 用 变体函数( S o f t M a x 1 SoftMax_1 SoftMax1 )替代传统的 SoftMax 函数。变体的公式如下:
    SoftMax 1 ( x ) i = e x i 1 + ∑ j = 1 N e x j \text{SoftMax}_1(x)_i = \frac{e^{x_i}}{1+\sum_{j=1}^{N} e^{x_j}} SoftMax1(x)i=1+j=1Nexjexi
    与传统的 SoftMax 不同, S o f t M a x 1 SoftMax_1 SoftMax1 不要求所有上下文令牌的注意力分数总和为一(具体而言: S o f t M a x 1 SoftMax_1 SoftMax1 通过修改分母中的求和项,使其不再求和到所有元素,而是到 ( N N N)(元素总数)前一个元素。具体而言,公式中的 ( 1 + ∑ j = 1 N e x j 1+\sum_{j=1}^{N} e^{x_j} 1+j=1Nexj) 不再求和到 ( j = N j=N j=N),而是求和到 ( j = N − 1 j=N-1 j=N1)。)。那么这种修改有什么效果?

    • 减缓数值爆炸的风险: 通过避免对所有元素的指数求和, S o f t M a x 1 SoftMax_1 SoftMax1在一定程度上减缓了数值爆炸的风险,使模型在数值上更加稳定。

    • 降低对其他元素的依赖: 这个修改使得最大的元素不再对分母的求和贡献,减少了其他元素相对于最大元素的影响,使模型对其他元素的变化更为鲁棒。

    这种变体可能也是一种有效的解决方案。文中将其标记为“Zero Sink”,因为它相当于在注意力计算中使用具有全零关键(Key)和值(Value)特征的令牌。

在这里插入图片描述

这些可视化结果基于 256 个句子,每个句子包含 16 个令牌。左边是使用 Sink Token 的模型,右边是没有使用 Sink Token 的模型。两个图表显示相同的层次和头部。

  1. 没有 Sink Token 的情况: 在没有 Sink Token 的模型中,底层显示出局部关注,而在更深层次上,模型更加关注初始令牌。即模型容易在深层次上过度集中注意力在初始令牌上。

  2. 有 Sink Token 的情况: 在有 Sink Token 的模型中,可以清晰地看到在所有层次上都有关注它的明显现象,有效地聚集冗余的注意力。这表明 Sink Token 成功地成为一个注意力的集中点。

  3. 有 Sink Token 时对其他初始令牌的关注减少: 在存在 Sink Token 的情况下,相对较少的注意力被分配给其他初始令牌,支持了将 Sink Token 指定为提高流式性能的设计优势。

总结

本文介绍了关于 StreamingLLM中提到的关于attention sinks和sink token的原理。在原文中提到,通过引入“attention sinks”与最近的令牌配对,能够高效地处理长度达 4 百万令牌的文本。还通过使用具有专门的 sink token 的预训练模型,以此提高流式应用部署的性能。

更多实验细节有兴趣关注原文。

参考文献

【1】Efficient Streaming Language Models with Attention Sinks,https://arxiv.org/abs/2309.17453

【2】code:https://github.com/mit-han-lab/streaming-llm

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
毕业设计,基于SpringBoot+Vue+MySQL开发的公寓报修管理系统,源码+数据库+毕业论文+视频演示 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集处理数据信息的管理方式。本公寓报修管理系统就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大的数据信息,使用这种软件工具可以帮助管理人员提高事务处理效率,达到事半功倍的效果。此公寓报修管理系统利用当下成熟完善的Spring Boot框架,使用跨平台的可开发大型商业网站的Java语言,以及最受欢迎的RDBMS应用软件之一的MySQL数据库进行程序开发。公寓报修管理系统有管理员,住户,维修人员。管理员可以管理住户信息和维修人员信息,可以审核维修人员的请假信息,住户可以申请维修,可以对维修结果评价,维修人员负责住户提交的维修信息,也可以请假。公寓报修管理系统的开发根据操作人员需要设计的界面简洁美观,在功能模块布局上跟同类型网站保持一致,程序在实现基本要求功能时,也为数据信息面临的安全问题提供了一些实用的解决方案。可以说该程序在帮助管理者高效率地处理工作事务的同时,也实现了数据信息的整体化,规范化与自动化。 关键词:公寓报修管理系统;Spring Boot框架;MySQL;自动化;VUE
LLM(基于学习的管理方法)是一种在智能决策广泛应用的方法。LLM适用于各种领域,如金融、医疗、交通等。 首先,LLM利用机器学习算法对大量数据进行分析和预测。它可以通过学习历史数据的模式和趋势,将其应用于决策问题。通过分析数据,LLM可以发现隐藏在大量数据的规律和关联,为决策提供有力的支持。例如,在金融领域LLM可以分析市场数据、企业财务报表等信息,预测股票的涨跌趋势,从而帮助投资者做出明智的投资决策。 其次,LLM还可以进行优化和调整。它可以不断学习和改进,根据反馈信息进行自适应调整。通过与环境的互动,LLM可以不断优化模型,并根据情况调整决策策略。例如,在交通管理LLM可以通过分析交通流量数据,根据实时情况调整路线规划,降低交通拥堵,提高通行效率。 此外,LLM在智能决策的应用还包括风险评估、问题诊断和策略制定等方面。通过对历史数据和现有情况的分析,LLM可以预测潜在风险和问题,并提供相应的策略和措施。例如,在医疗领域LLM可以通过分析患者的病历和病情数据,预测患者的病情发展趋势,帮助医生制定更准确的治疗方案。 综上所述,LLM在智能决策的应用广泛且重要。它利用机器学习算法对大量数据进行分析和预测,为决策提供有力的支持。同时,LLM还可以进行优化和调整,根据环境的变化不断改进决策策略。LLM的应用可以提高决策的准确性和效率,在各个领域发挥重要作用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值