Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

有关混合精度训练的问题 #133

Open
zzhdbw opened this issue Jan 28, 2024 · 0 comments
Open

有关混合精度训练的问题 #133

zzhdbw opened this issue Jan 28, 2024 · 0 comments

Comments

@zzhdbw
Copy link

zzhdbw commented Jan 28, 2024

作者您好,阅读了您train文件,发现其中的模型加载后权重都以float16的形式存在,但是在训练过程中并没有发现您使用混合精度训练。而是使用了torch.nn.utils.clip_grad_norm_(model.parameters(), 1.0)代码解决问题。
在我自己的实验代码中,发现如果模型加载成float16格式,不使用梯度裁剪就训练的情况下,一定会出现loss为nan的情况,而要使用torch的amp混合精度训练的情况下,则必须先将模型转换成float32形式,此时就涉及到了模型保存时权重过大的问题(相比于原始权重空间翻倍)。
对此我想咨询如下几个问题:
1.仅使用梯度裁剪的方式可行吗,这种方式会不会使得模型学习的不好。
2.为什么您没有使用混合精度训练,是因为没必要还是todo的原因。
3.有没有什么方法能够解决上述权重保存空间翻倍的问题。
期待您的回复。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant