问题背景:大模型的外推性问题

1.什么是大模型的外推性:

  • 大模型的外推性问题是指大模型在训练时和预测时的输入长度不一致,导致模型的泛化能力下降的问题。在目前的大模型中,一般指的是超出预训练设置的上下文长度时,依旧保持良好推理效果的能力。

  • 这个问题很重要,因为它关系到大模型的理论完备性和训练实用性。如果大模型能够在不同长度的输入上表现一致,那么它就更接近一个理想的模型,也可以节省训练成本和资源

2. GPT3—绝对位置编码带来的问题:

  • 绝对位置编码:绝对位置编码是一种将位置信息直接嵌入到序列的表示中的方法,它可以是可学习的或者固定的。
  • 绝对位置编码的问题:如同其原理一样,绝对位置编码的一个主要缺点是缺乏外推性,即如果训练时的最大长度为2048,那么预测时就只能处理长度为2048以内的序列,否则就会出现位置编码不匹配或者缺失的问题2048。

3. 绝对位置编码——>Rope等相对位置编码,真的解决外推性了吗?

  1. 首先介绍一下ROPE编码:

ROPE是一种旋转式位置编码,它是一种相对位置编码,可以在计算注意力分数时考虑两个token之间的相对位置,而不依赖于绝对位置。ROPE的特点是其使用了旋转矩阵来表示位置信息,具体来说,它将每个单词的嵌入向量乘以一个与其位置相关的旋转矩阵,从而得到一个新的嵌入向量。该位置编码也是LLaMA等目前使用较多的大语言模型所在使用的。

其主要有如下优点:

  • ROPE可以很好地保持单词之间的相对距离信息,因为旋转矩阵之间的夹角就是两个单词之间的相对距离。而且旋转矩阵之间的夹角是线性变化的,所以ROPE可以更均匀地反映相对距离。
  • ROPE可以很好地与相对注意力机制结合,因为它只需要计算两个单词之间的相对位置编码,而不需要存储或查询所有位置编码。这样可以减少计算和存储开销,并提高效率。
  1. ROPE可以解决外推性问题吗?

这个问题的答案是,可以而又不可以
从原理上来说,ROPE是可以解决外推性问题的:

  • ROPE不需要预先定义一个位置编码表,它可以根据位置生成位置编码,而不受长度限制。更详细的讲,ROPE可以很好地处理超过训练长度的序列,因为旋转矩阵是无限可扩展的,并且不会出现重复或冲突。而且旋转矩阵是正交变换,所以它不会改变嵌入向量的长度和方向,只会改变其在空间中的位置。

但事实上,ROPE并不能解决外推性问题:

  • 通过实验可以发现,在预训练长度为L(以LLaMA为例),假设L=2048的情况下,即使使用了ROPE位置编码在序列2048以外的数据上进行进一步精调,但是由于预训练时对于EOS token的Skew 分布已经形成了“偏好”,因此即使使用了超出2048以外长度上的数据,假设为2L=4096,甚至更长的数据上进行精调,也很难在推理中将上下文扩展到想要的长度。
  • 根据笔者经验,即使使用4096长度数据去微调模型,LLaMA模型在推理时,扩展到的上下文也仅会略微超过2048,并不能将其扩展到4096中。

本篇背景介绍了大模型的外推问题,以及一些位置编码的简要科普,具体深入相关基础读者可以查看论文或者网上其他博客进行学习。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值