AI在线 AI在线

Qwen和DeepSeek为何都选YaRN?

这篇文章,我们还是从面试官的视角出发,一起来分析一下,如果你在面试现场被问到这个题目,应该如何回答? 1.面试官心理分析首先还是分析一下面试官的心理,面试官问这个问题,主要是想考察三点:第一,你知不知道长度外推这个概念? 很多同学可能听都没听过这个概念,那这个问题当然也就无从答起了。

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

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 来做长度外推。

相关资讯

忘掉 DeepSeek:Qwen 2.5 VL 与 Qwen Max 来了

Qwen 系列又推出了两款令人瞩目的新模型:Qwen 2.5 VL 和 Qwen 2.5 Max。 如果还停留在“DeepSeek 是最强”那一档,就可能要重新考虑一下,因为这两款模型的实力相当惊艳。 什么是 Qwen 2.5 VL?
2/24/2025 8:10:00 AM
de

IBM 强化 watsonx.ai:DeepSeek-R1蒸馏版 Llama 模型上线

IBM 近日宣布,其 AI 开发平台 watsonx.ai 现已支持 DeepSeek-R1蒸馏版的 Llama3.18B和 Llama3.370B模型。 DeepSeek 通过知识蒸馏技术,利用 R1模型生成的数据对多个 Llama和 Qwen变体进行了优化,进一步提升了模型性能。 在 watsonx.ai平台上,用户可以通过两种方式使用 DeepSeek 蒸馏模型。
2/11/2025 2:25:00 PM
AI在线

国家超算平台推AI伙伴计划:三月免费开放DeepSeek API

国家超算互联网平台近日宣布启动"AI生态伙伴加速计划",面向企业用户推出一系列优惠举措,包括提供为期3个月的DeepSeek API接口免费使用权限,并配套千万卡时的算力资源池支持。 据了解,该平台已完成DeepSeek满血版模型镜像的部署工作。 目前平台已实现与全国14个省份超过20家超算和智算中心的互联互通,汇集各类算力商品逾6500款,其中AI模型服务近240款。
2/12/2025 9:28:00 AM
AI在线
  • 1