清华大学开源 CogVideoX-5B-I2V 模型,以支持图生视频

CogVideoX 是源于清影的开源视频生成模型。 下表列出了我们在此版本中提供的视频生成模型的相关信息。

在这里插入图片描述

Model NameCogVideoX-2BCogVideoX-5BCogVideoX-5B-I2V (This Repository)
Model DescriptionEntry-level model, balancing compatibility. Low cost for running and secondary development.Larger model with higher video generation quality and better visual effects.CogVideoX-5B image-to-video version.
Inference PrecisionFP16*(recommended), BF16, FP32, FP8*, INT8, not supported: INT4BF16 (recommended), FP16, FP32, FP8*, INT8, not supported: INT4
Single GPU Memory Usage
SAT FP16: 18GB
diffusers FP16: from 4GB*
diffusers INT8 (torchao): from 3.6GB*
SAT BF16: 26GB
diffusers BF16: from 5GB*
diffusers INT8 (torchao): from 4.4GB*
Multi-GPU Inference Memory UsageFP16: 10GB* using diffusers
BF16: 15GB* using diffusers
Inference Speed
(Step = 50, FP/BF16)
Single A100: ~90 seconds
Single H100: ~45 seconds
Single A100: ~180 seconds
Single H100: ~90 seconds
Fine-tuning PrecisionFP16BF16
Fine-tuning Memory Usage47 GB (bs=1, LORA)
61 GB (bs=2, LORA)
62GB (bs=1, SFT)
63 GB (bs=1, LORA)
80 GB (bs=2, LORA)
75GB (bs=1, SFT)
78 GB (bs=1, LORA)
75GB (bs=1, SFT, 16GPU)
Prompt LanguageEnglish*
Maximum Prompt Length226 Tokens
Video Length6 Seconds
Frame Rate8 Frames / Second
Video Resolution720 x 480, no support for other resolutions (including fine-tuning)
Position Embedding3d_sincos_pos_embed3d_rope_pos_embed3d_rope_pos_embed + learnable_pos_embed

数据说明

  • 在使用 diffusers 库进行测试时,启用了 diffusers 库中包含的所有优化功能。 本方案尚未在英伟达™(NVIDIA®)A100/H100 架构以外的设备上进行实际内存使用测试。 一般来说,此方案适用于所有英伟达安培架构及以上的设备。 如果禁用优化功能,内存消耗将成倍增加,峰值内存使用量约为表中数值的 3 倍。 不过,速度会提高约 3-4 倍。 您可以有选择性地禁用某些优化功能,包括

    pipe.enable_sequential_cpu_offload()
    pipe.vae.enable_slicing()
    pipe.vae.enable_tiling()

  • 对于多 GPU 推理,需要禁用 enable_sequential_cpu_offload() 优化。

  • 使用 INT8 模型会降低推理速度,这样做是为了适应较低内存的 GPU,同时保持最低的视频质量损失,不过推理速度会明显降低。

  • CogVideoX-2B 模型是以 FP16 精度训练的,而所有 CogVideoX-5B 模型都是以 BF16 精度训练的。 我们建议使用模型训练时的精度进行推理。

  • PytorchAO 和 Optimum-quanto 可用于量化文本编码器、转换器和 VAE 模块,以降低 CogVideoX 的内存需求。 这样,模型就可以在免费的 T4 Colab 或内存较小的 GPU 上运行! 此外,请注意 TorchAO 量化完全兼容 torch.compile,可显著提高推理速度。 FP8 精度必须在英伟达 H100 及以上的设备上使用,需要安装 torch、torchao、diffusers 和加速 Python 软件包的源代码。 建议使用 CUDA 12.4。

  • 推理速度测试也采用了上述内存优化方案。 在不进行内存优化的情况下,推理速度提高了约 10%。 只有扩散器版本的模型支持量化。

  • 该模型仅支持英文输入,其他语言可通过大型模型细化翻译成英文使用。

  • 模型微调的内存使用情况在 8 * H100 环境中进行了测试,程序自动使用 Zero 2 优化。 如果表格中标注了特定的 GPU 数量,则必须使用该数量或更多 GPU 进行微调。

