位置编码学习

「大模型学习」(14)Long Context之线性插值、NTK-aware、Yarn、LongRoPE 大语言模型长上下文扩展中的位置插值技术 摘要:为解决大语言模型(LLMs)在推理阶段扩展上下文窗口时的位置编码限制,研究人员开发了一系列位置插值技术。这些方法主要针对旋转位置编码(RoPE)机制,通过不同策略调整位置索引以适应超出训练长度的上下文。典型方法包括:基础位置插值(PI)均匀缩放位置索引;NTK-aware插值对不同频率维度差异化处理;NTK-by-parts插值根据波长分段调整;Yarn插值结合温度调节;以及LongRoPE采用非均匀插值策略。这些技术在不修改模型结构的前提下,通过调整位置编码的 阅读详情

基本概念

  • 关于位置编码的一切:https://kexue.fm/archives/8130#T5%E5%BC%8F

残差连接

Post Norm

关注深度

  • 残差的意思是给前面的层搞一条“绿色通道”,让梯度可以更直接地回传,但是在Post Norm中,这条“绿色通道”被严重削弱了,越靠近前面的通道反而权重越小,残差“名存实亡”,因此还是不容易训练。

举个例子:假设初始状态下x,F(x)的方差均为1,那么x+F(x)的方差就是2,而Normalization操作负责将方差重新降为1

Pre Norm

关注宽度
每一条残差通道都是平权的,残差的作用会比Post Norm更加明显,所以它也更好优化。当然,这样最后的xl方差将会很大,所以在接预测层之前xl也还要加个Normalization。

Scale 缩放

  • NTK参数化:均值为0、方差为1的随机分布”来初始化,但是将输出结果除以m\sqrt{m}m​

  • 注意力机制中的缩放,使得q和k的方差为1
    在这里插入图片描述

熵不变性

  • ai,ja_{i,j}ai,j​是注意力的分布
    在这里插入图片描述

在这里插入图片描述

  • 因为当n较大时,缩放因子过大,会导致严重的梯度消失。
  • 但是对于长度具有比较好的外推性

直接外推

  • 输入的一些维度训练阶段设为0,推理阶段直接改为其他数字,这就是外推(Extrapolation)。
    在这里插入图片描述
    在这里插入图片描述
    外推的问题:
  • 训练阶段预留的维度一直是0,如果推理阶段改为其他数字,效果不见得会好,因为模型对没被训练过的情况不一定具有适应能力。也就是说,由于某些维度的训练数据不充分,所以直接进行外推通常会导致模型的性能严重下降。
  • 外推比内插确实需要更多的微调步数。

线性内插

在这里插入图片描述
线性内插的问题:

  • 当处理范围进一步增大时,相邻差异则更小,并且这个相邻差异变小集中在个位数,剩下的百位、十位,还是保留了相邻差异为1。换句话说,内插方法使得不同维度的分布情况不一样,每个维度变得不对等起来,模型进一步学习难度也更大。

进制转换 NTK

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

NTK-aware Scaled RoPE

  • 位置编码更依赖于序信息,而进制转换基本不改变序的比较规则
  • NTK-aware Scaled RoPE在不微调的情况下,也能在更长Context上取得不错的效果。
  • 神经网络无法直接学习高频信号,解决办法是要将它转化为Fourier特征

在这里插入图片描述

  • 把外推和内插结合起来——高频外推、低频内插
    在这里插入图片描述

实验结论:

  1. 直接外推的效果不大行;
  2. 内插如果不微调,效果也很差;
  3. NTK-RoPE不微调就取得了非平凡(但有所下降)的外推结果;
  4. 加入lognlognlogn来集中注意力确实有帮助。

小结一下

我们也可以从语言模型的局域性来考察这些方法。
所谓局域性,是指语言模型在推断下一个token时,明显更依赖于邻近的token。

  • 直接外推保持了局域性(0附近位置编码不变),效果差是因为引入了超出训练长度的位置编码;

  • 位置内插虽然没有外推位置编码,但扰乱了局域性(0附近位置编码被压缩为),所以不微调效果也不好;

  • 而NTK-aware Scaled RoPE通过“高频外推、低频内插”隐含了两者优点,保证了局域性,又没有明显外推位置编码,所以不微调也有不错的效果。


HWFA

局部的window attention

  • 感受野被限制在w内:由于每层的感受野被限制在w
    内,注意力机制的能力大大削弱

  • window attention缺少全局依赖性:我们对长度外推的期望其实不仅仅是“平移不变性”,而是“平移更好性”,也就是说越往后效果应该越好才对(比如In Context Learning场景,给的examples越多,效果应该越好),所以模型还应该要能捕捉全局依赖的能力。

