zjunlp / KnowLM

An Open-sourced Knowledgable Large Language Model Framework.
http://knowlm.zjukg.cn/
MIT License
1.13k stars 118 forks source link

预训练最大长度扩展到5k #44

Closed chensongcan closed 11 months ago

chensongcan commented 11 months ago

请教一个问题:llama是2048的最大长度,如果我想训练更长的输入长度,理论直接吧最大长度外扩就行,比如改为5120,这样子直接训用小一点的数据可以训动,但是一旦上了大的语料数据loss就训不动,从2e-5到3e-4都试过,都训不动

zxlzr commented 11 months ago

您好,这种情况可能需要算力更强的gpu和设备环境

chensongcan commented 11 months ago

预计需要多少资源才可以训动,我目前是48张卡A800,lr设置2e-4,全参数,zero3+FA2。loss一直在9附近,训不动

zxlzr commented 11 months ago

您好,我们之前没有使用这么多张卡和较长的数据输入,因此不好判断计算资源。建议您预训练使用相对较短的语料,然后使用以下论文Extending Context Window of Large Language Models via Positional Interpolation(有很多相关文献)提供的技术如使模型支持长文档。

guihonghao commented 11 months ago

你好,你可以尝试下面几项工作,他们可以在更长的语料库上微调得到能够处理超出预训练期间设置的最大长度的模型。而且这些工作与LlaMA系列的模型是兼容的。

[Landmark Attention: Random-Access Infinite Context Length for Transformers](https://arxiv.org/abs/2305.16300)

https://github.com/epfml/landmark-attention

[Extending Context Window of Large Language Models via Positional Interpolation](http://arxiv.org/abs/2306.15595)

https://huggingface.co/kaiokendev/superhot-13b-8k-no-rlhf-test https://github.com/lucidrains/rotary-embedding-torch

[Focused Transformer: Contrastive Training for Context Scaling](http://arxiv.org/abs/2307.03170)

https://github.com/CStanKonrad/long_llama

chensongcan commented 11 months ago

感谢

chensongcan commented 11 months ago

Landmark Attention: Random-Access Infinite Context Length for Transformers

这个应该是sft阶段的一些长度扩展,我目前是直接想在预训练阶段扩展

zxlzr commented 11 months ago

您好目前我们没试过在预训练阶段训这么长的数据