提醒

使用 SAT 进行推理和微调 SAT 版本模型。 欢迎访问我们的 GitHub 了解更多详情。

Getting Started Quickly 🤗

该模型支持使用拥抱面扩散器库进行部署。 您可以按照以下步骤开始操作。

我们建议您访问我们的 GitHub,查看提示优化和转换,以获得更好的体验。

  1. 安装所需的依赖项
# diffusers>=0.30.3
# transformers>=0.44.2
# accelerate>=0.34.0
# imageio-ffmpeg>=0.5.1
pip install --upgrade transformers accelerate diffusers imageio-ffmpeg
  1. 运行代码
import torch
from diffusers import CogVideoXImageToVideoPipeline
from diffusers.utils import export_to_video, load_imageprompt = "A little girl is riding a bicycle at high speed. Focused, detailed, realistic."
image = load_image(image="input.jpg")
pipe = CogVideoXImageToVideoPipeline.from_pretrained("THUDM/CogVideoX-5b-I2V",torch_dtype=torch.bfloat16
)pipe.enable_sequential_cpu_offload()
pipe.vae.enable_tiling()
pipe.vae.enable_slicing()video = pipe(prompt=prompt,image=image,num_videos_per_prompt=1,num_inference_steps=50,num_frames=49,guidance_scale=6,generator=torch.Generator(device="cuda").manual_seed(42),
).frames[0]export_to_video(video, "output.mp4", fps=8)

量化推理

PytorchAO 和 Optimum-quanto 可用于量化文本编码器、转换器和 VAE 模块,以减少 CogVideoX 的内存需求。 这样,模型就可以在免费的 T4 Colab 或 VRAM 较低的 GPU 上运行! 此外,请注意 TorchAO 量化完全兼容 torch.compile,这可以大大加快推理速度。

# To get started, PytorchAO needs to be installed from the GitHub source and PyTorch Nightly.
# Source and nightly installation is only required until the next release.import torch
from diffusers import AutoencoderKLCogVideoX, CogVideoXTransformer3DModel, CogVideoXImageToVideoPipeline
from diffusers.utils import export_to_video, load_image
from transformers import T5EncoderModel
from torchao.quantization import quantize_, int8_weight_onlyquantization = int8_weight_onlytext_encoder = T5EncoderModel.from_pretrained("THUDM/CogVideoX-5b-I2V", subfolder="text_encoder", torch_dtype=torch.bfloat16)
quantize_(text_encoder, quantization())transformer = CogVideoXTransformer3DModel.from_pretrained("THUDM/CogVideoX-5b-I2V",subfolder="transformer", torch_dtype=torch.bfloat16)
quantize_(transformer, quantization())vae = AutoencoderKLCogVideoX.from_pretrained("THUDM/CogVideoX-5b-I2V", subfolder="vae", torch_dtype=torch.bfloat16)
quantize_(vae, quantization())# Create pipeline and run inference
pipe = CogVideoXImageToVideoPipeline.from_pretrained("THUDM/CogVideoX-5b-I2V",text_encoder=text_encoder,transformer=transformer,vae=vae,torch_dtype=torch.bfloat16,
)pipe.enable_model_cpu_offload()
pipe.vae.enable_tiling()
pipe.vae.enable_slicing()prompt = "A little girl is riding a bicycle at high speed. Focused, detailed, realistic."
image = load_image(image="input.jpg")
video = pipe(prompt=prompt,image=image,num_videos_per_prompt=1,num_inference_steps=50,num_frames=49,guidance_scale=6,generator=torch.Generator(device="cuda").manual_seed(42),
).frames[0]export_to_video(video, "output.mp4", fps=8)

此外,这些模型可以序列化,并使用 PytorchAO 以量化数据类型存储,以节省磁盘空间。 您可以在以下链接中找到示例和基准:

  • torchao
  • quanto

更多探索

