)
视频生成媒体生成大模型微调AI 应用【免费下载链接】CogVideo-codetext and image to video generation: CogVideoX (2024) and CogVideo (ICLR 2023)项目地址https://gitcode.com/zai-org/CogVideo-code点击查看免费下载本文以 zai-org/CogVideo-code 开源仓库的官方说明文档为主体系统梳理 CogVideoX 系列文本/图像生成视频模型的完整技术栈从模型规格对比与选型、提示词优化、diffusers 与 SAT 双推理路线、量化推理与内存优化到 diffusers LoRA/SFT 微调与 SAT 微调并结合仓库内的 推理脚本、配置模板 与 训练脚本 等源码进行佐证。读完本文你将能独立完成 CogVideoX 各版本模型的推理部署、低显存适配与自定义数据集微调。一、项目概览与版本演进时间线CogVideoX 是与清影QingYing同源的视频生成大模型开源版本仓库同时维护着 2023 年发布的 Transformer 文生视频模型 CogVideoICLR23。从文档记录的更新历史可以清晰看到系列模型的演进脉络时间关键事件2022-05-19开源 CogVideo首个基于 Transformer 的开源大规模文生视频模型现位于CogVideo分支技术细节见 ICLR23 论文2024-08-06开源 CogVideoX 系列首个模型CogVideoX-2B并配套开源用于近无损视频重建的3D Causal VAE2024-08-27开源更大规模模型CogVideoX-5B显著优化推理性能GTX 1080TI等旧卡可运行 2BRTX 3060等桌面 GPU 可运行 5B2B 模型许可证改为 Apache 2.02024-09-19开源图生视频模型CogVideoX-5B-I2V系列模型自此支持文生视频、视频续写、图生视频三类任务同期开源训练用视频打标模型 CogVLM2-Caption2024-10-09发布飞书技术文档公开 CogVideoX 微调指南全部示例可复现2024-10-10更新技术报告arXiv:2408.06072补充训练细节与演示2024-10-13社区发布 cogvideox-factory 框架可在单张 4090 上微调 CogVideoX-5B支持多分辨率2024-11-08发布CogVideoX1.5支持 10 秒长视频与更高分辨率CogVideoX1.5-5B-I2V支持任意分辨率生成2024-11-15发布 CogVideoX1.5 的 diffusers 版本仅需少量参数调整即可沿用旧代码2025-01-08更新基于 diffusers 版本的 LoRA 微调代码显存占用更低2025-02-28CogVideoX-5B与CogVideoX1.5-5B支持 DDIM Inverse参考 ddim_inversion.py2025-03-24推出 CogKit 框架统一支持 CogView4 与 CogVideoX 系列的微调与推理二、快速开始三条关键前置路径1. 提示词优化强烈建议CogVideoX 使用长文本提示词训练提示词质量直接决定生成视频的质量。官方要求在运行模型前先参考 convert_demo.py用 GLM-4或 GPT-4 等同等能力大模型把用户短提示词改写为符合训练分布的详细长描述。该脚本的调用方式为# 文生视频t2v python convert_demo.py --prompt A girl riding a bike. --type t2v # 图生视频i2v可选提供参考图 python convert_demo.py --prompt the cat is running --type i2v --image_path /path/to/your/image.jpg从源码看t2v 分支使用英文系统提示词约束大模型输出单个视频描述并通过 few-shot 示例如沙滩女孩、足球场慢跑等引导输出风格i2v 分支则要求模型基于输入图像给出极具描述性的视频字幕且不得包含镜头切换、视角位移等描述。默认模型为glm-4-plusgpt-4o亦经测试采样参数为temperature0.01, top_p0.7, max_tokens250失败时最多重试 3 次--retry_times。2. SAT 路线遵循 sat/README.md 的指引。SATSwissArmyTransformer权重包含推理与微调代码适合希望基于 CogVideoX 模型结构做二次改进的研究者进行快速堆叠与开发。该路线对 Python 版本有硬性要求3.10 ~ 3.12含两端。3. Diffusers 路线pip install -r requirements.txt然后参考 cli_demo.py其中包含推理代码的详细说明及常用参数含义。仓库根目录 requirements.txt 必须严格遵循否则可能出现依赖版本不匹配。若需量化推理可结合 Diffusers 与 TorchAO 实现内存高效推理并在编译时获得速度提升。三、模型规格总览选型核心依据下表来自官方文档汇总了当前提供的全部视频生成模型的基础信息是选型与参数配置的第一依据项目CogVideoX1.5-5BCogVideoX1.5-5B-I2VCogVideoX-2BCogVideoX-5BCogVideoX-5B-I2V公开日期2024-11-082024-11-082024-08-062024-08-272024-09-19视频分辨率1360×768Min(W,H)768768 ≤ Max(W,H) ≤ 1360Max(W,H) % 16 0720×480720×480720×480帧数16N 1N ≤ 10默认 8116N 1N ≤ 10默认 818N 1N ≤ 6默认 498N 1N ≤ 6默认 498N 1N ≤ 6默认 49推理精度BF16推荐、FP16、FP32、FP8*、INT8不支持 INT4同左FP16推荐、BF16、FP32、FP8*、INT8不支持 INT4BF16推荐、FP16、FP32、FP8*、INT8不支持 INT4同左单卡显存SAT BF1676GBdiffusers BF1610GB 起*diffusers INT8torchao7GB 起*同左SAT FP1618GBdiffusers FP164GB 起*diffusers INT8torchao3.6GB 起*SAT BF1626GBdiffusers BF165GB 起*diffusers INT8torchao4.4GB 起*同左多卡显存diffusers BF1624GB*同左diffusers FP1610GB*diffusers BF1615GB*同左推理速度Step50FP/BF16单卡 A100约 1000 秒5 秒视频单卡 H100约 550 秒同左单卡 A100约 90 秒单卡 H100约 45 秒单卡 A100约 180 秒单卡 H100约 90 秒同左提示词语言英语*英语*英语*英语*英语*提示词 token 上限224224226226226视频长度5 秒或 10 秒5 秒或 10 秒6 秒6 秒6 秒帧率16 fps16 fps8 fps8 fps8 fps位置编码3d_rope_pos_embed3d_rope_pos_embed3d_sincos_pos_embed3d_rope_pos_embed3d_rope_pos_embed learnable_pos_embedDiffusers 模型THUDM/CogVideoX1.5-5BTHUDM/CogVideoX1.5-5B-I2VTHUDM/CogVideoX-2bTHUDM/CogVideoX-5bTHUDM/CogVideoX-5b-I2VSAT 模型THUDM/CogVideoX1.5-5b-SATTHUDM/CogVideoX1.5-5b-SAT见 sat/README_zh.md见 sat/README_zh.md见 sat/README_zh.md上述模型均可从 HuggingFace、ModelScope、WiseModel 三个平台获取 diffusers 版权重1.5 系列 SAT 权重可从 THUDM 的 SAT 镜像仓库获取。仓库内 inference/cli_demo.py 的RESOLUTION_MAP与表格一一对应cogvideox1.5-*推荐 768×1360cogvideox-*推荐 480×720。官方数据说明与内存优化要点官方文档对上述指标给出了重要限定理解这些才能正确解读数据diffusers 指标前提表格中 diffusers 数据均在启用 diffusers 库全部内置优化下测得且只在NVIDIA A100 / H100上验证过一般可适配所有NVIDIA Ampere 及以上架构。若关闭优化峰值显存约为表中数值的 3 倍但速度提升约 3~4 倍。可选择性关闭以下优化pipe.enable_sequential_cpu_offload() pipe.vae.enable_slicing() pipe.vae.enable_tiling()多卡推理需关闭enable_sequential_cpu_offload()cli_demo.py 中提示可通过device_mapbalanced 移除 offload 实现多卡。INT8 代价INT8 会显著降低推理速度是面向小显存 GPU保质量换速度的取舍。精度匹配CogVideoX-2B 以 FP16 训练、5B 系列以 BF16 训练推理建议使用训练时的精度。量化工具PytorchAO 与 Optimum-quanto 可对文本编码器、Transformer、VAE 分别量化使模型可在免费 T4 Colab 或小显存 GPU 上运行TorchAO 量化与torch.compile完全兼容可显著提速。FP8 仅限 NVIDIA H100 及以上设备需源码安装torch、torchao建议使用 CUDA 12.4。速度测试前提上述推理速度同样在启用内存优化时测得不启用时速度约提升 10%只有 diffusers 版模型支持量化。语言限制模型仅支持英文输入其他语言需经大模型改写为英文。四、diffusers 推理实战核心参数逐项解读inference/cli_demo.py 是 diffusers 路线的主推理解释一个最小可运行示例为python cli_demo.py --prompt A girl riding a bike. --model_path THUDM/CogVideoX1.5-5b --generate_type t2v该脚本的核心逻辑与参数含义如下均可在源码中得到验证参数默认值说明--prompt必填视频内容描述英文--model_pathTHUDM/CogVideoX1.5-5B预训练模型路径或 HF 仓库 ID--generate_typet2v生成类型t2v文生视频、i2v图生视频、v2v视频续写分别加载CogVideoXPipeline/CogVideoXImageToVideoPipeline/CogVideoXVideoToVideoPipeline--image_or_video_pathNonei2v 的参考图或 v2v 的输入视频路径--num_frames81生成帧数1.0 系列 49 帧≈6 秒8fps1.5 系列 81/161 帧对应 5/10 秒16fps--width/--height按模型自动仅 1.5-5B-I2V 支持自定义其他模型会回退到推荐分辨率--num_inference_steps50推理步数越多质量越高--guidance_scale6.0classifier-free guidance 强度越高与提示词越对齐--lora_path/--lora_rankNone/ 128加载微调 LoRA 权重pipe.load_lora_weightsfuse_lora--dtypebfloat16计算精度2B 建议float16--fps16输出视频帧率--seed42随机种子保证可复现--num_videos_per_prompt1每个提示词生成的视频数量源码中还给出了两个工程细节Scheduler 选择默认使用CogVideoXDPMSchedulertimestep_spacingtrailing注释建议 2B 可用CogVideoXDDIMScheduler、5B/5B-I2V 推荐 DPMDPM 调度器下须传use_dynamic_cfgTrue。显存优化默认启用enable_sequential_cpu_offload()、vae.enable_slicing()、vae.enable_tiling()若显存充足如 H100或使用多卡可改用enable_model_cpu_offload()甚至直接.to(cuda)换取更快的推理。量化推理低显存方案inference/cli_demo_quantization.py 提供 int8 / fp8 量化推理python cli_demo_quantization.py --prompt A girl riding a bike. --model_path THUDM/CogVideoX-2b --quantization_scheme fp8 --dtype float16源码实现上该脚本对 text_encoder、transformer、vae 三个子模块分别执行int8_weight_only()或quantize_to_float8(..., ActivationCasting.DYNAMIC)再组装为CogVideoXPipeline。使用前提torchao与torch需从源码安装fp8 仅支持 H100 及以上 NVIDIA GPU所有量化方案均要求 NVIDIA GPU。五、SAT 路线推理与微调SAT 版本是官方为研究者提供的另一套完整方案其说明文档位于 sat/README.md推理与微调均基于sat/目录下的代码与配置。1. 推理流程# 安装依赖 pip install -r requirements.txt # 下载权重以 1.5 为例包含 Transformer、VAE、T5 Encoder 三部分 git lfs install git clone https://huggingface.co/THUDM/CogVideoX1.5-5B-SAT # 修改 sat/configs/cogvideox*.yaml 中的模型路径以及 configs/inference.yaml 中的参数后运行 bash inference.shinference.yaml的关键字段sat/configs/inference.yamlload指向 transformer 目录绝对路径input_type可选txt读 configs/test.txt每行一条提示词或cli命令行输入sampling_num_frames对 1.5-5B 必须是 42 或 22对 5B/2B 必须是 13、11 或 9fp16: True用于 2B、bf16: True用于 5Boutput_dir默认输出到outputs/。从 configs/cogvideox1.5_5b_i2v.yaml 可以看出 1.5 系列模型结构的关键差异num_frames: 8110 秒时为 161、num_layers: 42、hidden_size: 3072、num_attention_heads: 48、patch_size: [2,2,2]、in_channels: 32位置编码使用Rotary3DPositionEmbeddingMixin采样器为VPSDEDPMPP2MSampler配合DynamicCFGscale: 6, exp: 5而 2B 版本配置configs/cogvideox_2b.yaml为num_frames: 49、num_layers: 30、hidden_size: 1920、patch_size: 2、in_channels: 16。2. SAT 微调SAT 微调仅针对 transformer 部分VAE 保持不变T5 仅作编码器。数据集组织为labels/*.txt每段视频对应同名标签文件与videos/*.mp4一一对应风格微调建议至少准备 50 个相似风格的视频-标签对。支持 LoRA 与全参数 SFT 两种方式通过在 configs/sft.yaml 中配置load指向 transformer 路径、train_iters: 1000、save: ckpts、split: 1,0,0、deepspeed.bf16/fp16按 2B/5B 切换LoRA 模式需额外在cogvideox_*_lora.yaml中启用lora_configtarget: sat.model.finetune.lora2.LoraMixin示例r: 256。运行方式bash finetune_single_gpu.sh # 单卡 bash finetune_multi_gpus.sh # 多卡微调后的 SAT 权重不能直接合并推理时使用configs/cogvideox_参数_lora.yaml配置运行bash inference.sh。权重格式转换与导出工具见下文工具链。六、diffusers 微调LoRA 与 SFTdiffusers 版微调指南见 finetune/README_ja.md其核心信息包括硬件需求、数据集格式、脚本用法与最佳实践。硬件需求速查表官方实测模型训练类型分布式策略精度训练分辨率帧×高×宽硬件cogvideox-t2v-2blorarank128DDPfp1649×480×72016GBNVIDIA 4080cogvideox-{t2v,i2v}-5blorarank128DDPbf1649×480×72024GBNVIDIA 4090cogvideox1.5-{t2v,i2v}-5blorarank128DDPbf1681×768×136035GBNVIDIA A100cogvideox-t2v-2bsftDDPfp1649×480×72036GBNVIDIA A100cogvideox-t2v-2bsft1 卡 zero-2 优化器 offloadfp1649×480×72017GBNVIDIA 4090cogvideox-t2v-2bsft8 卡 zero-2 / zero-3fp1649×480×72017GB / 19GBNVIDIA 4090cogvideox-t2v-2bsft8 卡 zero-3 优化器与参数 offloadbf1649×480×72014GBNVIDIA 4080cogvideox-{t2v,i2v}-5bsft1 卡 zero-2 offload / 8 卡 zero-2bf1649×480×72042GBA100 / 4090cogvideox-{t2v,i2v}-5bsft8 卡 zero-3 / 优化器与参数 offloadbf1649×480×72043GB / 28GB4090 / 5090cogvideox1.5-{t2v,i2v}-5bsft1 卡 zero-2 offload / 8 卡 zero-2bf1681×768×136056GB / 55GBA100cogvideox1.5-{t2v,i2v}-5bsft8 卡 zero-3 / offloadbf1681×768×136055GB / 40GBA100注意由于微调相关代码尚未合入 diffusers 官方 release需基于 diffusers 仓库的 main 分支安装git clone https://github.com/huggingface/diffusers.git pip install -e .。数据集格式T2V 与 I2V 的数据集结构略有差异. ├── prompts.txt # 提示词文本 ├── videos/ # .mp4 视频文件 ├── videos.txt # videos/ 内视频文件列表 ├── images/ # (可选I2V) .png 参考图 └── images.txt # (可选I2V) 参考图文件列表I2V 若不提供images/默认使用视频首帧作为参考图像。训练前应遵守帧数必须是 8 的倍数 1如 49、81分辨率建议使用模型默认尺寸CogVideoX 为 480×720CogVideoX1.5 为 768×1360不匹配的样本会被自动 resize可能造成宽高比变形建议预先做 cropresize 处理。为提升训练效率训练前会将视频编码为 latent 缓存到磁盘训练后若修改数据需删除videos/下的latent缓存目录。LoRA 与 SFT 启动bash train_ddp_t2v.sh # 文生视频 LoRA bash train_ddp_i2v.sh # 图生视频 LoRA bash train_zero_t2v.sh # 文生视频 SFTZero 配置 bash train_zero_i2v.sh # 图生视频 SFTZero 配置以 finetune/train_ddp_t2v.sh 为例需要修改的核心参数包括--output_dir输出目录、--data_root数据根目录、--caption_column提示词文件、--image_columnI2V 参考图列表删除则默认用视频首帧、--video_column视频列表、--train_resolution如81x768x1360、--mixed_precision仅 2B 支持 fp16、--checkpointing_steps、--do_validation等。SFT 的 Zero 配置configs/zero2.yaml等由 accelerate_config.yaml 的deepspeed_config_file指定需与脚本内batch_size、gradient_accumulation_steps、mixed_precision保持一致。SFT 训练的两条注意点验证阶段不使用模型 offload24GB 以下显存建议禁用验证Zero-3 会拖慢验证同样建议禁用。微调最佳实践官方建议25 条以上视频对新概念/风格训练效果最优官方实验使用 70 条 200×480×720 的视频并通过跳帧构造 49 帧与 16 帧子集加速实验使用--id_token指定标识 token类似 DreamBooth可提升效果但普通微调也可正常运行lora_alpha官方默认 1 在多次运行中效果不佳建议设为rank或rank // 2rank 建议不小于 64。微调完成后加载方式见 cli_demo.py--lora_path参数SFT 模型需先用checkpoint-*/zero_to_fp32.py合并权重。七、项目结构导览一条龙资源索引官方文档将仓库划分为如下模块对应各自的说明文档与示例代码Colab 快速上手官方提供了可直接在免费 Colab T4 上运行的 NotebookCogVideoX-5B 文生视频、5B INT8 量化文生视频单次约 30 分钟、5B 图生视频、5B 视频续写V2V。Inferenceinference/cli_demo.pydiffusers 推理解释最详尽含常用参数含义cli_demo_quantization.py量化推理可在低显存设备运行改参后可支持 FP8cli_vae_demo.py单独运行 VAE 推理当前需要较多显存后续将优化gradio_composite_demo与 HuggingFace Space 相同的 GUI 代码内置帧插值RIFE与超分工具运行方式见其 READMEpython app.py需配置OPENAI_API_KEY等环境变量convert_demo.py提示词转换gradio_web_demo.py简单的 Gradio Web UI支持 2B/5B 文生视频ddim_inversion.pyDDIM 反转用于视频重建/编辑基于 5B 模型2B 效果不佳。上图仓库内置的 Gradio Web Demo 界面截图来源于官方文档的 Inference 章节finetunefinetune/finetune/README_ja.mddiffusers 版微调方法详解可用自己的数据集微调 CogVideoX训练脚本 train_ddp_t2v.sh / train_zero_t2v.sh、配置模板 configs/zero2.yaml 等均在此目录。satsat/sat/README.mdSAT 权重推理与微调代码说明适合基于 CogVideoX 结构做快速扩展与研究的开发者。工具链tools/convert_weight_sat2hf.pySAT 权重 → HuggingFace 权重export_sat_lora_weight.pySAT 微调权重导出为 diffusers 格式 LoRA Adapterload_cogvideox_lora.py加载 diffusers 版微调 LoRA Adaptercaption视频理解与文字描述生成工具对应 CogVLM2-Captionllm_flux_cogvideox开源本地大模型 Flux CogVideoX 自动生成视频parallel_inference_xdit.py基于 xDiT 的多 GPU 并行推理。八、社区适配生态官方文档列出多个已完成 CogVideoX 适配的社区项目可作为扩展能力的选择RIFLEx-CogVideoX一行代码将视频长度外推一倍、CogVideoX-Fun灵活分辨率与多种启动方式的改良管线、CogStudio功能更丰富的 Gradio Web UI、Xorbits Inference分布式推理一键部署、ComfyUI-CogVideoXWrapperComfyUI 工作流集成、VideoSys高性能视频生成基础设施、AutoDL 镜像社区提供的 Space 一键部署镜像、室内设计微调模型、xDiT多 GPU 集群 DiT 并行推理引擎、CogVideoX-Interpolation关键帧插值、DiffSynth-Studio重构文本编码器/UNet/VAE 的扩散引擎、CogVideoX-ControlnetControlNet 模块、VideoTuna多模型 AI 视频生成聚合仓库、ConsisID基于 5B 的身份保持文生视频模型等。九、CogVideoICLR23系列前身CogVideo 是基于 Transformer 的大规模文生视频模型官方论文《CogVideo: Large-scale Pretraining for Text-to-Video Generation via Transformers》对应的代码位于仓库CogVideo分支。该模型支持较高帧率视频生成如 32 帧、4 秒片段其在线演示原始输入为中文。十、引用与许可证若本项目工作对你有帮助官方建议为仓库点赞并引用两篇论文BibTeX 引用条目可直接在 README_ja.md 的「引用」章节获取CogVideoX 论文 arXiv:2408.06072CogVideo 论文 arXiv:2205.15868。许可证方面本仓库代码以Apache 2.0发布见 LICENSECogVideoX-2B 模型含 Transformer 与 VAE 模块同样为 Apache 2.0CogVideoX-5B 系列模型含 T2V 与 I2V 版本则适用独立的 CogVideoX 模型许可证见 MODEL_LICENSE。使用前请务必确认所选模型对应的许可条款。赞分享视频生成媒体生成大模型微调AI 应用【免费下载链接】CogVideo-codetext and image to video generation: CogVideoX (2024) and CogVideo (ICLR 2023)项目地址https://gitcode.com/zai-org/CogVideo-code点击查看免费下载相关推荐CogVideoX 视频生成模型仓库全景指南模型矩阵、推理调优与 LoRA/SFT 微调实战CogVideoX 视频生成模型仓库全景指南模型矩阵、推理调优与 LoRA/SFT 微调实战 CogVideoX 是智谱 AI「清影」同源的开源视频生成模型系人工智能大模型媒体生成预训练微调Celery Worker Pidbox 远程控制机制深度解析进程信箱Process Mailbox的工作原理与源码实现Celery Worker Pidbox 远程控制机制深度解析进程信箱Process Mailbox的工作原理与源码实现 导读 celery.worker人工智能大模型媒体生成预训练微调CogVideoX 仓库实战指南从模型矩阵、推理部署到微调工具链CogVideoX 仓库实战指南从模型矩阵、推理部署到微调工具链 CogVideoX 是智谱 AITHUDM开源的文本/图像到视频生成模型系列本指南以仓人工智能大模型媒体生成预训练微调上一篇Midway Luckyeye 规则检查工具安装配置、执行与自定义规则包实战下一篇LifeOS Current State 体系用 status: 行量化你的真实当下让覆盖率接管理想状态仪表盘创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考