Qwen和DeepSeek为何都选YaRN?

人工智能
YaRN 可以直接和修改注意力机制的库兼容,比如 Flash attention,因此不会有额外的实现成本和推理成本。Flash 在目前的主流底层框架实现基本是标配了,所以这一点很重要。

这篇文章,我们还是从面试官的视角出发,一起来分析一下,如果你在面试现场被问到这个题目,应该如何回答?

1.面试官心理分析

首先还是分析一下面试官的心理,面试官问这个问题,主要是想考察三点:

  • 第一,你知不知道长度外推这个概念?很多同学可能听都没听过这个概念,那这个问题当然也就无从答起了。
  • 第二,deepseek 采用了哪种长度外推方案?面试官希望你能讲清楚这个外推算法的底层细节。
  • 第三,这种方案相比之前的方法,它好在哪里?这就更进一层了,需要你通过自己的理解总结概括一下。

好,那接下来我们就沿着面试官的心理预期,来分析一下这道题目!

2.面试题解析

首先回答第一层,什么是长度外推?

顾名思义,长度外推,就是不需要用长序列数据进行额外的训练,只用短序列语料对模型进行训练,就可以得到一个能够处理和预测长序列的模型,也就是我们所说的“Train Short,Test Long”。

那么如何判断一个模型能否用于长序列呢?最基本的指标,就是模型的长序列 Loss 或者 PPL 不会爆炸。

更加符合实践的评测,则是输入足够长的 Context,让模型去预测答案,然后跟真实答案做对比,计算 BLEU、ROUGE,LongBench 这几个指标。

然后回答第二层,deepseek 采用了一种叫 YaRN 的长度外推算法。

具体来说,YaRN 是基于 NTK-aware 方法的进一步拓展,通过结合温度缩放和 NTK-by-parts 插值,来提升长文本外推能力。

即 YaRN = NTK-aware + NTK-by-parts + Dynamic NTK。

然后我们看一下,这个算法是怎么做的。我们首先回顾一下 ROPE 的公式:

图片图片

从公式中可以看到,m-n 是相对位置的距离,θi 是旋转的频率。

那怎么理解这个公式呢?

我们知道,对于三角函数,不同取值本质上就等于在一个单位圆上的点。

如果 m-n 逐渐变大,也就是相对距离越来越远,则相当于在圆上旋转,如果 θ 越大,则代表在圆上旋转越快。theta 对应频率,根据频率和周期的关系,频率越大,周期越小。

我们来看这张图,左右分别代表一个大的 θ 和一个小的 θ 的旋转情况。大 θ 旋转超过一周了,小 θ 才旋转一个半圆。

图片图片

然后我们来看一下 YaRN 的核心思想,假设训练的长度是 L,那 m-n 的取值范围是 [0,L-1]。

θ 越大,则转速越快,也就是 m-n 从 0 到 L-1 的期间,已经转了很多圈,也就是说圆上的每一个点几乎都被训练过,这类 theta 不存在长度外推的问题。也就是对于高频信息,不动。

对于小的那些 θ,也就是 m-n 从 0 到 L-1 的期间,可能转了还没有一圈,圆上还存在很多空白。

那这种情况,如果测试长度 M 大于 L,则很有可能就超出了训练过的那一段圆弧,从而造成长度外推失败。

YaRN 的做法也很直接,直接把此时的 θ 压回到训练过的那一段圆弧范围内,这样就减少了实际预测时跑到空白的地方。也就是 θ 会乘一个缩放因子 L/M。

我们可以设一个圈数的阈值 τ,如果圈数超过 τ 的,就认为已经充分训练了,可以不加改动;

圈数少于 1 的,θ 改为 θ*L/M,也就是要把超出弧范围的重新缩放到弧内,至于二者之间的部分,就在两者之间线性插值过渡。

也就是论文这个公式所表达的含义:

图片图片

YaRN 的第二个点是解决线性内插导致的 self-attention 点积的值增大的问题。

由于线性内插会改变旋转向量转动的幅度,也就是隔得更近了。原来距离较远的 q,k 点积由于旋转幅度变小,他们的点积结果会增大,进而导致 Softmax 操作过于“锐化”,使得注意力分布集中于少数位置,削弱了模型对全局上下文的关注能力。

Yarn 在 NTK-by-parts 基础上,引入了注意力温度因子,来调整注意力分布。

我们看公式:

图片图片

3.总结

最后总结一下,这个算法有哪些优势呢?

首先,YaRN 可以直接和修改注意力机制的库兼容,比如 Flash attention,因此不会有额外的实现成本和推理成本。Flash 在目前的主流底层框架实现基本是标配了,所以这一点很重要。

第二个是效果拔群,YaRN 这个算法目前在各种大模型和和不同架构上对比实验表明,是一个非常强的 SOTA。

所以目前主流的大模型,如 LLaMA 的改进系列,Qwen2.5 和 DeepSeek,都选择了用 YaRN 来做长度外推。

责任编辑:武晓燕 来源: 丁师兄大模型
相关推荐

2025-02-24 08:10:00

2013-08-27 13:46:17

乔布斯盖茨微软

2025-02-14 09:50:00

DeepSeekAI

2018-07-31 12:04:00

显示器

2010-08-25 10:35:31

微软

2025-02-08 09:30:00

2025-05-06 00:35:33

2025-02-27 08:00:00

DeepSeek大模型人工智能

2010-08-26 17:24:47

2013-07-30 17:26:11

科技公司科技巨头IT公司

2009-09-23 18:15:15

wifi通信

2017-11-29 12:06:07

2025-02-08 11:31:17

DeepseekR1模型

2011-05-07 09:38:03

打印机耗材正品

2018-09-26 17:16:28

VR游戏体验虚拟现实

2025-04-01 08:10:00

JavaScripteval()函数代码

2025-02-10 11:11:47

2011-05-23 16:12:39

私有云

2025-05-23 09:05:00

2025-04-29 10:39:46

点赞
收藏

51CTO技术栈公众号