欢迎访问我们的 GitHub,在那里您可以找到: 更详细的技术解释和代码 优化的提示示例和转换 用于模型推理和微调的详细代码 项目更新日志和更多互动机会 CogVideoX 工具链,帮助您更好地使用模型 INT8 模型推理代码。

Github https://github.com/THUDM/CogVideo

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/149561.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

基于Nginx搭建点播直播服务器

实现直播和点播离不开服务器⽀持,可以使用开源的NGINX服务器搭建直播和点播服务。 当然,NGINX本身是不⽀持视频的,需要为NGINX增加相应的RTMP模块进行支持。 1、下载nginx和rtmp模块 # nginx wget ht tp://nginx.org/download/nginx-1.18.…

Nginx反向代理简介,作用及配置;Nginx负载均衡简介,作用及配置;

一,Nginx反向代理 1.1简介 反向代理服务器位于用户与目标服务器之间,但是对于用户而言,反向代理服务器就相当于目标服务器,即用户直接访问反向代理服务器就可以获得目标服务器的资源。同时,用户不需要知道目标服务器的…

认知杂谈77《简单:通往高手的技巧》

内容摘要:          在信息爆炸、关系复杂的时代,简单是复杂背后的真谛。简单如“112”,是智慧的朴素呈现。简单有强大力量,像清泉般纯净,如“我爱你”简单却有力,基础财务知识也体现其在理财中的作…

java项目开发Spring框架

简化开发、框架整合、节约成本&#xff1b;官网网址&#xff1a;http://spring.io 耦合度高。 IOC 对象外部引入 1.导入Spring坐标 <dependencies><dependency><groupId>org.springframework</groupId><artifactId>spring-orm</artifactId…

2024全国研究生数学建模竞赛(数学建模研赛)ABCDEF题深度建模+全解全析+完整文章

全国研究生数学建模竞赛&#xff08;数学建模研赛&#xff09;于9月21日8时正式开赛&#xff0c;赛程4天半&#xff0c;咱这边会在开赛后第一时间给出对今年的6道赛题的评价、分析和解答。包括ABCDEF题深度建模全解全析完整文章&#xff0c;详情可以点击底部的卡片来获取哦。 …

Zookeeper+消息队列(kafka)

目录 一、Zookeeper概述 1、Zookeeper概念 2、Zookeeper工作机制 3、Zookeeper数据结构 4、Zookeeper 应用场景 5、Zookeeper 选举机制 5.1、第一次启动选举机制 5.2、非第一次启动选举机制 二、部署 Zookeeper 集群 1、部署环境 2、安装 zookeeper 软件 3、设置主…

【第十八章:Sentosa_DSML社区版-机器学习之协同过滤】

【第十八章&#xff1a;Sentosa_DSML社区版-机器学习之协同过滤】 1.算子介绍 协同过滤是推荐系统中常用的一种方法。该算法旨在填补用户-产品关联矩阵中缺少的项。在算法中&#xff0c;用户和产品都是通过一组少量的潜在因素描述&#xff0c;这些潜在因素可以用于预测用户-产…

JavaWeb--纯小白笔记06:使用Idea创建Web项目,Servlet生命周期,注解,中文乱码解决

使用Idea创建一个web项目----详细步骤配置&#xff0c;传送门&#xff1a;http://t.csdnimg.cn/RsOs7 src&#xff1a;放class文件 web&#xff1a;放html文件 out&#xff1a;运行过后产生的文件 一创建一个新的web项目(配置好了后)&#xff1a; 在src创建一个文件…

AI辅助编码工具如何影响着程序员开发群体

AI辅助编码工具的出现对程序员开发群体产生了深远的影响&#xff0c;有一些初步基础的程序员&#xff0c;可以借助AI工具的加持&#xff0c;生产效率大大提升&#xff0c;达到中高级程序员的水平。 这些影响可以从多个角度来分析&#xff1a; 提高开发效率&#xff1a; AI工具…

Java 每日一刊(第16期):异常机制

