模型概述
模型特點
模型能力
使用案例
🚀 混元視頻(HunyuanVideo)
混元視頻(HunyuanVideo)是一個用於大型視頻生成模型訓練的系統框架,可實現文本到視頻、圖像到視頻的生成,在視頻生成性能上表現出色,助力構建更具活力的視頻生成生態。
🚀 快速開始
本倉庫包含了用於探索混元視頻(HunyuanVideo)的PyTorch模型定義、預訓練權重以及推理/採樣代碼。你可以在我們的項目頁面上查看更多可視化內容。
✨ 主要特性
統一的圖像和視頻生成架構
混元視頻引入了Transformer設計,並採用全注意力機制進行統一的圖像和視頻生成。具體而言,在視頻生成方面採用了“雙流到單流”的混合模型設計。在雙流階段,視頻和文本令牌通過多個Transformer塊獨立處理,使每個模態能夠學習自己合適的調製機制而互不干擾。在單流階段,將視頻和文本令牌連接起來,並輸入到後續的Transformer塊中,以實現有效的多模態信息融合。這種設計捕捉了視覺和語義信息之間的複雜交互,提升了整體模型性能。
MLLM文本編碼器
與一些先前的文本到視頻模型通常使用預訓練的CLIP和T5 - XXL作為文本編碼器不同,我們使用具有僅解碼器結構的預訓練多模態大語言模型(MLLM)作為文本編碼器,具有以下優勢:
- 與T5相比,經過視覺指令微調的MLLM在特徵空間中具有更好的圖像 - 文本對齊,減輕了擴散模型中指令跟隨的難度。
- 與CLIP相比,MLLM在圖像細節描述和複雜推理方面表現出更出色的能力。
- MLLM可以通過遵循用戶提示前的系統指令作為零樣本學習器,幫助文本特徵更加關注關鍵信息。此外,MLLM基於因果注意力,而T5 - XXL使用雙向注意力,MLLM能為擴散模型提供更好的文本指導。因此,我們引入了一個額外的雙向令牌精煉器來增強文本特徵。
3D VAE
混元視頻使用CausalConv3D訓練了一個3D VAE,將像素空間的視頻和圖像壓縮到一個緊湊的潛在空間中。我們分別將視頻長度、空間和通道的壓縮比設置為4、8和16。這可以顯著減少後續擴散Transformer模型的令牌數量,使我們能夠在原始分辨率和幀率下訓練視頻。
提示重寫
為了解決用戶提供提示的語言風格和長度的可變性問題,我們微調了[混元大模型](https://github.com/Tencent/Tencent - Hunyuan - Large)作為提示重寫模型,以將原始用戶提示調整為模型偏好的提示。
我們提供了兩種重寫模式:普通模式和專家模式,可以通過不同的提示調用。普通模式旨在增強視頻生成模型對用戶意圖的理解,便於更準確地解釋提供的指令。專家模式增強了對構圖、照明和相機移動等方面的描述,更傾向於生成具有更高視覺質量的視頻。然而,這種強調有時可能會導致一些語義細節的丟失。
提示重寫模型可以使用[混元大模型的原始代碼](https://github.com/Tencent/Tencent - Hunyuan - Large)直接部署和推理。我們在[此處](https://huggingface.co/Tencent/HunyuanVideo - PromptRewrite)發佈了提示重寫模型的權重。
📦 安裝指南
克隆倉庫
git clone https://github.com/tencent/HunyuanVideo
cd HunyuanVideo
Linux安裝指南
我們提供了一個environment.yml
文件用於設置Conda環境。Conda的安裝說明可在此處找到。
我們推薦使用CUDA版本11.8和12.0+。
# 1. 準備conda環境
conda env create -f environment.yml
# 2. 激活環境
conda activate HunyuanVideo
# 3. 安裝pip依賴
python -m pip install -r requirements.txt
# 4. 安裝flash attention v2以加速(需要CUDA 11.8或更高版本)
python -m pip install git+https://github.com/Dao - AILab/flash - attention.git@v2.5.9.post1
此外,混元視頻還提供了一個預構建的Docker鏡像:docker_hunyuanvideo。
# 1. 使用以下鏈接下載docker鏡像tar文件(適用於CUDA 12)
wget https://aivideo.hunyuan.tencent.com/download/HunyuanVideo/hunyuan_video_cu12.tar
# 2. 導入docker tar文件並顯示鏡像元信息(適用於CUDA 12)
docker load -i hunyuan_video.tar
docker image ls
# 3. 基於鏡像運行容器
docker run -itd --gpus all --init --net=host --uts=host --ipc=host --name hunyuanvideo --security - opt=seccomp=unconfined --ulimit=stack=67108864 --ulimit=memlock=-1 --privileged docker_image_tag
💻 使用示例
基礎用法
cd HunyuanVideo
python3 sample_video.py \
--video-size 720 1280 \
--video-length 129 \
--infer-steps 30 \
--prompt "a cat is running, realistic." \
--flow-reverse \
--seed 0 \
--use-cpu-offload \
--save-path ./results
高級用法
我們列出了一些更有用的配置,方便使用:
參數 | 默認值 | 描述 |
---|---|---|
--prompt |
None | 用於視頻生成的文本提示 |
--video-size |
720 1280 | 生成視頻的尺寸 |
--video-length |
129 | 生成視頻的長度 |
--infer-steps |
30 | 採樣步驟數 |
--embedded-cfg-scale |
6.0 | 嵌入式無分類器引導比例 |
--flow-shift |
9.0 | 流匹配調度器的偏移因子 |
--flow-reverse |
False | 是否反向,即從t = 1到t = 0進行學習/採樣 |
--neg-prompt |
None | 用於視頻生成的負提示 |
--seed |
0 | 生成視頻的隨機種子 |
--use-cpu-offload |
False | 使用CPU卸載模型加載以節省更多內存,對於高分辨率視頻生成是必要的 |
--save-path |
./results | 保存生成視頻的路徑 |
📚 詳細文檔
開源計劃
- 混元視頻(文本到視頻模型)
- [x] 推理
- [x] 檢查點
- [ ] 企鵝視頻基準測試
- [ ] Web演示(Gradio)
- [ ] ComfyUI
- [ ] Diffusers
- 混元視頻(圖像到視頻模型)
- [ ] 推理
- [ ] 檢查點
比較
為了評估混元視頻的性能,我們從閉源視頻生成模型中選擇了五個強大的基線。總共使用了1533個文本提示,一次性使用混元視頻生成了相同數量的視頻樣本。為了進行公平比較,我們只進行了一次推理,避免挑選結果。在與基線方法比較時,我們為所有選定的模型保持默認設置,確保視頻分辨率一致。視頻根據三個標準進行評估:文本對齊、運動質量和視覺質量。超過60名專業評估人員進行了評估。值得注意的是,混元視頻表現出了最佳的整體性能,尤其在運動質量方面表現出色。
模型 | 開源 | 時長 | 文本對齊 | 運動質量 | 視覺質量 | 總體 | 排名 |
---|---|---|---|---|---|---|---|
混元視頻(我們的) | ✔ | 5s | 61.8% | 66.5% | 95.7% | 41.3% | 1 |
CNTopA (API) | ✘ | 5s | 62.6% | 61.7% | 95.6% | 37.7% | 2 |
CNTopB (Web) | ✘ | 5s | 60.1% | 62.9% | 97.7% | 37.5% | 3 |
GEN - 3 alpha (Web) | ✘ | 6s | 47.7% | 54.7% | 97.5% | 27.4% | 4 |
Luma1.6 (API) | ✘ | 5s | 57.6% | 44.2% | 94.1% | 24.8% | 6 |
CNTopC (Web) | ✘ | 5s | 48.4% | 47.2% | 96.3% | 24.6% | 5 |
要求
以下表格顯示了運行混元視頻模型(批量大小 = 1)生成視頻的要求:
模型 | 設置(高度/寬度/幀) | GPU峰值內存 |
---|---|---|
混元視頻 | 720px1280px129f | 60GB |
混元視頻 | 544px960px129f | 45GB |
- 需要支持CUDA的NVIDIA GPU。
- 該模型在單個80G GPU上進行了測試。
- 最低要求:對於720px1280px129f,所需的最小GPU內存為60GB;對於544px960px129f,為45GB。
- 推薦:為了獲得更好的生成質量,建議使用具有80GB內存的GPU。
- 測試的操作系統:Linux
下載預訓練模型
下載預訓練模型的詳細信息可在此處查看。
🔧 技術細節
摘要
我們提出了混元視頻(HunyuanVideo),這是一種新穎的開源視頻基礎模型,在視頻生成方面的性能與領先的閉源模型相當,甚至更優。混元視頻具有一個全面的框架,集成了多項關鍵貢獻,包括數據整理、圖像 - 視頻聯合模型訓練,以及旨在促進大規模模型訓練和推理的高效基礎設施。此外,通過有效的模型架構和數據集擴展策略,我們成功訓練了一個參數超過130億的視頻生成模型,使其成為所有開源模型中規模最大的。
我們進行了廣泛的實驗,並實施了一系列有針對性的設計,以確保高視覺質量、運動多樣性、文本 - 視頻對齊和生成穩定性。根據專業人工評估結果,混元視頻優於先前的最先進模型,包括Runway Gen - 3、Luma 1.6和3個表現出色的中文視頻生成模型。通過發佈基礎模型及其應用的代碼和權重,我們旨在縮小閉源和開源視頻基礎模型之間的差距。這一舉措將使社區中的每個人都能夠嘗試他們的想法,促進更具活力和生機的視頻生成生態系統的發展。
混元視頻總體架構
混元視頻在通過因果3D VAE壓縮的時空潛在空間上進行訓練。文本提示使用大語言模型進行編碼,並作為條件。將高斯噪聲和條件作為輸入,我們的生成模型生成一個輸出潛在,該潛在通過3D VAE解碼器解碼為圖像或視頻。
🔗 BibTeX
如果你發現混元視頻對你的研究和應用有用,請使用以下BibTeX進行引用:
@misc{kong2024hunyuanvideo,
title={HunyuanVideo: A Systematic Framework For Large Video Generative Models},
author={Weijie Kong, Qi Tian, Zijian Zhang, Rox Min, Zuozhuo Dai, Jin Zhou, Jiangfeng Xiong, Xin Li, Bo Wu, Jianwei Zhang, Kathrina Wu, Qin Lin, Aladdin Wang, Andong Wang, Changlin Li, Duojun Huang, Fang Yang, Hao Tan, Hongmei Wang, Jacob Song, Jiawang Bai, Jianbing Wu, Jinbao Xue, Joey Wang, Junkun Yuan, Kai Wang, Mengyang Liu, Pengyu Li, Shuai Li, Weiyan Wang, Wenqing Yu, Xinchi Deng, Yang Li, Yanxin Long, Yi Chen, Yutao Cui, Yuanbo Peng, Zhentao Yu, Zhiyu He, Zhiyong Xu, Zixiang Zhou, Yangyu Tao, Qinglin Lu, Songtao Liu, Dax Zhou, Hongfa Wang, Yong Yang, Di Wang, Yuhong Liu, and Jie Jiang, along with Caesar Zhong},
year={2024},
archivePrefix={arXiv preprint arXiv:2412.03603},
primaryClass={cs.CV}
}
📄 許可證
本項目使用騰訊混元社區許可證。
致謝
我們要感謝[SD3](https://huggingface.co/stabilityai/stable - diffusion - 3 - medium)、[FLUX](https://github.com/black - forest - labs/flux)、[Llama](https://github.com/meta - llama/llama)、[LLaVA](https://github.com/haotian - liu/LLaVA)、Xtuner、diffusers和HuggingFace倉庫的貢獻者,感謝他們的開放研究和探索。此外,我們還要感謝騰訊混元多模態團隊在文本編碼器方面提供的幫助。



