❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发感兴趣,我会每日分享大模型与 AI 领域的开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术!
🥦 微信公众号|搜一搜:蚝油菜花 🥦
大家好,我是蚝油菜花,今天跟大家分享一下 Magic 1-For-1 这个由北京大学、Hedra Inc. 和 Nvidia 联合推出的高效视频生成模型。
🚀 快速阅读
Magic 1-For-1 是一个高效视频生成模型,能够在短时间内生成高质量的视频片段。
- 核心功能:在短时间内生成高质量视频,支持文本到图像和图像到视频的生成任务。
- 技术原理:通过任务分解、扩散模型蒸馏和多模态输入提升生成效率和质量。
Magic 1-For-1 是什么
Magic 1-For-1 是由北京大学、Hedra Inc. 和 Nvidia 联合推出的一个高效视频生成模型。该模型旨在优化内存消耗和推理延迟,能够快速生成高质量的视频片段。模型将复杂的文本到视频生成任务分解为两个更简单的子任务:文本到图像生成(T2I)和图像到视频生成(I2V),从而简化了生成过程并提高了生成效率。
通过这种方式,Magic 1-For-1 使用扩散步骤蒸馏技术显著加速了模型的收敛速度,并基于多模态输入(结合文本和视觉信息)进一步提升了生成视频的质量和语义一致性。此外,模型还采用了量化技术,将模型大小从32GB压缩到16GB,使其能够在消费级GPU上高效运行。
Magic 1-For-1 的主要功能
- 高效生成:在短时间内生成高质量的视频片段。例如,生成5秒的视频仅需3秒,生成1分钟的视频可在1分钟内完成。
- 高质量视频生成:基于优化扩散步骤和多模态输入,生成的视频在视觉质量、运动连贯性和语义一致性方面表现出色。
- 低资源消耗:基于模型量化技术,将模型的内存占用从32GB降低到16GB,使其能在消费级GPU上高效运行。
- 灵活性强:支持多种输入方式,包括文本到图像生成和图像到视频生成,根据用户需求生成多样化的视频内容。
Magic 1-For-1 的技术原理
- 任务分解:将复杂的文本到视频生成任务分解为两个更简单的子任务:文本到图像生成(T2I)和图像到视频生成(I2V)。简化生成过程,让模型更容易训练和优化。
- 扩散模型与扩散步骤蒸馏:基于扩散模型进行视频生成,用扩散步骤蒸馏(如DMD2算法)减少生成所需的步骤数。
- 多模态输入:结合文本和视觉输入(如参考图像)作为条件信号,增强模型的语义理解和生成能力。让生成的视频能更好地捕捉文本描述和参考图像的语义信息。
- 模型优化与量化:基于模型量化技术(如int8量化)减少模型的内存占用,用优化训练策略(如CFG蒸馏)提高模型的推理效率。
- 滑动窗口技术:在生成长视频时,用滑动窗口技术逐步生成视频片段,在保持高效的同时提升整体视频的质量和连贯性。
如何运行 Magic 1-For-1
1. 环境设置
首先,确保安装了 git-lfs
(安装指南)。
推荐使用 conda
来管理项目的依赖项。首先创建一个名为 video-generation
的 conda 环境,并指定 Python 版本:
bash
conda create -n video_infer python=3.9
conda activate video_infer
安装项目依赖项:
bash
pip install -r requirements.txt
2. 下载模型权重
- 创建一个用于存储预训练权重的目录:
bash
mkdir pretrained_weights
- 下载 Magic 1-For-1 模型权重,将
<model_weights_url>
替换为实际的下载链接:
bash
wget -O pretrained_weights/magic_1_for_1_weights.pth <model_weights_url>
- 使用 Hugging Face CLI 下载其他组件:
bash
huggingface-cli download tencent/HunyuanVideo --local_dir pretrained_weights --local_dir_use_symlinks False
huggingface-cli download xtuner/llava-llama-3-8b-v1_1-transformers --local_dir pretrained_weights/text_encoder --local_dir_use_symlinks False
huggingface-cli download openai/clip-vit-large-patch14 --local_dir pretrained_weights/text_encoder_2 --local_dir_use_symlinks False
确保已安装 huggingface-cli
(pip install huggingface_hub
)。
3. 推理
文本 + 图像到视频(单GPU)
运行以下命令进行文本和图像到视频的生成:
bash
python test_ti2v.py --config configs/test/text_to_video/4_step_ti2v.yaml --quantization False
或者使用提供的脚本:
bash
bash scripts/run_flashatt3.sh
量化
- 安装
optimum-quanto
:
bash
pip install optimum-quanto
- 启用量化:
在运行脚本时设置 --quantization True
以启用量化:
bash
python test_ti2v.py --config configs/test/text_to_video/4_step_ti2v.yaml --quantization True
多GPU推理
在多GPU环境下运行推理时,指定GPU数量和ID,并调整配置文件中的 ring_degree
和 ulysses_degree
值以匹配使用的GPU数量。
bash
bash scripts/run_flashatt3.sh test_ti2v.py configs/test/ti2v.yaml 1 0
资源
- GitHub 仓库 :github.com/DA-Group-PK...
❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发感兴趣,我会每日分享大模型与 AI 领域的开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术!
🥦 微信公众号|搜一搜:蚝油菜花 🥦