Pyramid-Flow
Pyramid-Flow 是一款基于流匹配(Flow Matching)技术的高效开源视频生成模型,旨在以较低的计算成本创作高质量视频。它解决了传统视频扩散模型因全程在全分辨率下处理高噪声数据而导致的算力浪费问题,通过独特的金字塔式架构,在不同分辨率和噪声层级间进行插值,实现了视觉内容的同步生成与解压。
该工具仅需在开源数据集上训练,即可生成长达 10 秒、768p 分辨率且帧率为 24fps 的流畅视频,并原生支持图生视频功能。其核心技术亮点在于采用端到端优化的单一 DiT 架构,结合多 GPU 推理与 CPU 卸载技术,显著降低了显存需求,使普通显卡也能高效运行。此外,最新推出的 miniFLUX 版本进一步优化了人物结构与运动稳定性。
Pyramid-Flow 非常适合 AI 研究人员探索高效的生成式建模方法,也适用于开发者构建视频应用或设计师快速原型创作。对于希望本地部署高性能视频生成模型的进阶用户而言,这是一个兼具学术价值与实用性的优秀选择。
使用场景
某独立游戏开发团队需要为宣传短片快速生成一段 10 秒长、768p 分辨率且人物动作自然的开场动画,但面临算力有限且无商业数据集授权的困境。
没有 Pyramid-Flow 时
- 显存门槛高:传统视频扩散模型需在全分辨率下处理高噪声潜变量,生成 768p 视频往往需要 24GB 以上显存,团队仅有的 8GB 显卡无法运行。
- 人物结构崩坏:现有开源模型在生成长视频时,人物肢体容易扭曲或闪烁,难以满足游戏宣传对角色形象的高要求。
- 训练数据受限:多数高性能模型依赖私有闭源数据训练,团队无法合法获取或微调,导致生成风格与游戏美术不匹配。
- 生成效率低下:为了保证清晰度,通常需要分片段生成再后期拼接,耗时耗力且难以保证时间连贯性。
使用 Pyramid-Flow 后
- 低显存流畅运行:Pyramid-Flow 利用金字塔流匹配技术,支持 CPU 卸载和多 GPU 推理,仅需不到 8GB 显存即可生成 768p 高清视频。
- 人物动作稳定自然:基于 miniFLUX 架构的新版本专门优化了人体结构,生成的 10 秒视频中角色动作流畅,无明显变形或闪烁。
- 纯开源数据训练:该模型完全基于开源数据集训练,团队可合法下载权重并进行微调,轻松适配独特的游戏美术风格。
- 端到端高效生成:无需分片处理,Pyramid-Flow 能直接端到端生成完整的 10 秒 24fps 视频,大幅缩短从创意到成片的周期。
Pyramid-Flow 通过创新的金字塔流匹配机制,让中小团队在有限算力下也能低成本、高质量地创作长篇幅视频内容。
运行环境要求
- Linux
- macOS
- NVIDIA GPU 必需(支持 CUDA),推荐 A100
- 最低显存 8GB(开启 CPU offload 模式),常规运行建议 12GB+,多卡推理支持 2 或 4 卡并行
- Apple Silicon (MPS) 用户可使用 MacBook Pro (如 M2 24GB)
未说明

快速开始
⚡️Pyramid Flow⚡️
这是 Pyramid Flow 的官方仓库,它是一种基于 流匹配 的高效训练型 自回归视频生成 方法。仅通过在 开源数据集 上进行训练,即可生成高质量的 768p 分辨率、24 FPS 的 10 秒视频,并且自然支持图像到视频的生成。
| 10s, 768p, 24fps | 5s, 768p, 24fps | Image-to-video |
|---|---|---|
最新消息
2024.11.13🚀🚀🚀 我们发布了 768p miniFLUX 检查点(最长 10 秒)。我们已将模型结构从 SD3 切换为 mini FLUX,以解决人体结构问题。请尝试我们的 1024p 图像检查点、384p 视频检查点(最长 5 秒)以及 768p 视频检查点(最长 10 秒)。新的 miniflux 模型在人体结构和运动稳定性方面有了显著提升。
2024.10.29⚡️⚡️⚡️ 我们发布了 VAE 训练代码、DiT 微调代码以及使用 FLUX 结构从头开始训练的新模型检查点(Hugging Face)。2024.10.13✨✨✨ 支持 多 GPU 推理 和 CPU 张量卸载。只需不到 8GB 的 GPU 内存即可运行,在多 GPU 上还能获得显著加速。2024.10.11🤗🤗🤗 Hugging Face 演示 已上线。感谢 @multimodalart 的贡献!
目录
简介