前言 这里是分享 Java 相关内容的专刊&#xff0c;每日一更。 本期将为大家带来以下内容&#xff1a; 异常处理捕获与处理异常自定义异常try-with-resources 异常处理 什么是异常 异常 是程序在运行时出现的意外情况或错误&#xff0c;它中断了程序的正常执行流程。换句话…

【十八】MySQL 8.0 新特性

MySQL 8.0 新特性 目录 MySQL 8.0 新特性 概述 简述 1、数据字典 2、原子数据定义语句 3、升级过程 4、会话重用 5、安全和账户管理 6、资源管理 7、表加密管理 8、InnoDB增强功能 9、字符集支持 10、增强JSON功能 11、数据类型的支持 12、查询的优化 13、公用…

【CSS】字体文本

color 颜色font-size 大小font-family 字体font-style 样式font-weight 加粗text-decoration 下划线text-shadow 阴影text-transform 大小写变换text-indent 缩进text-align 水平对齐 、vertical-align垂直对齐text-overflow 溢出word-wrap 换行word-break 截断white-space 空白…

最新绿豆影视系统 /反编译版源码/PC+WAP+APP端 /附搭建教程+软件

源码简介&#xff1a; 最新的绿豆影视系统5.1.8&#xff0c;这可是个反编译版的源码哦&#xff01;它不仅支持PC端、WAP端&#xff0c;还有APP端&#xff0c;一应俱全。而且附上了搭建教程和软件&#xff0c;安卓和苹果双端都能用&#xff0c;实用方便&#xff01; 优化内容&…

力扣647-回文子串(Java详细题解)

题目链接&#xff1a;力扣647-回文子串 前情提要&#xff1a; 因为本人最近都来刷dp类的题目所以该题就默认用dp方法来做。 dp五部曲。 1.确定dp数组和i下标的含义。 2.确定递推公式。 3.dp初始化。 4.确定dp的遍历顺序。 5.如果没有ac打印dp数组 利于debug。 每一个d…

软考高级:中台相关知识 AI 解读

中台&#xff08;Middle Platform&#xff09;是近年来在软件开发和企业架构中兴起的一种理念和架构模式&#xff0c;尤其在中国的互联网企业中得到了广泛应用。中台的核心思想是通过构建一个共享的服务和能力平台&#xff0c;支持前端业务的快速迭代和创新&#xff0c;从而提升…

【学习笔记】TLS/SSL握手之Records

TLS / SSL会话是由记录&#xff08;Records&#xff09;所组成&#xff0c;有4种records HandshakeAlertChange Cipher SpecApplication DataHandshake和Alert Records被分为子类型&#xff08;Subtypes&#xff09;&#xff1a; Handshake&#xff1a;Client HelloHandshake&a…

塑料瓶回收标志分级检测系统源码分享

塑料瓶回收标志分级检测检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Co…

QT编译之后的debug包下运行程序双击运行出现无法定位程序输入点__gxx_personlity_seh0于动态链接库

1.出现这个错误的原因是&#xff1a; 缺少如下文件&#xff1a; 2.解决方法&#xff1a; 在运行程序.exe所在的目录执行&#xff1a;windeployqt untitled.exe&#xff08;指打包的运行程序&#xff09; 3.如果执行提示由于找不到qt5core.dll,无法继续执行代码和无法识别win…

第十一章 从0-1搭建一个简单的JavaWeb系统(三)

目录 一、工程代码结构 二、代码实现 三、运行效果 四、未完待续 本章节的每一段代码&#xff0c;建议全部自己敲一遍&#xff0c;加深印象&#xff0c;切勿直接复制黏贴。 一、工程代码结构 本章节实现注销&#xff08;退出&#xff09;功能&#xff0c;以下图片中标红的…

无线感知会议系列【4】【基于WiFi和4G/5G的非接触无线感知:挑战、理论和应用-2】

前言&#xff1a; 本篇重点分享一下该论文 《Human Respiration Detection with Commodity Wifi Devices: Do User Location and Body Orientation Matter》 接 2020年北京智源大会 张大庆老师的一个报告 参考&#xff1a; https://blog.csdn.net/chengxf2/article/detai…