丹摩征文活动|智谱AI引领是实现文本可视化 - CogVideoX-2b 部署与使用
文章目录
- 前言
- 一、DAMODEL平台特性
- 二、创建CPU云实例
- 三、CogVedioX介绍
- 四、DAMODEL一键部署CogVideoX
- 1. 创建丹摩实例(参考上述介绍)
- 2. 配置环境和依赖
- 3. 模拟与配置文件
- 4. 开始运行
- 4.1 调试
- 4.2 webUI
- 4.3 端口映射
前言
DAMODEL(丹摩智算)是一款专为满足高性能计算需求而设计的云端解决方案。我们提供多款高性能的GPU资源,您可以根据自己的需求灵活租赁,无需购买和维护昂贵的硬件设备。产品以高性能、灵活性为核心,致力于为炼丹师们提供高效、便捷的计算服务。
提示:以下是本篇文章正文内容,下面案例可供参考
一、DAMODEL平台特性
-
超友好!
配备 124G 大内存和 100G 大空间系统盘,一键部署,三秒启动,让 AI 开发从未如此简单! -
资源多!
从入门级到专业级 GPU 全覆盖,无论初级开发还是高阶应用,你的需求,我们统统 Cover! -
性能强!
自建 IDC,全新 GPU,每一位开发者都能体验到顶级的计算性能和专属服务,大平台值得信赖!
二、创建CPU云实例
-
登录DAMODEL平台进入DAMODEL控制台,点击资源-GPU云实例,点击创建实例:
-
进入创建页面后,首先在实例配置中选择付费类型,一般短期需求可以选择按量付费或者包日,长期需求可以选择包月套餐;其次选择单卡或多卡启动,然后选择需求的GPU型号,首次创建实例推荐选择:按量付费–GPU数量1–NVIDIA-GeForc-RTX-4090,该配置为60GB内存,24GB的显存。
-
往下翻,配置数据硬盘的大小,每个实例默认附带了50GB的数据硬盘,首次创建可以就选择默认大小50GB,可以看到,平台提供了一些基础镜像供快速启动,镜像中安装了对应的基础环境和框架,这里选择PyTorch1.13.1的框架启动。
-
点击创建密钥对,输入自定义的名称,然后选择自动创建并将创建好的私钥保存的自己电脑中并将后缀改为.pem,以便后续本地连接使用。
三、CogVedioX介绍
CogVideoX是智谱AI推出的视频生成模型。CogVideoX支持英文提示词,能够根据用户的输入生成相应的视频。初代模型生成的视频长度为6秒,每秒8帧,分辨率为720x480。随着技术的不断发展,后续版本如CogVideoX v1.5已支持5秒和10秒的视频长度、768P的分辨率以及16帧的生成能力。其具有以下特点:
特点 | 分析 |
---|---|
高效的三维变分自编码器结构 | CogVideoX采用了一套高效的三维变分自编码器结构(3D VAE),该结构能够将原始视频数据压缩至原始大小的2%,从而降低了视频扩散生成模型的训练成本和难度。结合3D RoPE位置编码模块,该技术提升了在时间维度上对帧间关系的捕捉能力,有助于建立视频中的长期依赖关系。 |
端到端的视频理解模型 | 智谱AI打造了一款端到端的视频理解模型,该模型能够为大量视频数据生成描述。这一创新增强了模型对文本的理解和对指令的遵循能力,确保生成的视频更加符合用户的输入需求,并能够处理超长且复杂的prompt指令。 |
文本、时间、空间三维一体融合的Transformer架构 | CogVideoX采纳了一种将文本、时间、空间三维一体融合的Transformer架构。该架构摒弃了传统的cross attention模块,设计了Expert Block以实现文本与视频两种不同模态空间的对齐,并通过Full Attention机制优化模态间的交互效果。 |
随着大型模型技术的持续发展,视频生成技术正逐步走向成熟。CogVideoX作为智谱AI推出的开源视频生成模型,在视频生成领域具有广泛的应用前景。未来,智谱技术团队将继续扩大数据量和模型规模,探索更高效的模型架构,以实现更优质的视频生成体验。同时,CogVideoX的开源也将推动整个行业的快速迭代与创新发展,为开发者提供更加丰富的视频生成工具和平台。综上所述,CogVideoX是一款功能强大、技术领先的视频生成模型,具有广泛的应用前景和发展潜力。
项目地址:https://github.com/THUDM/CogVideo
模型下载:https://huggingface.co/THUDM/CogVideoX-2b
四、DAMODEL一键部署CogVideoX
1. 创建丹摩实例(参考上述介绍)
由于 CogVideoX 在 FP-16 精度下的推理至少需 18GB 显存,微调则需要 40GB 显存,我们这里可以选择L40S 显卡(推荐)或者4090 显卡,硬盘可以选择默认的 100GB 系统盘和 50GB 数据盘,镜像选择 PyTorch2.3.0、Ubuntu-22.04,CUDA12.1 镜像,创建并绑定密钥对,最后启动
2. 配置环境和依赖
- 进入 JupyterLab 后,打开终端
- 首先拉取 CogVideo 代码的仓库,下载完成后解压缩CogVideo-main.tar
wget http://file.s3/damodel-openfile/CogVideoX/CogVideo-main.tar
tar -xf CogVideo-main.tar
- 进入 CogVideo-main 文件夹,输入安装对应依赖
cd CogVideo-main/
pip install -r requirements.txt
- 以上依赖安装好后,可以在终端输入 python,然后输入以下代码进行测试,显示如下状态,没有报错就说明依赖安装成功!输入quit()可退出 python
import torch
from diffusers import CogVideoXPipeline
from diffusers.utils import export_to_video
3. 模拟与配置文件
除了配置代码文件和项目依赖,还需要上传 CogVideoX 模型文件和对应的配置文件。
- 平台已预置了 CogVideoX 模型,可内网高速下载,执行以下命令,下载完成后解压缩CogVideoX-2b.tar
cd /root/workspace
wget http://file.s3/damodel-openfile/CogVideoX/CogVideoX-2b.tar
tar -xf CogVideoX-2b.tar
4. 开始运行
4.1 调试
进入CogVideo-main文件夹,运行test.py文件
cd /root/workspace/CogVideo-main
python test.py
test.py 代码内容如下,主要使用diffusers库中的CogVideoXPipeline模型,加载了一个预训练的 CogVideo 模型,然后根据一个详细的文本描述(prompt),生成对应视频:
import torch
from diffusers import CogVideoXPipeline
from diffusers.utils import export_to_video
# prompt里写自定义想要生成的视频内容
prompt = "A panda, dressed in a small, red jacket and a tiny hat, sits on a wooden stool in a serene bamboo forest. The panda's fluffy paws strum a miniature acoustic guitar, producing soft, melodic tunes. Nearby, a few other pandas gather, watching curiously and some clapping in rhythm. Sunlight filters through the tall bamboo, casting a gentle glow on the scene. The panda's face is expressive, showing concentration and joy as it plays. The background includes a small, flowing stream and vibrant green foliage, enhancing the peaceful and magical atmosphere of this unique musical performance."
pipe = CogVideoXPipeline.from_pretrained(
"/root/workspace/CogVideoX-2b", # 这里填CogVideo模型存放的位置,此处是放在了数据盘中
torch_dtype=torch.float16
).to("cuda")
# 参数do_classifier_free_guidance设置为True可以启用无分类器指导,增强生成内容一致性和多样性
# num_videos_per_prompt控制每个prompt想要生成的视频数量
# max_sequence_length控制输入序列的最大长度
prompt_embeds, _ = pipe.encode_prompt(
prompt=prompt,
do_classifier_free_guidance=True,
num_videos_per_prompt=1,
max_sequence_length=226,
device="cuda",
dtype=torch.float16,
)
video = pipe(
num_inference_steps=50,
guidance_scale=6,
prompt_embeds=prompt_embeds,
).frames[0]
export_to_video(video, "output.mp4", fps=8)
运行成功后,可以在当前文件夹中找到对应 prompt 生成的 output.mp4 视频
4.2 webUI
模型官方也提供了 webUIDemo,进入CogVideo-main文件夹,运行gradio_demo.py文件:
cd /root/workspace/CogVideo-main
python gradio_demo.py
运行后我们可以看到,访问路径是本地 urlhttp://0.0.0.0:7870:
4.3 端口映射
此时我们需要通过丹摩平台提供的端口映射能力,把内网端口映射到公网;
进入GPU 云实例页面,点击操作-更多-访问控制:
点击添加端口,添加7870端口
添加成功后,通过访问链接即可访问到刚刚启动的 gradio 页面