三十三:Long Context~NTK-aware 插值自测题¶
来源:http://mp.weixin.qq.com/s?__biz=MzYyNTk3Njg1NA==&mid=2247484399&idx=1&sn=38d395236f9324daa295043170ddf274&chksm=f01eb096c769398033acea485b9f44544594e920b9ee659d19304232ef26e1bb6da4a233763f#rd
一、问题定义与 RoPE 复习¶
-
为什么 RoPE 公式可以计算任意位置,但模型仍然不能天然支持无限长上下文?
-
RoPE 中
inv_freq_i = 1 / base^(2i/d)的base、i、d分别表示什么? -
长上下文扩展的本质是修改 RoPE 的哪一部分映射?
-
直接外推 RoPE 的优点和缺点是什么?
-
为什么只改
max_position_embeddings不等于获得可靠长上下文?
二、线性位置插值¶
-
Position Interpolation 的核心公式是什么?
-
如果训练长度是 4096,目标长度是 32768,线性插值的缩放因子是多少?
-
线性位置插值为什么能缓解 RoPE 外推问题?
-
线性位置插值为什么会损失局部位置分辨率?
-
线性插值适合什么场景?不适合什么场景?
-
线性插值通常为什么需要少量长上下文微调?
三、β 进制理解¶
-
如何理解“RoPE 是一种 β 进制位置编码”?
-
在 β 进制视角下,高频维度和低频维度分别像什么?
-
线性插值和“改变进制”在直觉上有什么区别?
-
为什么 β 进制视角有助于理解 NTK-aware scaling?
四、NTK-aware 插值¶
-
NTK-aware scaling 的核心思想是什么?
-
NTK-aware 方法通常修改 RoPE 的哪个参数?
-
base_new变大后,不同频率维度会发生什么变化? -
为什么 NTK-aware 通常比线性插值更能保留局部位置能力?
-
请写出一种常见的静态 NTK-aware base scaling 公式。
-
请写出动态 NTK scaling 的常见工程形式。
-
动态 NTK scaling 为什么能让短输入保持原模型行为?
-
NTK-aware 的主要风险和实现坑有哪些?
五、工程与评估¶
-
实现 NTK-aware 时,公式中的
d应该用 hidden size 还是 rotary dimension? -
RoPE scaling 与 KV cache 之间有什么一致性要求?
-
为什么动态 NTK 在增量生成中可能带来 cache 问题?
-
如何评估 RoPE 插值方法是否有效?
-
为什么长上下文扩展后必须回测短上下文任务?
-
如果模型在 4k 内正常、16k 后回答混乱,你会怎么排查?
-
请比较直接外推、线性 PI、NTK-aware、动态 NTK 的优缺点。
-
请用一段面试表达完整解释 NTK-aware 插值。
-
请写一个伪代码函数,根据当前 seq_len 生成动态 NTK 的
base_new。预览时标签不可点<div class="