Open Vincent-ZHQ opened 1 year ago
这个模型支持flash attention,如果torch.nn版本支持就会自动使用。Torch已经可以支持cuda12了,小版本的兼容一直都很模糊。如果需要用最新cuda12我这有一个安装命令可以参考
pip3 install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/cu121
还是检查一下自己的参数设置,优化器,以及训练的数据整个pipeline。或是用原本给的参数和数据跑一跑。也不排除是版本问题,我这用的是Torch2.2.0 + cu12, 没有出现训练问题。
bfloat16的数值范围大一些,感觉不会是loss增加的原因,正常训练过程中也用了lr衰减的操作。可能是其它的改动导致了loss不降反增,数据不对也有可能导致这个问题所以还是重点查一下数据吧。
我刚才实验了一下,在当前的数据和代码组合下,V100 的卡,如果使用 bfloat16 会出现 Loss 增加。 如果 改回 float16,目前看还是收敛的
当前项目效果不好的一种可能的原因是直接使用了 chatglm 的 tokenizer,百科数据并不需要那么大的编码空间。重新训练一个可能会比较好。
很有意思的工作,作为LLM的小白了解到了很多,整个流程很明了。但跑了两天,没跑出比较好的结果,在这总结下遇到的几个问题,后来大佬有能解决的可以相互讨论下 (环境: A100-40G, CUDA11.6,PyTorch2.0,实际使用代码稍微放大了下模型)。