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

模型训练loss变化是什么样的? #50

Open
shihuai opened this issue Oct 30, 2024 · 16 comments
Open

模型训练loss变化是什么样的? #50

shihuai opened this issue Oct 30, 2024 · 16 comments

Comments

@shihuai
Copy link

shihuai commented Oct 30, 2024

感谢你们把这么好的工作开源。最近我们的尝试在复现模型的效果,模型一阶段训练loss收敛还可以,但模型二阶段训练过程中loss从12下降到3.0左右,就无法在降低了。所以想问一下,你们当时训练的时候,两个训练阶段的loss是如何变化的,训练过程中有什么需要注意的地方吗?

@satheeshkola-532
Copy link

hi @shihuai , could you please share the training scripts.. it would be very helpful for us to reproduce the model for indian languages?
my mail id: [email protected]

@enbiwudi
Copy link

一样,loss快速从8.x降到3.x
效果还没评估
看论文似乎也没什么特别的trick,我想后续可能试试把generator部分改成自回归模型和CEloss或许会好一点?但难解决文本+音频流式推理问题

@enbiwudi
Copy link

一样,loss快速从8.x降到3.x 效果还没评估 看论文似乎也没什么特别的trick,我想后续可能试试把generator部分改成自回归模型和CEloss或许会好一点?但难解决文本+音频流式推理问题

找到bug了,是我的target_units设置有问题,默认用0来pad了,应该用-100

@shihuai
Copy link
Author

shihuai commented Oct 31, 2024

一样,loss快速从8.x降到3.x 效果还没评估 看论文似乎也没什么特别的trick,我想后续可能试试把generator部分改成自回归模型和CEloss或许会好一点?但难解决文本+音频流式推理问题

找到bug了,是我的target_units设置有问题,默认用0来pad了,应该用-100
我们目前也是这样设置的,但收敛效果还是不好。

@enbiwudi
Copy link

又找到bug了
源码里generator的llama是用的LlamaDecoderLayer,但不知道是不是我的transformers版本问题,attention mask维度不匹配。看了一下llama源码,在LlamaModel里会先做attention mask的升维。所以我之前直接用的LlamaModel,输入input_embedding=hidden_states这么搞的。但是其实LlamaModel里会对LlamaDecoderLayer出来的hidden_states做一次norm操作,而llama omni源码用的hidden_states是未经过norm的。可能是这里的区别。我目前loss从18在逐渐收敛,半个epoch到6.x了,看起来还在收敛。
等我有结论再同步hhhh
有兴趣也可以邮箱交流一下:[email protected]

@enbiwudi
Copy link

还是不行,推理出来基本都是blank,好怪

@shihuai
Copy link
Author

shihuai commented Nov 1, 2024

又找到bug了 源码里generator的llama是用的LlamaDecoderLayer,但不知道是不是我的transformers版本问题,attention mask维度不匹配。看了一下llama源码,在LlamaModel里会先做attention mask的升维。所以我之前直接用的LlamaModel,输入input_embedding=hidden_states这么搞的。但是其实LlamaModel里会对LlamaDecoderLayer出来的hidden_states做一次norm操作,而llama omni源码用的hidden_states是未经过norm的。可能是这里的区别。我目前loss从18在逐渐收敛,半个epoch到6.x了,看起来还在收敛。 等我有结论再同步hhhh 有兴趣也可以邮箱交流一下:[email protected]

你说的这些情况我们也遇到过,后面是通过手动将attention mask扩展到4维。不过我们还没有做过推理,情况应该也会很差。

@enbiwudi
Copy link

enbiwudi commented Nov 1, 2024

又找到bug了 源码里generator的llama是用的LlamaDecoderLayer,但不知道是不是我的transformers版本问题,attention mask维度不匹配。看了一下llama源码,在LlamaModel里会先做attention mask的升维。所以我之前直接用的LlamaModel,输入input_embedding=hidden_states这么搞的。但是其实LlamaModel里会对LlamaDecoderLayer出来的hidden_states做一次norm操作,而llama omni源码用的hidden_states是未经过norm的。可能是这里的区别。我目前loss从18在逐渐收敛,半个epoch到6.x了,看起来还在收敛。 等我有结论再同步hhhh 有兴趣也可以邮箱交流一下:[email protected]

你说的这些情况我们也遇到过,后面是通过手动将attention mask扩展到4维。不过我们还没有做过推理,情况应该也会很差。

ctc_upsample_factort,针对你的数据集调小点试一下

@shihuai
Copy link
Author

shihuai commented Nov 1, 2024

这部分也是调整过的,现在我们音频离散化的模型1s是50个token,ctc_upsample_factor现在减少到了12,loss会比之前低,但降了一点后基本就是在震荡了。

@shihuai
Copy link
Author

shihuai commented Nov 1, 2024

现在不知道是不是受模型初始化部分影响,后面再试着改一下这部分。

@Minami-su
Copy link

我目前也在复现这篇论文的模型架构和训练但是目前遇到一定的问题,能否大家建立一个微信群讨论一下?

@shihuai
Copy link
Author

shihuai commented Nov 14, 2024

下面的issue已经有人拉群了。
另外,目前尝试使用短音频、训练步数多一些,是可以达到音频合成效果的。

@4ndroidev
Copy link

4ndroidev commented Nov 14, 2024

下面的issue已经有人拉群了。 另外,目前尝试使用短音频、训练步数多一些,是可以达到音频合成效果的。

感谢分享经验,请教一下:

  1. 你们是按照语音问答方式构造数据集吗?还是说改造 ASR 数据集来训练 ctc loss?(由于难以构造问答语音,我们采用了后者验证可行性😮‍💨,想咨询下你们的经验)

  2. 我们使用 150 万 ASR 数据集,batch size 24,训练 3 轮,训练 ctc loss 也遇到一样的情况,ctc loss 从 15 快速降到 3 ,最低降到 2.2,合成的音频有一点点效果,但模糊不清。 能否分享下,你们的 loss 收敛到多少,使用多大规模的数据集,训练了多少轮?🙏

@wntg
Copy link

wntg commented Nov 18, 2024

我在100条数据上训练,收敛到2,生成的语音速度很快,中间有不清楚的地方。想问下你们能在训练集上拟合吗

@tianke0711
Copy link

下面的issue已经有人拉群了。 另外,目前尝试使用短音频、训练步数多一些,是可以达到音频合成效果的。

感谢分享经验,请教一下:

  1. 你们是按照语音问答方式构造数据集吗?还是说改造 ASR 数据集来训练 ctc loss?(由于难以构造问答语音,我们采用了后者验证可行性😮‍💨,想咨询下你们的经验)
  2. 我们使用 150 万 ASR 数据集,batch size 24,训练 3 轮,训练 ctc loss 也遇到一样的情况,ctc loss 从 15 快速降到 3 ,最低降到 2.2,合成的音频有一点点效果,但模糊不清。 能否分享下,你们的 loss 收敛到多少,使用多大规模的数据集,训练了多少轮?🙏

可以进这个群讨论,不少人复现成功:#46

@EdisonZhu33
Copy link

感谢你们把这么好的工作开源。最近我们的尝试在复现模型的效果,模型一阶段训练loss收敛还可以,但模型二阶段训练过程中loss从12下降到3.0左右,就无法在降低了。所以想问一下,你们当时训练的时候,两个训练阶段的loss是如何变化的,训练过程中有什么需要注意的地方吗?

请问第一阶段你的loss到多少了?我一直无法复现第一阶段的效果

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

8 participants