dit/sit-》了解具体架构,看能不能先跑个小的
1)latte->集成到diffusers,已跑通,t2v不能i2v,区别text_encoder从clip->t5,unet->transform,多了个vae_tempor……,
2) 看看要不试着改到i2v,但应该要再训练过,主要试试cross_attn能不能处理img_embeds
3) opensora 目前使用分段推理48088424fps*4s是极限
看了opensora1.2的报告,忘了1.1它就实现i2v了。
目前看下来opensora生成的动作幅度以及时长都不错。
需要调优的在于对原图的保持不够。
大概到2s左右,就基本看不到原图的影子了。
调优方式就分两种,一是在现有框架上加入一些增强的策略;二是在微调。
增强策略的话,看到论文里有什么好方法就写到这吧。
1.初始z的第一帧或全部都用参考图片的latents去替代
评价:实测下来全部都用不行,注入算是注进去了,但相当于在原图上蒙了一层噪声的动画……只作第一帧的效果要看模型最开始训练的策略,latte实测不能,opensora使用MaskDit作为图生视频/视频生视频模型?使得该模型具有一定i2v和v2v能力。但里面的mask策略看不太懂
2.每一帧的噪声都和参考图片的latents concat
评价:还没试,主要怕维度什么问题对不上……之后试试
3.把image的embedding送到cross_attn中
1)sd3采用直接把img_embeds送到transformers里,但他的transformers是对图像和文字信息各有一份权重,目前对opensora的架构参考意义不大,以后改架构的时候可以试试
2)传统派:把image送到clipImageEmbedder,再projection一次更好地与文本特征对齐,问题就是projection模型要训练过,同时t5和原本属于clip的text_encoder特征空间一不一致还不好说,latte里面我直接把img_embeds repeat到text_embeds尺寸再concat,效果聊胜于无。
微调方面
1.策略有倒是有,opensora有使用maskdit的策略来训练,那改一改micro_diffusion应该也行,论文上看效果是好了不少。
2.换成dit架构感觉训练应该会方便很多,到时候试下5d能不能成
3.高质量图片微调空间层,出自videocrafter2,对时间层和空间层一起训练的模型有用,这么看opensora应该可以
4.图片和视频混合微调,大多t2v训练的时候都有这么做
5.但电脑时不时重启咋办?
6.从零开始训练30M左右的训练集是目前看的最低标准了,opensora1.2最终训练用来2M的高质量数据集。数据集也难找,感觉快手爬得大多都不能用,datajuicer还是要会用,争取周末搞个10K作用来微调试试
本文地址: OpenSora I2V调优
您必须 登录 才能发表评论