YARN

波长的引入

  • #card 在某个维度i下,波长被定义为:$\lambda_i=\frac{2 \pi}{\theta_i}=\frac{2 \pi}{b^{-2 i / d}}=2 \pi b^{2 i / d}$ ,因此,有如下结论:

    • 波长可描述为:在维度处嵌入的旋转位置执行全旋转 $2 \pi$ 所需的token长度。

    • 维度越高波长越长。

  • 波长描述了维度i处执行全旋转2π所需的token长度 #card
    image.png

  • YaRN 和 PI和NTK这种类型的插值方案区别 #card

    • 像PI和NTK这种类型的插值方案不关心波长的维数,可以将其称为“盲”插值方法(blind interpolation),因为它们面对所有RoPE隐藏维度没有做任何针对性的处理。

    • YaRN,可将其归类为“有针对性的”插值方法,即对RoPE的不同维度做出不同处理。

[[NTK-by-parts]](局部NTK)

+

YARN

  • YARN 在实际使用过程中,为了实现该公式,只需要将m位置和 $n$ 位置的旋转位置嵌入各自缩放为原来的 $1 / \sqrt{t}$ 即可。 #card
    image.png
作者

Ryen Xiang

发布于

2025-06-07

更新于

2025-06-07

许可协议


网络回响

评论