ByteDance/Bernini-R

Hugging Face Models Trending 模型

摘要

字节跳动开源了 Bernini-R,一种视频扩散渲染器,结合了基于 MLLM 的语义规划器和基于 DiT 的渲染器,用于统一的视频生成和编辑,在视频编辑上达到顶尖性能。

任务:image-text-to-video 标签:safetensors, bernini_renderer, image-text-to-video, arxiv:2605.22344, license:apache-2.0, region:us
查看原文
查看缓存全文

缓存时间: 2026/06/03 09:39

ByteDance/Bernini-R · Hugging Face 来源: https://huggingface.co/ByteDance/Bernini-R Bernini #### 潜在语义规划用于视频扩散 陈晨、陈俊毅、李磊*、迟路*、§、孙明臻*、李卓颖*、付一、郭若宇、吴一恒、白戈、袁泽寰✉** *同等贡献✉通讯作者§项目负责人 arXiv (https://arxiv.org/abs/2605.22344)项目页面 (https://bernini-ai.github.io/)HuggingFace (https://huggingface.co/ByteDance/Bernini) ## https://huggingface.co/ByteDance/Bernini-R#%F0%9F%8E%89-news🎉 新闻 - [2026-06-01] 我们开源了 Bernini 渲染器(Bernini-R)的推理代码和模型权重。 - [2026-05-22] 我们发布了论文 Bernini: Latent Semantic Planning for Video Diffusion (https://arxiv.org/abs/2605.22344)。 ## https://huggingface.co/ByteDance/Bernini-R#%E2%9C%A8-highlights✨ 亮点 Bernini 是一个统一的视频生成与编辑框架,它将基于 MLLM 的语义规划器与基于 DiT 的渲染器相结合。在视频编辑方面,Bernini 达到了领先闭源商业模型的第一梯队。以下排行榜来自我们自建的对战平台,人工标注员对成对编辑进行盲投,投票结果汇总为 Bradley-Terry 分数和两两胜率矩阵。 视频编辑对战:Bradley-Terry 排行榜和两两胜率矩阵 ## https://huggingface.co/ByteDance/Bernini-R#%F0%9F%93%A6-installation📦 安装 ### https://huggingface.co/ByteDance/Bernini-R#requirements要求 - Python 3.11.2。 - CUDA GPU — 建议使用 Hopper GPU(H100/H800/H200)以启用 FlashAttention-3;其他 CUDA GPU 将回退到 FlashAttention-2 或 PyTorch SDPA。 - CUDA 工具包 12.4(与固定的 torch==2.5.1+cu124 匹配;如果构建 FlashAttention-3,最低需要 12.3+)。 - 固定于 requirements.txt 中:torch==2.5.1+cu124, diffusers==0.35.2, accelerate==0.34.2, transformers==4.57.3。 参考环境(Bernini-R 在此配置上开发和测试): 组件版本GPU NVIDIA H100CUDA12.4Python3.11.2PyTorch2.5.1+cu124 ### https://huggingface.co/ByteDance/Bernini-R#install安装 git clone https://github.com/bytedance/Bernini.git bernini && cd bernini pip install -r requirements.txt 可选扩展: - 多 GPU 序列并行 需要 Open-VeOmni (https://github.com/ByteDance-Seed/VeOmni)(Apache-2.0,Python 3.11)。使用 --no-deps 以避免 VeOmni 引入不同版本的 torch 覆盖固定的 torch==2.5.1+cu124pip install --no-deps git+https://github.com/ByteDance-Seed/[email protected]。单 GPU 推理不需要。 - 更快的注意力机制(如果安装则自动检测,否则使用 PyTorch SDPA): - FlashAttention-2 — 通用 CUDA GPU(包括 A100/A800):pip install flash-attn==2.8.3。 - FlashAttention-3 — 仅限 Hopper(H100/H800/H200,CUDA ≥ 12.3,PyTorch ≥ 2.4)。flash_attn_interface 不在 PyPI 上,需从 flash-attention (https://github.com/Dao-AILab/flash-attention) 仓库的 hopper/ 目录下标签 v2.8.3 构建: git clone https://github.com/Dao-AILab/flash-attention.git cd flash-attention && git checkout v2.8.3 cd hopper && MAX_JOBS=$(nproc) python3 setup.py install --user ### https://huggingface.co/ByteDance/Bernini-R#weights权重 Bernini-R 提供了获取渲染器权重的两种方式。推荐使用 diffusers 格式——它是一个自包含的 diffusers 格式目录,其 transformer/transformer_2 已包含 Bernini-R 权重,因此只需将 --config 指向该目录即可直接加载权重,无需 --high_noise_ckpt/--low_noise_ckpt。 #### https://huggingface.co/ByteDance/Bernini-R#option-a–diffusers-format-recommended选项 A — diffusers 格式(推荐) 单个即用的 diffusers 格式模型,来自 ByteDance/Bernini-R-Diffusers (https://huggingface.co/ByteDance/Bernini-R-Diffusers)。它包含了 Wan2.2 基础组件(VAE、UMT5 文本编码器、分词器)以及 Bernini-R transformer 权重,因此运行时无需额外下载其他组件。 pip install -U "huggingface_hub" hf download ByteDance/Bernini-R-Diffusers --local-dir Bernini-R-Diffusers 然后通过 --config 指定该目录并省略检查点标志,例如: python infer_single_gpu.py --config Bernini-R-Diffusers \ --case assets/testcases/t2i/t2i.json --num_frames 1 #### https://huggingface.co/ByteDance/Bernini-R#option-b–separate-checkpoints选项 B — 独立检查点 原始布局,Bernini-R 分别使用两组权重: 1. Wan2.2 基础 — Hugging Face 上的 Wan-AI/Wan2.2-T2V-A14B-Diffusers (https://huggingface.co/Wan-AI/Wan2.2-T2V-A14B-Diffusers)。提供 VAE、UMT5 文本编码器、分词器以及 transformer 架构/基础权重。首次运行时自动下载(由 configs/bernini_renderer_wan22/config.json 中的 wan22_base 配置)。 2. Bernini-R 检查点 — 训练好的高噪声/低噪声 transformer 权重(safetensors),来自 ByteDance/Bernini-R (https://huggingface.co/ByteDance/Bernini-R),通过 --high_noise_ckpt/--low_noise_ckpt 传入。接受本地目录和 Hugging Face 仓库 ID。 使用 huggingface-cli 下载模型: pip install -U "huggingface_hub" hf download Wan-AI/Wan2.2-T2V-A14B-Diffusers --local-dir Wan2.2-T2V-A14B-Diffusers hf download ByteDance/Bernini-R --local-dir Bernini-R ## https://huggingface.co/ByteDance/Bernini-R#%F0%9F%9A%80-usage🚀 用法 一次运行由一个 case 文件 描述——它是 assets/testcases/ (https://huggingface.co/ByteDance/Bernini-R/blob/main/assets/testcases/) 下的一个小 JSON 文件,整合了任务的路由和输入(task_typeguidance_modeprompt、源媒体、output)。这样可以将较长的提示词从命令行中分离。每个任务在 assets/testcases/ 下有一个目录,包含一个或多个 case 文件;有关格式及附带的 t2i/i2i/t2v/v2v/rv2v/r2v 示例,请参见 assets/testcases/ (https://huggingface.co/ByteDance/Bernini-R/blob/main/assets/testcases/)。 ### https://huggingface.co/ByteDance/Bernini-R#prompt-enhancer-highly-recommended提示增强器(强烈推荐) --use_pe 通过兼容 OpenAI 的端点增强提示,建议用于最佳生成质量。requirements.txt 已安装 openai SDK;通过环境变量配置端点: export BERNINI_PE_API_KEY=... # 或 OPENAI_API_KEY export BERNINI_PE_BASE_URL=... # 或 OPENAI_BASE_URL export BERNINI_PE_MODEL=... # 支持视觉的聊天模型 ### https://huggingface.co/ByteDance/Bernini-R#examples-by-task-type按任务类型的示例 除非示例另有说明,推理输出为 480p / 16fps(默认值 — --max_image_size 848--fps 16)。每个示例运行 assets/testcases/ (https://huggingface.co/ByteDance/Bernini-R/blob/main/assets/testcases/) 下的一个内置 case — 将 <high_noise_ckpt>/<low_noise_ckpt> 替换为你的高/低噪声检查点路径。图像任务(t2ii2i)在单个 GPU 上演示;视频任务在 8 个 GPU 上通过 torchrun 运行,其中 --ulysses N 表示每个样本使用 N 路 Ulysses 序列并行,剩余的 world_size / N 个 rank 对任务列表进行数据并行。两个脚本接受相同的输入,因此任何示例都可以用任意一种方式运行。 输入也可以直接作为标志传递以替代 --case--prompt--task_type--guidance_mode--video--image--images--output);生成参数(--seed--num_frames等)始终是命令行标志。 文本到图像t2i) — 单 GPU;生成单帧,因此传递 --num_frames 1 python infer_single_gpu.py --high_noise_ckpt <high_noise_ckpt> --low_noise_ckpt <low_noise_ckpt> \ --case assets/testcases/t2i/t2i.json --num_frames 1 图像编辑i2i) — 单 GPU;生成单帧,因此传递 --num_frames 1 python infer_single_gpu.py --high_noise_ckpt <high_noise_ckpt> --low_noise_ckpt <low_noise_ckpt> \ --case assets/testcases/i2i/i2i.json --num_frames 1 文本到视频t2vtorchrun --nproc-per-node 8 infer_multi_gpu.py \ --high_noise_ckpt <high_noise_ckpt> --low_noise_ckpt <low_noise_ckpt> --ulysses 8 \ --case assets/testcases/t2v/t2v.json 视频编辑v2v/mv2v) — 提供了两个 case。对于主要对象保持正常运动(case 1 向场景中添加雪人)的编辑,v2v 任务类型就足够了: torchrun --nproc-per-node 8 infer_multi_gpu.py \ --high_noise_ckpt <high_noise_ckpt> --low_noise_ckpt <low_noise_ckpt> --ulysses 8 \ --case assets/testcases/v2v/v2v_case1.json 对于需要改变对象运动(case 2 让人物蹲下)的编辑,mv2v 任务类型效果更好: torchrun --nproc-per-node 8 infer_multi_gpu.py \ --high_noise_ckpt <high_noise_ckpt> --low_noise_ckpt <low_noise_ckpt> --ulysses 8 \ --case assets/testcases/v2v/v2v_case2.json 参考 + 视频编辑rv2v) — 提供了两个 case。Case 1 是参考图像引导的视频编辑 — 将源视频中的服装替换为参考图像中的服装: torchrun --nproc-per-node 8 infer_multi_gpu.py \ --high_noise_ckpt <high_noise_ckpt> --low_noise_ckpt <low_noise_ckpt> --ulysses 8 \ --case assets/testcases/rv2v/rv2v_case1.json Case 2 是视频插入示例 — 将内容插入到源视频中。以 720p / 24fps 运行以更清晰地显示插入结果: torchrun --nproc-per-node 8 infer_multi_gpu.py \ --high_noise_ckpt <high_noise_ckpt> --low_noise_ckpt <low_noise_ckpt> --ulysses 8 \ --case assets/testcases/rv2v/rv2v_case2.json \ --num_frames 121 --fps 24 --max_image_size 1280 参考到视频r2v) — 从一张或多张参考图像生成视频 torchrun --nproc-per-node 8 infer_multi_gpu.py \ --high_noise_ckpt <high_noise_ckpt> --low_noise_ckpt <low_noise_ckpt> --ulysses 8 \ --case assets/testcases/r2v/r2v.json 查看 python infer_single_gpu.py --help 获取完整参数列表。 ### https://huggingface.co/ByteDance/Bernini-R#gradio-demoGradio 演示 gradio_demo.py 通过 Gradio UI 提供相同的流程:任务类型下拉菜单自动填充 guidance_mode(用户仍可编辑),上传的媒体路由到相应插槽,结果内联显示。 # 单 GPU python gradio_demo.py --high_noise_ckpt <high_noise_ckpt> --low_noise_ckpt <low_noise_ckpt> --port 7860 # 8 GPU,8 路 Ulysses 序列并行 torchrun --nproc-per-node 8 gradio_demo.py --ulysses 8 \ --high_noise_ckpt <high_noise_ckpt> --low_noise_ckpt <low_noise_ckpt> --port 7860 --share 添加 --use_pe(以及 export OPENAI_API_KEY=.../BERNINI_PE_API_KEY=...)以启用 GPT 提示增强;UI 中的复选框是该标志之上的按请求开关。 ## https://huggingface.co/ByteDance/Bernini-R#%F0%9F%93%91-citation📑 引用 如果在研究中使用了 Bernini,请引用: @article{bernini, title = {Bernini: Latent Semantic Planning for Video Diffusion}, author = {Chenchen Liu and Junyi Chen and Lei Li and Lu Chi and Mingzhen Sun and Zhuoying Li and Yi Fu and Ruoyu Guo and Yiheng Wu and Ge Bai and Zehuan Yuan}, journal = {arXiv preprint arXiv:2605.22344}, year = {2026} } ## https://huggingface.co/ByteDance/Bernini-R#%F0%9F%99%8F-acknowledgements🙏 致谢 Bernini 基于多个优秀的开源项目构建: - Wan2.2-T2V-A14B (https://huggingface.co/Wan-AI/Wan2.2-T2V-A14B) - Qwen2.5-VL-7B-Instruct (https://huggingface.co/Qwen/Qwen2.5-VL-7B-Instruct) - VeOmni (https://github.com/ByteDance-Seed/VeOmni) 我们感谢这些项目的作者和社区所做的贡献。 ## https://huggingface.co/ByteDance/Bernini-R#%F0%9F%93%84-license📄 许可 Apache License 2.0。参见 LICENSE (https://huggingface.co/ByteDance/Bernini-R/blob/main/LICENSE)。

相似文章

bytedance-research/Lance

Hugging Face Models Trending

字节跳动研究团队推出Lance,一个30亿参数(3B参数)的统一多模态模型,在128块A100 GPU上从零开始训练,能够在单一框架内进行图像和视频的理解、生成和编辑。

LoomVideo:统一多模态输入的视频生成与编辑

Hugging Face Daily Papers

LoomVideo提出了一种5B参数的统一架构用于视频生成和编辑,通过新颖的条件机制和多模态对齐减少计算开销,实现了具有竞争力的性能和更快的推理速度。

长视频生成(阅读时间 4 分钟)

TLDR AI

本文介绍了 A²RD,这是一种利用智能体自回归扩散生成一致性长视频的新型架构。该架构提出了检索-合成-优化-更新(Retrieve–Synthesize–Refine–Update)循环机制,并推出了一个新的基准测试 LVBench-C,以解决长时视频合成中的语义漂移问题。