RoPE超长序列"角度发散→注意力崩溃"用"时钟类比+精确数值计算"把这个问题讲透,让你一眼看懂为什么训练见过4k,遇到32k就会彻底乱套。一、先给一个10秒就能懂的类比把RoPE想象成一个12小时制的时钟:模型训练时只见过0点到4点的时间它学会了:“时针在1附近就是1点左右,在2附近就是2点左右”当突然出现下午5点(17点),时针指向5,模型从来没见过这个位置它会本能地认为:“这是早上5点”,而完全不知道已经过了12个小时更糟的是,下午1点(13点)的时针和早上1点完全一样,模型会把它们当成同一个时间RoPE的"角度发散"本质上就是这个问题:三角函数是周期函数,大角度会"绕回"到模型见过的小角度范围,但对应的实际位置已经天差地别。二、极简数值示例(d=2,训练max_len=4)我们用最简单的2维RoPE来演示完整过程,所有数值都精确计算,你可以自己验证。前提条件嵌入维度d=2(只有1个二维子空间)训练时最大序列长度=4(模型只见过位置0、1、2、3、4)RoPE角度公式:θ(pos) =