ymcui/Chinese-LLaMA-Alpaca-2

位置插值训练数据相关咨询

KyrieXu11 opened this issue · 5 comments

提交前必须检查以下项目

  • 请确保使用的是仓库最新代码(git pull),一些问题已被解决和修复。
  • 我已阅读项目文档FAQ章节并且已在Issue中对问题进行了搜索,没有找到相似问题和解决方案。
  • 第三方插件问题:例如llama.cppLangChaintext-generation-webui等,同时建议到对应的项目中查找解决方案。

问题类型

其他问题

基础模型

Others

操作系统

Linux

详细描述问题

各位大佬好,因为在discussion区提问没有得到回复,所以在issue区也提一个,请各位大佬见谅。

我这边有个模型现在有8k的上下文长度,如果我想扩展到16k的长度,已经使用ntk直接推理测试过,但是想用线性插值训练一下模型测试看看,线性插值的代码已经实现。

所以想请教一下下面的几个问题:

  1. 添加位置插值之后,训练的方式是sft还是增量预训练?
  2. 添加位置插值之后,训练的语料长度一般为多少更合适?如现有模型是8k的话,目标是将模型的context length训练到16k,训练语料长度是否16k?
  3. 使用位置插值训练,参考PI这篇论文的说法,在千步级别的steps即可达到很好的效果,所以想要学习一下大佬的经验,Chinese-LLaMA-Alpaca的位置插值训练的时候,训练了多少个steps?
  4. 训练的数据如果是开源的话,请问能给个地址吗?

依赖情况(代码类问题务必提供)

# 请在此处粘贴依赖情况(请粘贴在本代码块里)

运行日志或截图

# 请在此处粘贴运行日志(请粘贴在本代码块里)
  1. 是增量预训练还是SFT,取决于你的基模型是什么类型。
  2. 原则上,你扩到多少长度就准备多少长度的数据。
  3. 不同模型之间没有参考性,建议你自行设置valid set观察PPL或者在长文本任务上观察指标变化。
  4. 暂不开源。
  1. 是增量预训练还是SFT,取决于你的基模型是什么类型。
  2. 原则上,你扩到多少长度就准备多少长度的数据。
  3. 不同模型之间没有参考性,建议你自行设置valid set观察PPL或者在长文本任务上观察指标变化。
  4. 暂不开源。

好的,谢谢大佬解答。

请允许我再问一个小白问题:
如果我的基座模型是base模型,就应该使用增量预训练?
如果拿来做对话或者其他指令任务,就在这个增量后的base模型基础上做sft?

  1. 如果我的基座模型是base模型,就应该使用增量预训练?

是的。如果是非chat模型,直接使用无标注的语料做增量CLM训练就可以了。

  1. 如果拿来做对话或者其他指令任务,就在这个增量后的base模型基础上做sft?

是的。但是也要注意SFT阶段可能会丢失一部分长距离信息,主要看你的SFT数据的长度。所以最理想的情况是预训练阶段和SFT阶段都用足够长的文本训练。

  1. 如果我的基座模型是base模型,就应该使用增量预训练?

是的。如果是非chat模型,直接使用无标注的语料做增量CLM训练就可以了。

  1. 如果拿来做对话或者其他指令任务,就在这个增量后的base模型基础上做sft?

是的。但是也要注意SFT阶段可能会丢失一部分长距离信息,主要看你的SFT数据的长度。所以最理想的情况是预训练阶段和SFT阶段都用足够长的文本训练。

好的,感谢大佬耐心解答,祝大佬生活愉快!

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.