现有的视频扩散模型通常以全分辨率运行,大量计算资源都耗费在噪声极高的潜在空间上。相比之下,我们的方法利用流匹配的灵活性(Lipman 等, 2023;Liu 等, 2023;Albergo & Vanden-Eijnden, 2023),在不同分辨率和噪声水平的潜在空间之间进行插值,从而实现视觉内容的同时生成与解压缩,计算效率更高。整个框架采用端到端优化设计,仅使用一个 DiT 模型(Peebles & Xie, 2023),在 20.7k A100 GPU 训练小时内,即可生成 768p 分辨率、24 FPS 的高质量 10 秒视频。
安装
我们建议使用 conda 来搭建环境。当前代码库使用 Python 3.8.10 和 PyTorch 2.1.2(指南),我们正在积极适配更多版本的支持。
git clone https://github.com/jy0205/Pyramid-Flow
cd Pyramid-Flow
# 使用 conda 创建环境
conda create -n pyramid python==3.8.10
conda activate pyramid
pip install -r requirements.txt
然后,从 Hugging Face 下载模型(有两种版本:miniFLUX 或 SD3)。miniFLUX 模型支持 1024p 图像、384p 和 768p 视频生成,而基于 SD3 的模型则支持 768p 和 384p 视频生成。384p 检查点可生成 5 秒、24 FPS 的视频,768p 检查点则可生成最长 10 秒、24 FPS 的视频。
from huggingface_hub import snapshot_download
model_path = 'PATH' # 用于保存下载检查点的本地目录
snapshot_download("rain1011/pyramid-flow-miniflux", local_dir=model_path, local_dir_use_symlinks=False, repo_type='model')
推理
1. Gradio 快速入门
要开始使用,首先安装 Gradio,将模型路径设置为 #L36,然后在本地运行:
python app.py
Gradio 演示将在浏览器中打开。感谢 @tpc2233 的贡献,详情请参见 #48。
或者,您也可以在 @multimodalart 创建的 Hugging Face Space 🤗 上轻松试用。由于 GPU 限制,此在线演示每次只能生成 25 帧(以 8 FPS 或 24 FPS 导出)。您可以复制该空间来生成更长的视频。
Google Colab 快速入门
要在 Google Colab 上快速试用 Pyramid Flow,请运行以下代码:
# 设置
!git clone https://github.com/jy0205/Pyramid-Flow
%cd Pyramid-Flow
!pip install -r requirements.txt
!pip install gradio
# 此代码下载 miniFLUX
from huggingface_hub import snapshot_download
model_path = '/content/Pyramid-Flow'
snapshot_download("rain1011/pyramid-flow-miniflux", local_dir=model_path, local_dir_use_symlinks=False, repo_type='model')
# 启动
!python app.py
2. 推理代码
要使用我们的模型,请按照此链接中的 video_generation_demo.ipynb 推理代码进行操作。我们强烈建议您尝试最新发布的 pyramid-miniflux,它在人体结构和运动稳定性方面有显著提升。请将参数 model_name 设置为 pyramid_flux 即可使用。我们进一步将其简化为以下两步流程。首先,加载下载的模型:
import torch
from PIL import Image
from pyramid_dit import PyramidDiTForVideoGeneration
from diffusers.utils import load_image, export_to_video
torch.cuda.set_device(0)
model_dtype, torch_dtype = 'bf16', torch.bfloat16 # 使用 bf16(暂不支持 fp16)
model = PyramidDiTForVideoGeneration(
'PATH', # 下载的检查点目录
model_name="pyramid_flux",
model_dtype=model_dtype,
model_variant='diffusion_transformer_768p',
)
model.vae.enable_tiling()
# model.vae.to("cuda")
# model.dit.to("cuda")
# model.text_encoder.to("cuda")
# 如果不使用顺序卸载,请取消注释上面的几行 ^
model.enable_sequential_cpu_offload()
然后,您可以根据自己的提示词尝试文本到视频的生成。请注意,384p 版本目前仅支持 5 秒视频(temp 最高设置为 16)!
prompt = "一部电影预告片,讲述一位身穿红色羊毛针织摩托车头盔的30岁太空人的冒险故事,蓝天、盐碱沙漠,电影风格,采用35毫米胶片拍摄,色彩鲜艳"
# 用于384p模型版本
# width = 640
# height = 384
# 用于768p模型版本
width = 1280
height = 768
with torch.no_grad(), torch.cuda.amp.autocast(enabled=True, dtype=torch_dtype):
frames = model.generate(
prompt=prompt,
num_inference_steps=[20, 20, 20],
video_num_inference_steps=[10, 10, 10],
height=height,
width=width,
temp=16, # temp=16: 5秒,temp=31: 10秒
guidance_scale=7.0, # 第一帧的指导权重,384p版本设为7
video_guidance_scale=5.0, # 其他视频潜变量的指导权重
output_type="pil",
save_memory=True, # 如果GPU显存充足,可设为`False`以提高VAE解码速度
)
export_to_video(frames, "./text_to_video_sample.mp4", fps=24)
作为自回归模型,我们的模型还支持(文本条件下的)图像到视频生成:
# 用于384p模型版本
# width = 640
# height = 384
# 用于768p模型版本
width = 1280
height = 768
image = Image.open('assets/the_great_wall.jpg').convert("RGB").resize((width, height))
prompt = "FPV视角飞越长城"
with torch.no_grad(), torch.cuda.amp.autocast(enabled=True, dtype=torch_dtype):
frames = model.generate_i2v(
prompt=prompt,
input_image=image,
num_inference_steps=[10, 10, 10],
temp=16,
video_guidance_scale=4.0,
output_type="pil",
save_memory=True, # 如果GPU显存充足,可设为`False`以提高VAE解码速度
)
export_to_video(frames, "./image_to_video_sample.mp4", fps=24)
CPU卸载
我们还支持两种CPU卸载方式,以降低GPU显存需求。请注意,这些方法可能会牺牲效率。
- 在生成函数中添加
cpu_offloading=True参数,即可在低于12GB的GPU显存下进行推理。该功能由 @Ednaordinary 贡献,详情请参见 #23。 - 在上述步骤之前调用
model.enable_sequential_cpu_offload(),则可在低于8GB的GPU显存下进行推理。该功能由 @rodjjo 贡献,详情请参见 #75。
MPS后端
感谢 @niw,Apple Silicon 用户(例如配备 M2 24GB 的 MacBook Pro)也可以使用 MPS 后端来体验我们的模型!详情请参见 #113。
3. 多GPU推理
对于拥有多个GPU的用户,我们提供了一个推理脚本,它利用序列并行技术来节省每张GPU上的显存。这也能带来显著的速度提升,仅需2.5分钟即可在4张A100 GPU上生成一段5秒、768p、24fps的视频(相比之下,单张A100 GPU需要5.5分钟)。您可以通过以下命令在2张GPU上运行该脚本:
CUDA_VISIBLE_DEVICES=0,1 sh scripts/inference_multigpu.sh
目前该脚本支持2或4张GPU(适用于SD3版本),更多配置可在原始脚本中找到。此外,您还可以启动由 @tpc2233 创建的多GPU Gradio演示,详情请参见 #59。
剧透:我们在训练过程中甚至没有使用序列并行技术,这都要归功于我们高效的金字塔流设计。
4. 使用技巧
guidance_scale参数控制视觉质量。我们建议在768p检查点的文本到视频生成中使用[7, 9]之间的指导权重,而在384p检查点中使用7。video_guidance_scale参数控制运动效果。较高的值会增加动态程度并缓解自回归生成带来的退化,而较低的值则会使视频更加稳定。- 对于10秒视频的生成,我们推荐使用7的指导权重和5的视频指导权重。
训练
1. VAE训练
训练VAE的硬件要求至少需要8张A100 GPU。请参考本文档。这是一个类似MAGVIT-v2的连续3D VAE,应该具有相当高的灵活性。您可以基于这部分VAE训练代码构建自己的视频生成模型。
2. DiT微调
微调DiT的硬件要求至少需要8张A100 GPU。请参考本文档。我们提供了针对自回归和非自回归版本的金字塔流的训练说明。前者更偏向研究用途,后者则更为稳定(但在缺乏时序金字塔的情况下效率较低)。
作品集
以下视频示例以5秒、768p、24fps的规格生成。如需更多结果,请访问我们的项目页面。
对比
在VBench(Huang等,2024)上,我们的方法超越了所有对比的开源基线模型。即使仅使用公开视频数据,其性能也与Kling(快手,2024)和Gen-3 Alpha(Runway,2024)等商业模型相当,尤其是在质量得分(84.74 vs. Gen-3的84.11)和运动流畅度方面表现突出。

