Yi icon indicating copy to clipboard operation
Yi copied to clipboard

如何从4k扩展到200k

Open guanghuixu opened this issue 1 year ago • 4 comments

看代码好像没使用ntk?是依靠rope硬拓展,在200k数据上微调?

guanghuixu avatar Nov 08 '23 13:11 guanghuixu

同问,我看代码应该是用了ntk,因为base参数是500w,一般4k训练时用的都是1w吧? 我感到疑惑的是没拓展context的模型的base参数也是500w,并且声称是外推4k->32k,这合理吗?如果长度只拓展8倍,为什么要设置base为500w(而不是大约8w)呢?

TissueC avatar Nov 09 '23 09:11 TissueC

同问,我看代码应该是用了ntk,因为base参数是500w,一般4k训练时用的都是1w吧? 我感到疑惑的是没拓展context的模型的base参数也是500w,并且声称是外推4k->32k,这合理吗?如果长度只拓展8倍,为什么要设置base为500w(而不是大约8w)呢?

请问一下哪里有哦 我怎么看模型sft的代码完全没看到哪里有涉及修改模型位置编码的地方(?

AresXD avatar Nov 21 '23 02:11 AresXD

同问,使用Yi-34B-chat已经lora精调完了,最好能再不用再次训练的基础上适当外推到8k就可以,那就太好了!

xiabo0816 avatar Feb 26 '24 13:02 xiabo0816

查了一些资料,说是使用rope_scaling参数可以开启ntk-rope

xiabo0816 avatar Feb 27 '24 09:02 xiabo0816

首先目前大部分的开源LLM选用的rope base是10000,比如我们的Yi-9B。至于像6B/34B-200K这样针对long context场景的模型,我们参考了dynamic NTK的实现,将rope base调大到5m甚至10m继续训练,来获得外推到200k及以上窗口长度的能力。更详细的解读请参考https://zhuanlan.zhihu.com/p/660073229

Yimi81 avatar Mar 31 '24 08:03 Yimi81

@Yimi81 你好,感谢解释。想问下,Yi-200K系列的在调大base之后,对长数据进行继续预训练的实际长度能到多少呀?技术报告是这么写的: “To adapt the base model to longer context, we continue pretrain the model on 10B tokens from our pretraining data mixture with slightly upsampled long sequences, mostly from book.“ “We implement and improve computation-communication overlap- ping, sequence parallelism, and communication compression to support up to 200K context length continue pretraining and finetuning” 这里实际训练到的最长长度大概是多少呢,是直接到200K吗,还是较短的长度,依靠一些外推能力来实现200K?毕竟是调大了base

YouYouCoding avatar Apr 01 '24 11:04 YouYouCoding

@YouYouCoding 具体细节我也不清楚,我倾向于是后者,即较短的长度(32k?),依靠一些外推能力来实现200K。可以参考一下report中参考文献22,87

Yimi81 avatar Apr 01 '24 15:04 Yimi81

@Yimi81 感谢回复,谢谢!

YouYouCoding avatar Apr 02 '24 02:04 YouYouCoding

数据配比中大部分的文本长度 > 200K, 比如书籍、拼凑的网页内容、拼接 repository 内的所有的code。 可以选择逐步从 4k 到 200K, 也可以选择 4k 直接到 200K 训练,这里是训练效率的取舍,可以参考这篇论文https://arxiv.org/abs/2402.08268

itsliupeng avatar Apr 02 '24 02:04 itsliupeng