Alan Fang
Alan Fang
周神,torch官方也有个llama微调的代码:https://github.com/pytorch/torchtune
> @fclearner embedd layer in the decoder doesn't need to be changed?? Found modules match the output size and change it
> provide examples ? > > > Try to print the model size or visualize it with netron
周神,是不是已经可以用于wenet训练了,只是少个pipeline,我这就拿来试试,赞一个
周神,请教下,我试着按‘train.txt’这个配置训了下,ctc的权重调到1.0,700个迭代grad_norm就七点几了,感觉loss收敛不理想,里面有几个tensor没加载,我不太确定这几个tensor的作用,有没有什么建议,哈哈 [train.txt](https://github.com/wenet-e2e/wenet/files/14912775/train.txt) 这是loss:
> @fclearner 可以按照当前的代码, 然后base encoder里边的after norm去掉 跑下, 我这边跑了一晚上(没跑完),看着像在收敛中 ctc_weight: 0.3 > > 好咧,我今天试试,太给力了
> ```yaml > normalize_before: true > ``` 周神,你这里训练用的decoder是加载的预训练的吗,我感觉数据量少的话,decoder训练不充分,ctc的结果倒是正常了。 我记录下我训练的问题: ``` 训练配置里面 encoder要设置normalize_before: true 同时注释BaseEncoder的self.after_norm ``` 我之前把normalize_before设成false了,以为这样可以屏蔽encoder的self.after_norm,但是这么做,encoder_layer里面的normalize_before也成false了
> 正常conformer 实现不应该有after norm的最后一个norm,就是最顶层的最后一个(transformer pre norm需要) > > 加decoder的想法是 后边换成whisper的decoder 或者llm的decoder, > > 目前可以采用multi lr的方式的去训, 可预期decoder不会好于ctc 嗯嗯,了解,我已经用上了multi lr,很好用(赞赞赞) 我感觉 加其他模块的decoder理论上会有特征不匹配的情况,还是需要大量的数据去训练,否则训练不充分
> 可用 adapter , 谷歌有些modular的speech 的paper 就是这么嫁接模型的 ,llm也有些类似的 > > 顺别说下, 接whisper只是为了做识别, 接llm就走了speechLLM的路子了 可做语音理解等 醍醐灌顶,llama pro的块扩展方案感觉也可以试试,好奇如果whisper微调的时候换了下采样层,然后冻结其他层,加几个encoder block在前部能不能保留泛化性,如果能用微调解决上下游不匹配的问题,羊毛就可以一直薅了,哈哈 speechLLM绝对是未来,跟着wenet学(赞赞赞)
感觉效果不太行,我拿来训几百小时粤语,没有whisper+lora微调效果好,差了五六个点的cer,而且奇怪的是我拿https://huggingface.co/TencentGameMate/chinese-hubert-large 这个hubert模型微调的效果比w2vbert2要好,可能是中文数据预训练的不够多吧