分析:

  • Window Attention得到的结果本质上就是某种n-gram特征,只不过在多层堆叠之下这个n会变得比较大;
  • 而单层的Full Attention可以看作是某种“检索”(从query、key、value这些称呼就可以看出)和“融合”,它的规律相对来说比较容易分析
  • 单层(全)注意力可以通过增加lognlognlogn缩放因子来增强长度外推性的结论

Hybird Window-Full Attention

提出思路:

如果前面L−1层通过Window Attention获得了n-gram特征,最后一层可否替换为带logn因子的Full Attention来检索和整合这些特征,以弥补效果上的差距和获得全局依赖的能力呢?

在这里插入图片描述

深度学习模型的位置编码介绍 在深度学习中,Transformer 模型(如 BERT 和 GPT)中没有像 RNN 那样的序列结构,因此需要额外的方法来为序列数据引入位置信息。位置编码( 阅读详情

相关推荐

【深度学习】BERT 作为Transformer的Encoder 为什么采用可学习的位置编码

本文探讨了BERT模型在位置编码上选择可学习(learned)位置嵌入而非原始Transformer中的正弦/余弦(sinusoidal)编码的原因。主要分析了BERT选择learned positional embeddings的四大核心原因:实现与推理效率、固定最大长度、领域自适应能力以及参数代价微小。通过实验和社区实证,本文对比了两种编码方式在下游任务中的性能差异,发现learned编码在性能和资源消耗上更具优势。此外,本文还对比了其他主流模型如GPT系列在位置编码上的选择,指出BERT的设计选择符合

weixin_41645791的博客 1215

大模型长度扩展综述:从直接外推ALiBi、插值PI、NTK-aware插值(Meta称之为RoPE ABF)、YaRN到S2-Attention

下半年以来,我全力推动我司大模型项目团队的组建,我虽兼管整个项目团队,但为了并行多个项目,最终分成了三个项目组,每个项目都有一个项目负责人,分别为霍哥、阿荀、朝阳,有何问题 欢迎随时留言评论,thanks了解几种外推方案做了什么然后再顺着苏剑林文章的思路来看为什么这样做但总觉得不够深刻moe我有了解过GLaM,Mistral那边的没了解过打算了解下,估计也大差不差。

结构之法 算法之道 1万+

【大模型位置编码】2万5千字详解:Transformer 位置编码的演进历程:从正余弦到可学习,到相对位置,旋转位置RoPE,线性偏置ALiBi 与多模态到deepseek R1的位置编码

Transformer 模型需要注入位置信息来理解序列顺序。从原始 Transformer 采用的正弦绝对位置编码,到 BERT/GPT 等使用的可学习绝对位置嵌入,再到 Transformer-XL、T5 引入的相对位置编码,以及近年流行的旋转位置编码 RoPE 和线性偏置位置编码 ALiBi,位置编码技术不断演进。此外,在视觉和多模态模型中还发展出 2D/3D 位置编码方案。 本文将全面介绍这些位置编码方法产生的背景、数学原理、优缺点,并列举采用它们的中英文主流大模型(如 LLaMA、BLOOM、De

weixin_41645791的博客 2847

【笔记】大模型长度外推技术 NTK-Aware Scaled RoPE

直接外推会将外推压力集中在“高位(m较大)”上,而位置内插则会将“低位(m较小)”的表示变得更加稠密,不利于区分相对距离。而NTK-aware Scaled RoPE其实就是进制转换,它将外推压力平摊到每一位上,并且保持相邻间隔不变,这些特性对明显更倾向于依赖相对位置的LLM来说是非常友好和关键的,所以它可以不微调也能实现一定的效果。就是通过进制转换的思想,实现高频外推,低频内插。(声明:文章主要目的是记录学习,内容大多为各路大神的总结)

m0_53162279的博客 1732

论文阅读:LLM:NTK-Aware Scaled RoPE

将之前未见过的弧度也插入到见过的训练弧度范围内,以满足外推需求。旋转速度都会变慢,导致模型的高频信息缺失,从而影响模型的性能。位置越靠前的向量分组,旋转速度越快,频率越高,NTK方案希望保留这些高频信息。本文介绍PI的改进方案:NTK-Aware Scaled RoPE。其中第0分组的旋转弧度保持不变,最后一个分组的旋转弧度变为原来的。通过缩小每个位置的旋转弧度,每个位置的旋转弧度变为原来的。编码位置分组越靠后,旋转弧度缩小的倍数越大。,长度扩大几倍,则旋转弧度缩小几倍。作者认为编码分组考前的。

微风❤水墨 1313

transformer架构嵌入层位置编码之动态NTK-aware位置编码

(1)更强的外推能力:相比固定编码,在超长序列任务上表现更优(2)自适应分辨率:自动平衡短序列细节和长序列稳定性(3)训练友好性:平滑的频率变化有利于优化过程收敛(4)无需微调: 直接扩展上下文窗口(如从4k→32k)而无需重新训练。(5)兼容性: 可与现有RoPE模型(如LLaMA、GPT-NeoX)无缝集成。(6)平滑过渡: 插值策略避免位置索引的突变。

搏博的专栏 780

【深度学习】位置编码

位置编码(Positional Encoding)是在使用Transformer等自回归模型处理序列数据(如自然语言)时,为输入序列中的每个位置添加额外信息以体现其在序列中的相对或绝对位置的方法。:通过修改注意力机制本身来编码位置信息,例如通过在注意力得分计算中加入位置相关的项或使用特定的设计(如基于距离的注意力函数)来使模型在计算注意力权重时自动考虑词之间的相对或绝对位置。:与固定位置编码相反,可学习位置编码将位置信息编码为模型的可训练参数,每个位置对应一个单独的学习向量。:计算简单,无需额外训练;

Dong_ZH的博客 1283

【大语言模型 09】可学习位置编码 vs 固定位置编码:训练稳定性与性能权衡的深度分析

位置编码是Transformer架构的关键组件,直接影响模型理解序列位置信息的能力。本文深入对比可学习位置编码与固定位置编码的理论基础、训练特性和应用场景,通过详细的数学分析和实验对比,为开发者提供位置编码方案选择的科学指导。我们将从稳定性、适应性、计算效率等多个维度全面剖析两种方案的优劣,并介绍混合编码策略的实际应用价值。

熵数实验室 1424

一文快速理解位置编码:标准位置编码,可学习位置编码,旋转位置编码RoPE

Transformer需要位置编码是因为其自注意力机制无法捕捉序列顺序信息。标准位置编码使用正弦/余弦函数生成固定编码;可学习位置编码将其作为可训练参数(如BERT/GPT);旋转位置编码通过向量旋转表征位置,具有更好的相对位置表征和长度外推能力。三种方法各有特点,都是为了让模型准确理解词语顺序带来的语义差异。

m0_66237895的博客 1015

ABAQUS单元刚度矩阵输出全攻略:从理论到实践(含MTX/DAT文件对比)

本文详细解析了ABAQUS中单元刚度矩阵的输出方法,涵盖理论原理、MTX与DAT文件格式对比及二次开发应用。通过具体操作步骤和性能优化建议,帮助用户高效获取并利用刚度矩阵数据,特别适合需要进行有限元分析验证和二次开发的工程师。

lg888的博客 1006

DFT ATPG提升coverage的方法

采用更精确的故障模型,如桥接故障模型(用于描述电路中不应连接的节点之间的短路故障)和路径延迟故障模型(考虑信号在电路路径上的传输延迟),可以使ATPG工具生成更有效的测试向量来覆盖这些特殊故障。假设电路中有一个与门的输入引脚存在固定为0的故障(stuck - at - 0),D - 算法会分析与门的其他输入以及与门输出连接的后续电路逻辑,从而确定整个电路的输入值,使得当该故障存在时,电路的输出与无故障时不同。通过增加测试向量的类型,如功能测试向量和结构测试向量的结合,可以提高故障覆盖率。

Loving_enjoy的博客 969

【深度学习】Transformer 的常见的位置编码有哪些

Transformer 位置编码常见的方案有以下几种:三角函数位置编码(Sinusoidal PE),相对位置偏置(Relative PE),可学习位置编码(Learnable PE),RoPE(旋转位置编码),ALiBi(Attention Linear Bias)。现代 Transformer 模型更偏向于 RoPE 和 ALiBi,因为它们能适应更长的文本,并且提高了训练稳定性和泛化能力!

Suasy小易的博客 2502

Win10安装Nek5000

1 安装wsl 2 2 安装Nek5000 3 安装依赖项 4 安装openmpi 5 配置Nek5000 6 编译Nek5000 7 运行Nek5000算例 8 安装paraview并查看结果

weixin_43176703的博客 3451

机器学习—位置编码

Transformer结构使用位置编码是为了解决自注意力机制无法识别语序的问题。通过位置编码,模型能够区分不同位置的词向量,从而学习到序列的顺序信息。常见的编码方式包括:1) 原始Transformer的正余弦位置编码,通过周期函数生成独特编码;2) BERT的可学习位置嵌入;3) RoPE在自注意力中直接处理相对位置关系;4) Alibi通过简单的位置差值映射。这些方法都旨在为模型提供位置信息,使其能够理解词语的顺序关系,这对自然语言处理任务至关重要。实验表明,改变输入顺序会导致相同计算结果但不同位置输出

