MaxwellDing

Results 4 comments of MaxwellDing

问题原因在于vae的feat_cache和zero3冲突,但是feat_cache的创建位置太零碎,还有各种shape操作,巨难改。。。 我的解决方案,不优雅: 模型加载后把vae挪到外面WanTrainingModule里,pipe.vae置空,然后accelerate.prepare传入model.pipe,而不是model,另外需要修改所有用到vae的PipeUnit,把vae作为参数传进去,例如: vae就成功脱离zero3了! 注:得记得手动把vae挪到正确的device上

@zoezhou1999 ,Hi there, I haven't encountered that error. However, if the VAE is set to be trainable, my solution might not work.

> > 问题原因在于vae的feat_cache和zero3冲突,但是feat_cache的创建位置太零碎,还有各种shape操作,巨难改。。。 > > 我的解决方案,不优雅: > > 模型加载后把vae挪到外面WanTrainingModule里,pipe.vae置空,然后accelerate.prepare传入model.pipe,而不是model,另外需要修改所有用到vae的PipeUnit,把vae作为参数传进去,例如: > > > > vae就成功脱离zero3了! > > 注:得记得手动把vae挪到正确的device上 > > 所以对于全量训练来说,TI2V为什么只训练中间的dit,text ecoder和vae好像都没训?看不太懂这个: > > 一般来说sft是只训dit的呀,具体训练流程可以看看论文