我们还进行了一项包含20多名参与者的用户研究。结果显示,我们的方法在运动流畅性等方面明显优于Open-Sora(GitHub)和CogVideoX-2B(THUDM)等开源模型。

致谢
在实现Pyramid Flow的过程中,我们受益于以下优秀项目:
- SD3 Medium 和 Flux 1.0:基于流匹配的最先进图像生成模型。
- Diffusion Forcing 和 GameNGen:将下一帧预测与全序列扩散相结合。
- WebVid-10M、OpenVid-1M 和 Open-Sora Plan:用于文本到视频生成的大规模数据集。
- CogVideoX:一款开源的文本到视频生成模型,共享许多训练细节。
- Video-LLaMA2:用于视频重述的开源视频大语言模型。
引用
如果您觉得本仓库对您的研究有所帮助,请为它点赞,并在您的论文中引用Pyramid Flow:
@article{jin2024pyramidal,
title={Pyramidal Flow Matching for Efficient Video Generative Modeling},
author={Jin, Yang and Sun, Zhicheng and Li, Ningyuan and Xu, Kun and Xu, Kun and Jiang, Hao and Zhuang, Nan and Huang, Quzhe and Song, Yang and Mu, Yadong and Lin, Zhouchen},
jounal={arXiv preprint arXiv:2410.05954},
year={2024}
}
常见问题
相似工具推荐
openclaw
OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你
stable-diffusion-webui
stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。
ComfyUI
ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。
LLMs-from-scratch
LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目,旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型(LLM)。它不仅是同名技术著作的官方代码库,更提供了一套完整的实践方案,涵盖模型开发、预训练及微调的全过程。 该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型,却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码,用户能够透彻掌握 Transformer 架构、注意力机制等关键原理,从而真正理解大模型是如何“思考”的。此外,项目还包含了加载大型预训练权重进行微调的代码,帮助用户将理论知识延伸至实际应用。 LLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API,而是渴望探究模型构建细节的技术人员而言,这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计:将复杂的系统工程拆解为清晰的步骤,配合详细的图表与示例,让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础,还是为未来研发更大规模的模型做准备
Deep-Live-Cam
Deep-Live-Cam 是一款专注于实时换脸与视频生成的开源工具,用户仅需一张静态照片,即可通过“一键操作”实现摄像头画面的即时变脸或制作深度伪造视频。它有效解决了传统换脸技术流程繁琐、对硬件配置要求极高以及难以实时预览的痛点,让高质量的数字内容创作变得触手可及。 这款工具不仅适合开发者和技术研究人员探索算法边界,更因其极简的操作逻辑(仅需三步:选脸、选摄像头、启动),广泛适用于普通用户、内容创作者、设计师及直播主播。无论是为了动画角色定制、服装展示模特替换,还是制作趣味短视频和直播互动,Deep-Live-Cam 都能提供流畅的支持。 其核心技术亮点在于强大的实时处理能力,支持口型遮罩(Mouth Mask)以保留使用者原始的嘴部动作,确保表情自然精准;同时具备“人脸映射”功能,可同时对画面中的多个主体应用不同面孔。此外,项目内置了严格的内容安全过滤机制,自动拦截涉及裸露、暴力等不当素材,并倡导用户在获得授权及明确标注的前提下合规使用,体现了技术发展与伦理责任的平衡。
ML-For-Beginners
ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。