weixin_44379108的博客 409

7、布尔网络的基础定义

本文介绍了布尔网络的基础定义及其在系统生物学中的应用。布尔网络是一种描述复杂系统动态行为的数学模型,由布尔变量和布尔函数组成,能够模拟生物系统中基因调控、信号传导和细胞代谢等过程。文章详细阐述了布尔网络的基本结构、动力学特征(如状态转移图和吸引子),以及其在生物建模中的重要价值,并探讨了优化和简化技术(如Backward Boolean Equivalence)如何提升其计算效率。

yhn45678901的博客 264

动态规划之【树形DP】第3课:树形DP应用案例实践2

动态规划之【树形DP】第3课:树形DP应用案例实践2

王老师青少年编程 767

Trax中的位置编码:正弦余弦编码与可学习位置编码

在Transformer模型(Transformer)架构中,位置编码(Position Encoding)是至关重要的组件,它为模型提供序列中元素的位置信息。Trax框架(Trax)提供了多种位置编码实现,本文将重点解析两种常用类型:正弦余弦编码(Sin-Cos Positional Encoding)和可学习位置编码(Learnable Positional Encoding),并通过代码示例...

gitblog_00857的博客 882

黑猫带你学UFS协议第1篇:全网最全UFS协议中文详讲,这份学习框架图,你值得拥有!!!(持续更新中...)

