自 OpenAI 推出 Sora 以来,AI 视频生成模型已然在全球范围内百花齐放。然而,近半年之后,业内却仍未出现一个开源的、满足商业级应用需求的视频生成模型。
今天,首个开源的商用级视频生成模型——CogVideoX 2B,它来了。
CogVideoX 2B 是与智谱AI「清影」同源的开源视频生成模型,视频长度为 6 秒,帧率为 8 帧/秒,视频分辨率为 720*480,提示词上限为 226 个 token。
「清影」是智谱AI 近期发布的 AI 生视频产品,30 秒即可完成任意文/图生视频任务,目前已在 AI 助手「智谱清言」上线,被誉为「国内首个人人可用的 Sora」。
值得一提的是,CogVideoX 2B 在 FP-16 精度下的推理仅需 18GB 显存,微调则只需 40GB 显存,这意味着单张 4090 显卡即可进行推理,单张 A6000 显卡即可完成微调。
代码仓库:
https://github.com/THUDM/CogVideo
模型下载:
https://huggingface.co/THUDM/CogVideoX-2b
技术报告:
https://github.com/THUDM/CogVideo/blob/main/resources/CogVideoX.pdf
此次 CogVideoX 2B 以及后续更大版本视频生成模型的开源,旨在让每一位开发者、每一家企业都能自由地开发属于自己的视频生成模型,进而推动整个行业的快速迭代与创新发展。
另外,智谱 AI 为视频质量的提升预留了广阔的空间,期待开发者们在提示词优化、视频长度、帧率、分辨率、场景微调以及围绕视频的各类功能开发上贡献开源力量。
除了在单张 4090 显卡即可进行推理,在单张 A6000 显卡即可完成微调,CogVideoX 2B 的视频生成效果究竟怎么样?我们可以看看以下三个实例:
(原始 prompt 为英文,灰色字体为对应的中文翻译)
prompt:
A detailed wooden toy ship with intricately carved masts and sails is seen gliding smoothly over a plush, blue carpet that mimics the waves of the sea. The ship's hull is painted a rich brown, with tiny windows. The carpet, soft and textured, provides a perfect backdrop, resembling an oceanic expanse. Surrounding the ship are various other toys and children's items, hinting at a playful environment. The scene captures the innocence and imagination of childhood, with the toy ship's journey symbolizing endless adventures in a whimsical, indoor setting.
(一艘精致的木制玩具船,桅杆和船帆上雕刻着复杂的图案,在模拟海浪的蓝色长毛绒地毯上平稳地滑行。船身漆成浓郁的棕色,并带有小窗户。地毯柔软而有质感,提供了一个完美的背景,就像一片广阔的海洋。船的周围环绕着各种玩具和儿童用品,暗示着一个充满童趣的环境。这个场景捕捉到了童年的天真和想象力,玩具船的旅程象征着在异想天开的室内环境中的无尽冒险。)
prompt:
The camera follows behind a white vintage SUV with a black roof rack as it speeds up a steep dirt road surrounded by pine trees on a steep mountain slope, dust kicks up from it’s tires, the sunlight shines on the SUV as it speeds along the dirt road, casting a warm glow over the scene. The dirt road curves gently into the distance, with no other cars or vehicles in sight. The trees on either side of the road are redwoods, with patches of greenery scattered throughout. The car is seen from the rear following the curve with ease, making it seem as if it is on a rugged drive through the rugged terrain. The dirt road itself is surrounded by steep hills and mountains, with a clear blue sky above with wispy clouds.
(镜头跟在一辆白色复古越野车后面,车顶有黑色行李架,越野车在陡峭的山坡上沿着松树环绕的陡峭土路快速行驶,轮胎上的尘土飞扬,阳光照在越野车上,越野车在土路上快速行驶,给整个场景投下了温暖的光辉。土路缓缓弯向远方,看不到其他车辆。道路两旁的树木都是红杉,还有零星的绿色植物。从后方看,汽车轻松地沿着弯道行驶,仿佛在崎岖的地形上行驶。土路本身被陡峭的丘陵和山脉环绕,头顶是晴朗的蓝天和飘渺的白云。)
prompt:
In the haunting backdrop of a war-torn city, where ruins and crumbled walls tell a story of devastation, a poignant close-up frames a young girl. Her face is smudged with ash, a silent testament to the chaos around her. Her eyes glistening with a mix of sorrow and resilience, capturing the raw emotion of a world that has lost its innocence to the ravages of conflict.
(在一个饱受战争摧残的城市,废墟和残垣断壁诉说着满目疮痍,在这个令人心碎的背景下,一个凄美的特写镜头定格了一个年轻的女孩。她的脸上沾满了灰烬,无声地证明着周围的混乱。她的眼睛里闪烁着悲伤和坚韧,捕捉到了这个因冲突而失去天真世界的原始情感。)
可以看到,上述 CogVideoX 2B 的视频生成效果十分惊艳,将精致的木制玩具船、白色复古越野车和年轻女孩的凄美镜头刻画的非常逼真、形象。
在实际文本到视频生成任务的评估中,CogVideoX 2B 也非常能打。
智谱AI 不仅使用了 VBench 中的多个指标(如人类动作、场景、动态程度等),同时还使用了 Devil 中的 Dynamic Quality 和 Chrono-Magic 中的 GPT4o-MT Score 两个额外的视频评估工具,从而专注于视频的动态特性。评测结果如下:
可以看到,相比于 Pika、Gen-2 和 Open-Sora V1.2,CogVideoX 2B 在各个指标上的表现,都是最好的。
CogVideoX 2B 惊艳的视频效果,离不开智谱AI 自研的架构、数据和算法。
在架构方面,自研了将文本、时间和空间三个维度全部融合的 Transformer 架构;数据方面,自研视频理解模型,提高了模型的指令遵从度;算法方面,同样自研了高效的 3D VAE。
详情如下:
1.VAE
视频数据因包含空间和时间信息,其数据量和计算负担远超图像数据。为应对此挑战,团队提出了基于 3D 变分自编码器(3D VAE)的视频压缩方法。3D VAE 通过三维卷积同时压缩视频的空间和时间维度,实现了更高的压缩率和更好的重建质量。
模型结构包括编码器、解码器和潜在空间正则化器,通过四个阶段的下采样和上采样实现压缩。时间因果卷积确保了信息的因果性,减少了通信开销。团队采用上下文并行技术以适应大规模视频处理。
实验中,团队发现大分辨率编码易于泛化,而增加帧数则挑战较大。因此,团队分两阶段训练模型:首先在较低帧率和小批量上训练,然后通过上下文并行在更高帧率上进行微调。训练损失函数结合了 L2 损失、LPIPS 感知损失和 3D 判别器的 GAN 损失。
2.专家 Transformer
团队使用 VAE 的编码器将视频压缩至潜在空间,然后将潜在空间分割成块并展开成长的序列嵌入 z_vision。同时,使用 T5 将文本输入编码为文本嵌入 z_text,然后将 z_text 和 z_vision 沿序列维度拼接。拼接后的嵌入被送入专家 Transformer 块堆栈中处理。最后,团队反向拼接嵌入来恢复原始潜在空间形状,并使用 VAE 进行解码以重建视频。
3.数据
视频生成模型训练需筛选高质量视频数据,以学习真实世界动态。视频可能因人工编辑或拍摄问题而不准确。团队开发了负面标签来识别和排除低质量视频,如过度编辑、运动不连贯、质量低下、讲座式、文本主导和屏幕噪音视频。通过 video-llama 训练的过滤器,团队标注并筛选了 20000 个视频数据点。同时,计算光流和美学分数,动态调整阈值,确保生成视频的质量。
视频数据通常没有文本描述,需要转换为文本描述以供文本到视频模型训练。现有的视频字幕数据集字幕较短,无法全面描述视频内容。团队提出了一种从图像字幕生成视频字幕的管道,并微调端到端的视频字幕模型以获得更密集的字幕。这种方法通过 Panda70M 模型生成简短字幕,使用 CogView3 模型生成密集图像字幕,然后使用 GPT-4 模型总结生成最终的短视频。团队还微调了一个基于 CogVLM2-Video 和 Llama 3 的 CogVLM2-Caption 模型,使用密集字幕数据进行训练,以加速视频字幕生成过程。