视频生成: 基于Stable Diffusion的微调方法

    chatGPT带来了几个月的AIGC热度,文本图像生成模型大行其道,但AI在视频生成任务上尚没有较好的开源仓库,并受限于“缺那么几百块A100"的资源问题,大多数人无法展开视频生成的研究。好在目前有不少针对视频生成的相关paper,也有不少开源实现,事实上缺的是一个完整的训练+推理+Pretrained模型,本文要解决的就是这个问题。

    1. Stable Diffusion以及其中Unet结构,下图摘自论文: High-Resolution Image Synthesis with Latent Diffusion Models

    为了支持视频生成,需要对Unet结构中的部分模块进行改造,包括2d卷积以及Self-Attention和Cross-Attention。在许多的Stable Diffusion开源实现中,Tune A Video这篇论文的代码较为干净简洁,在利用Stable Diffusion V1-4权重作为pretrained,参考Make A Video利用3d伪引入空间信息,并且保留Tune A Video中关于Sparse Cross Attention的修改。

    2. 3d伪卷积引入时空相关信息,图片摘自Make A Video

    

    代码实现引用lucidrains的make-a-video-pytorch,并且加入关于时空的Position Embedding部分。

    3. Sparse Casual Attention 

    出于节省运算量的目的,当前帧跟第一帧和当前帧的前一帧做Cross Attention,这个只是运算上的调整,Cross Attention结构并无修改。

    4. 3090如何训练

    大多数论文,训练视频生成都是采用8张A100做微调,或者利用成百上千的GPU进行大规模训练。对于咱穷人来说,只有两块3090,训练方法分步骤进行:

    a. 128x128

    b. 256x256,batch size单卡为4,grad accumulation设置为100

  5. 数据集

  视频数据集webvid, hdvila100m

  图片数据集laion400m

  我简单实验下来,加上图片数据集混合训练文本生成效果会更好一些。

  代码开源于: https://github.com/xuduo35/MakeLongVideo

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值