minimind
minimind copied to clipboard
预训练增大数据之后,在从1024长度的微调数据集 切换到2048长度的微调数据集上训练的时候性能突然变差。
大佬您好!我之前跟着您的项目跑了一遍,模型架构没变,分词器换成了QWEN tokenizer,模型大约为200M参数。在预训练我找了一个洗好数据的中文数据集opencsg/chinese-fineweb-edu, https://www.modelscope.cn/datasets/opencsg/chinese-fineweb-edu,并将数据全部处理为1024的长度
在经过预训练一轮和sft_1024的4轮之后,输出还挺可以的。但是一对sft_2048进行训练,模型就开始出现大量幻觉。请问是因为增加长度之后的数据量不够多导致的吗,我查阅资料后发现有提升ROPE值继续训练的。如果要增大预训练的数据量是否从2048长度开始会更好呢?
这是只经过sft_1024训练的测试结果,这里是训练完测试的,输出长度设置的比较大:
这是再次对sft_2048训练的测试结果,这是训练过程中的测试,输出长度调小了,但是明显幻觉严重了:
这是第一轮SFT的微调loss曲线,一共训练4个epoch
有可能是训练数据的问题,你的数据是从哪里下的
和rope还没有直接关系,这个问题是数据质量的问题 😊