本文由黑猫学长撰写,深入解析UFS协议,覆盖从基础概念到高级特性的全方位教程。适合存储芯片行业从业者和嵌入式开发者,旨在帮助读者快速掌握UFS协议,适用于高端智能手机、平板等智能设备。预计15万字,涵盖UFS 3.1协议,讲解UFS协议栈、物理层、链路层、传输层等内容。

黑猫奥利奥的博客 3700

深度学习基础理论————位置编码原理及其代码

随之而来,使用绝对位置编码存在一个缺陷(以第一种为例):每个token的位置编码都是固定的,这意味着每个词的位置信息是独立的,无法灵活地体现不同“单词”之间的相对距离。每一层的自注意力机制会结合相对位置编码,进而增强模型的上下文理解能力,尤其在处理长序列时,Transformer-XL 可以显著减少计算开销,并提高模型对长距离依赖的建模能力。论文中给出的算法例子如上图所示。位置编码用于在输入序列中标记每个单词或标记的位置,这有助于模型理解输入序列中各个部分的相对位置,从而更好地捕捉序列中的长距离依赖关系。

个人Blog 1259

一文搞懂鲸鱼优化算法Whale Optimization Algorithm(WOA)!!!(核心原理+数学模型+代码实战+实际应用)

本文详细介绍了鲸鱼优化算法(WOA)的原理与实现。该算法模拟座头鲸气泡网捕食行为,通过包围猎物、螺旋攻击和随机搜索三种策略平衡全局探索与局部开发。文章首先从生物学角度解释鲸鱼捕食行为,然后给出算法的数学模型和完整流程,包括关键公式和决策逻辑。最后通过Python代码实例演示如何求解Sphere函数最小值,展示算法的实际应用。WOA具有结构简单、参数少等优点,在工程优化、机器学习等领域有广泛应用前景。

qq_42212808的博客 1011

从零实现深度学习框架——自动求导神器计算图

本文介绍自动求导神器——计算图,从本篇文章开始介绍一个自定义的求导工具。

日积月累,天道酬勤 4199

【Transformer模型学习】第三篇:位置编码

位置编码详细介绍

使者大牙ℂypher的博客 3103

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

深度学习篇---位置编码

本文通俗易懂地介绍了一下Transformer中的位置编码。

在你不想做的时候,正是应该做的时候。 820

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

多模态大模型位置编码梳理笔记(一):绝对位置编码(正弦,可学习),相对位置编码(XL, T5, RoPE, ALiBi)

详细介绍绝对位置编码(正弦,可学习),相对位置编码(XL, T5, RoPE, ALiBi)

学习记录 1724

探索两种位置编码的原理与实现:基于学习的与正弦编码的比较

在深度学习中,位置编码(Position Encoding, PE)是一种通过显式添加空间位置信息来增强模型理解能力的重要技术。本文将通过一个测试用例,结合公式与代码解析 基于学习的绝对位置编码 与 正弦位置编码 的工作原理。我们将从理论推导到实验测试,逐步揭示两种位置编码方式的核心逻辑及应用场景。

qq_42754434的博客 1226

视觉Transformer位置编码终极指南:pytorch-image-models中的可学习位置编码技术

在深度学习领域,视觉Transformer模型正迅速改变着图像识别的格局,而位置编码作为其中的关键技术,在pytorch-image-models库中发挥着至关重要的作用。这个由Hugging Face维护的PyTorch视觉模型库提供了多种创新的位置编码实现,帮助模型理解图像中不同patch之间的空间关系。 ## 🔍 什么是位置编码? 位置编码是视觉Transformer中的核心组件,它向

gitblog_00834的博客 353
上一篇: 预训练任务
下一篇: RankCSE
银晗
博客等级 码龄6年 1万+粉丝 133原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值