1.1 3D VAE
团队自研了一个高效的三维变分自编码器结构(3D VAE),将原视频空间压缩至2%大小,大大减少了视频扩散生成模型的训练成本及训练难度。
模型结构包括编码器、解码器和潜在空间正则化器,通过四个阶段的下采样和上采样实现压缩。时间因果卷积确保了信息的因果性,减少了通信开销。团队采用上下文并行技术以适应大规模视频处理。
在实验中,团队发现大分辨率编码易于泛化,而增加帧数则挑战较大。
因此,团队分两阶段训练模型:首先在较低帧率和小批量上训练,然后通过上下文并行在更高帧率上进行微调。训练损失函数结合了L2损失、LPIPS感知损失和3D判别器的GAN损失。团队使用VAE的编码器将视频压缩至潜在空间,然后将潜在空间分割成块并展开成长的序列嵌入z_vision。同时,他们使用T5,将文本输入编码为文本嵌入z_text,然后将z_text和z_vision沿序列维度拼接。拼接后的嵌入被送入专家Transformer块堆栈中处理。最后,团队反向拼接嵌入来恢复原始潜在空间形状,并使用VAE进行解码以重建视频。
1.3 数据
团队开发了负面标签来识别和排除低质量视频,如过度编辑、运动不连贯、质量低下、讲座式、文本主导和屏幕噪音视频。
通过video-llama训练的过滤器,他们标注并筛选了20000个视频数据点。同时,计算光流和美学分数,动态调整阈值,确保生成视频的质量。
视频数据通常没有文本描述,需要转换为文本描述以供文本到视频模型训练。现有的视频字幕数据集字幕较短,无法全面描述视频内容。
为此,团队还提出了一种从图像字幕生成视频字幕的管道,并微调端到端的视频字幕模型以获得更密集的字幕。
这种方法通过Panda70M模型生成简短字幕,使用CogView3模型生成密集图像字幕,然后使用GPT-4模型总结生成最终的短视频。
他们还微调了一个基于CogVLM2-Video和Llama 3的CogVLM2-Caption模型,使用密集字幕数据进行训练,以加速视频字幕生成过程。
进入wisemodel社区的“算力”模块,选择H20机型的单卡配置,然后点击“创建开发环境”。(CogVideoX-5B-I2V正常运行大概占用37G左右的显存)填写创建开发环境基本信息,选择好镜像、配置和模型文件,然后直接点击“下一步”开发环境的创建流程就完成了,留意右上角的状态,刚创建时会是“启动中”的状态,大概15-20s左右,部分启动环节时间会更长一些,按量计费的只有启动成功之后才会开始计费。启动成功后,状态变成“运行中”,此时可以根据各自的开发习惯,通过notebook进行开发,或者通过ssh访问开发环境进行开发。下面先以SSH访问为例:在本地的命令提示行中分别复制ssh地址和密码,登录到开发环境中。
进入开发环境之后,可以先执行nvidia-smi查看一下GPU相关的信息。进入到/workspace工作目录,workspace是在/root目录下面,/workspace目录下面已经初始化了/code、/dataset、/model三个子目录,分别可以用来放代码、数据集和模型文件,也可以根据自己的需求再创建目录。进入code目录先把CogVideo的代码下载下来,然后进入到CogVideo目录内:
下面安装一下requirements.txt内要求的依赖包,执行pip install -r requirements.txt 时,提示pip命令未找到,先更新一下基础环境,把pip命令安装上:然后设置一下全局的安装镜像源,然后就重新安装requirements.txt内要求的依赖包,这时可以看到开始正常安装了,安装过程预计会持续几分钟:安装完成之后,进入到/inference的子目录内,这里提供了多种demo,了解到gradio_composite_demo跟hf的space的demo是一样的,继续进入到/gradio_composite_demo的子目录。
这个demo运行要求一些新的依赖包,再次执行 pip install -r requirements.txt,完成相关环境的安装。安装完成之后,先通过vim app.py查看一下代码,把模型的路径设为本地的路径。如果是模型下载到了自己的工作目录就填写自己的路径,这里使用前面选择的共享模型的地址:在创建开发环境时选择了模型文件的,共享模型的路径可以回到控制台上“文件-共享模型文件”处获取相应的地址:
然后,先执行一下 python app.py,中间会报一些错误,根据错误提示进行调整,从网络上搜到是缺少opencv的依赖包,继续安装:
再次执行/opt/conda/bin/python app.py 之后,发现模型已经正常加载,但端口报错了,可能是前面的执行虽然报错了但仍然把端口占用了,下面把相应的进程先删除重新执行/opt/conda/bin/python app.py 之后,模型的加载和部署就成功了。部署成功之后可以回到控制台的“服务端口”申请公网访问的域名地址(预计10月8日晚正式上线该服务)。获取的域名地址在浏览器打开可以看到如下页面,上传一张图片和输入prompt之后,开始视频生成的步骤,在H20单卡上大致需要6分多钟的时间。目前平台上默认支持每个开发环境开放9000端口,申请域名地地址之后可以在浏览器或api形式访问到部署的模型服务。我们也将前面部署过程的成果制作了一个镜像文件CogVideoX-Deploy-Finetune,大家如果在wisemodel上可以选择该镜像文件进行创建开发环境。填写模型部署的基本信息,主要是选择好配置和填写好名称等,填写好相应信息之后,直接点击“下一步”:然确认一下计费方式,确认之后可以直接点击“提交订单”。
提交之后显示模型处于“启动中”的状态,大概30s左右启动成功。启动成功之后的状态如下图所示,点击该模型就可以进入到在线体验的页面了:fireworks display over night city. The video is of high quality, and the view is very clear. High quality, masterpiece, best quality, highres, ultra-detailed, fantastic.自行部署生成视频内容
视频生成交流群
编辑丨赵雅鑫
wisemodel相关
系统升级