位置插值训练数据相关咨询
KyrieXu11 opened this issue · 5 comments
KyrieXu11 commented
提交前必须检查以下项目
- 请确保使用的是仓库最新代码(git pull),一些问题已被解决和修复。
- 我已阅读项目文档和FAQ章节并且已在Issue中对问题进行了搜索,没有找到相似问题和解决方案。
- 第三方插件问题:例如llama.cpp、LangChain、text-generation-webui等,同时建议到对应的项目中查找解决方案。
问题类型
其他问题
基础模型
Others
操作系统
Linux
详细描述问题
各位大佬好,因为在discussion区提问没有得到回复,所以在issue区也提一个,请各位大佬见谅。
我这边有个模型现在有8k的上下文长度,如果我想扩展到16k的长度,已经使用ntk直接推理测试过,但是想用线性插值训练一下模型测试看看,线性插值的代码已经实现。
所以想请教一下下面的几个问题:
- 添加位置插值之后,训练的方式是sft还是增量预训练?
- 添加位置插值之后,训练的语料长度一般为多少更合适?如现有模型是8k的话,目标是将模型的context length训练到16k,训练语料长度是否16k?
- 使用位置插值训练,参考PI这篇论文的说法,在千步级别的steps即可达到很好的效果,所以想要学习一下大佬的经验,Chinese-LLaMA-Alpaca的位置插值训练的时候,训练了多少个steps?
- 训练的数据如果是开源的话,请问能给个地址吗?
依赖情况(代码类问题务必提供)
# 请在此处粘贴依赖情况(请粘贴在本代码块里)
运行日志或截图
# 请在此处粘贴运行日志(请粘贴在本代码块里)
ymcui commented
- 是增量预训练还是SFT,取决于你的基模型是什么类型。
- 原则上,你扩到多少长度就准备多少长度的数据。
- 不同模型之间没有参考性,建议你自行设置valid set观察PPL或者在长文本任务上观察指标变化。
- 暂不开源。
KyrieXu11 commented
- 是增量预训练还是SFT,取决于你的基模型是什么类型。
- 原则上,你扩到多少长度就准备多少长度的数据。
- 不同模型之间没有参考性,建议你自行设置valid set观察PPL或者在长文本任务上观察指标变化。
- 暂不开源。
好的,谢谢大佬解答。
请允许我再问一个小白问题:
如果我的基座模型是base模型,就应该使用增量预训练?
如果拿来做对话或者其他指令任务,就在这个增量后的base模型基础上做sft?
ymcui commented
如果我的基座模型是base模型,就应该使用增量预训练?
是的。如果是非chat模型,直接使用无标注的语料做增量CLM训练就可以了。
如果拿来做对话或者其他指令任务,就在这个增量后的base模型基础上做sft?
是的。但是也要注意SFT阶段可能会丢失一部分长距离信息,主要看你的SFT数据的长度。所以最理想的情况是预训练阶段和SFT阶段都用足够长的文本训练。
KyrieXu11 commented
如果我的基座模型是base模型,就应该使用增量预训练?
是的。如果是非chat模型,直接使用无标注的语料做增量CLM训练就可以了。
如果拿来做对话或者其他指令任务,就在这个增量后的base模型基础上做sft?
是的。但是也要注意SFT阶段可能会丢失一部分长距离信息,主要看你的SFT数据的长度。所以最理想的情况是预训练阶段和SFT阶段都用足够长的文本训练。
好的,感谢大佬耐心解答,祝大佬生活愉快!
github-actions commented
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your consideration.