大模型外推是目前业内十分关注的问题,通过在4k的数据上做预训练,然后使用16k或者32k的文本进行长文本的继续预训练实现长文本功能。

那么如何修改RoPE的位置编码来实现长文本的外推性呢?

业内的普遍做法是替换RoPE的base 10000为更大的值以获取更慢的旋转频率,则可以表示更大范围seq_len的位置。

文章贡献:

  • 1 本文作者发现使用相比origin RoPE base 10000的做法,更小或者更大的base都会提升模型的外推性能。
  • 2 提出基于RoPE外推的缩放定律,从周期的角度来描述外推性能和base以及上下文长度之间的关系。
  • 3 本文作者在base 1000000的基础上使用4k Tuning Train实现了100K的上下文,在base 500的基础上使用16k Tuning Train实现了1M的上下文。

1 base reduce and increase

在增加base和减少base的过程中,出现了很有意思的现象。

增加base后,虽然性能稳定增加,但是出现了性能上界。

减少base后,虽然性能增加的幅度没有增加base快,但是没有出现明显的断点,这表明小的base有扩展到无限上下文的潜力。

 

Related Post