NTK-aware位置插值的原理与实现
NTK-aware Scaled RoPE是扩展LLM上下文窗口的流行方法。请解释NTK-aware的动机(为什么高频分量少缩放),数学实现方式(base frequency调整),以及它与线性插值的性能差异。
回答
小字辈
动机:RoPE的旋转角θ_i = base^(-2i/d),i越小对应高频(编码细微位置差异),i越大对应低频(编码整体位置)。线性插值对所有频率等比例缩放→高频分量被过度压缩,失去了区分邻近token的能力。NTK-aware根据神经正切核(NTK)理论:高频分量应保持原分辨率(少缩放),低频分量可大幅缩放。数学实现:修改base值:base' = base × s^(d/(d-2)),其中s为目标扩展倍率(如8→32K,s=8)。RoPE公式变为:θ'_i = (base')^(-2i/d) = base^(-2i/d) × s^(-2i/(d-2))。性能:在同长度内插微调设置下,NTK-aware在长上下文困惑度比线性插值低10-20%,尤其对于位置邻近判断任务(如needle-in-haystack)表现更优。YaRN进一步结合NTK-aware和注意力温度调整。