支持轻量化部署的混元3D世界模型Lite版本上线魔乐社区,昇腾部署实践来啦
2025年8月15日,腾讯混元团队全新推出混元3D世界模型1.0-Lite版本,大幅降低运行显存开销,支持消费级显卡部署。混元团队采取了动态FP8量化技术、SageAttention量化技术、Cache算法加速推理等一系列关键技术优化,即使显卡“降级”,模型的效果不仅没有变差,反而更好了。
昇腾支持该模型开箱部署,目前适配模型和权重已上线魔乐社区,欢迎下载体验!
🔗模型链接:https://modelers.cn/models/MindIE/HunyuanWorld-1.0
01
模型介绍
腾讯混元3D世界模型 1.0,是业界首个开源可编辑的世界生成模型,用户只需输入一句话或上传一张图片,就能生成一个完整、可漫游的3D世界,这一创新不仅降低了3D内容创作的门槛,也为游戏开发、VR、数字内容创作等领域带来了全新的可能性。
通过结合全景生成与层次化3D重建等技术,混元3D世界模型1.0 同时支持文字或者图片输入,实现了可交互、可编辑、高质量的360度可漫游场景生成。混元3D世界模型的技术亮点在于其全方位的场景生成能力和高度的可编辑性。通过层次化3D场景表征及生成算法,该模型支持3D Mesh导出,在保证生成场景的逼真度和沉浸感的同时,兼容已有CG管线进行二次开发,如游戏开发、物理仿真、场景编辑等。
自发布以来,混元3D世界模型1.0在社区中备受关注。为了让更多开发者能便捷部署使用混元3D世界模型,混元团队推出了混元3D世界模型1.0-Lite版本,让消费级显卡也能跑世界模型。
运行效果展示:
360°全景:
一键生成360°沉浸式视觉空间,支持文本或者单张图片输入,精准理解复杂语义,智能推理并延展360°全景视野,构建沉浸式VR体验。
可漫游场景:
支持风格多样、空间一致的、可漫游世界生成,一句话或者一张图,低门槛创建自己脑海中的世界。用户可以在生成的场景中自由漫游,体验身临其境的感觉。
接下来,手把手教你如何在昇腾上部署该模型。
02
准备运行环境
表 1 版本配套表
配套 | 版本 |
Python | 3.10 或 3.11 |
torch | 2.1.0 |
1. 获取CANN&MindIE安装包&环境准备
设备支持
Atlas 800I A2/Atlas 800T A2设备 (64G)
Atlas 800I A2/Atlas 800T A2
https://www.hiascend.com/developer/download/community/result?module=pt+ie+cann&product=4&model=32
环境准备指导
https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/80RC2alpha002/softwareinst/instg/instg_0001.html
2. CANN安装
# 增加软件包可执行权限,{version}表示软件版本号,{arch}表示CPU架构,{soc}表示昇腾AI处理器的版本。
chmod +x ./Ascend-cann-toolkit_{version}_linux-{arch}.run
chmod +x ./Ascend-cann-kernels-{soc}_{version}_linux.run
# 校验软件包安装文件的一致性和完整性
./Ascend-cann-toolkit_{version}_linux-{arch}.run --check
./Ascend-cann-kernels-{soc}_{version}_linux.run --check
# 安装
./Ascend-cann-toolkit_{version}_linux-{arch}.run --install
./Ascend-cann-kernels-{soc}_{version}_linux.run --install
# 设置环境变量
source /usr/local/Ascend/ascend-toolkit/set_env.sh
3. MindIE安装
# 增加软件包可执行权限,{version}表示软件版本号,{arch}表示CPU架构。
chmod +x ./Ascend-mindie_${version}_linux-${arch}.run
./Ascend-mindie_${version}_linux-${arch}.run --check
# 方式一:默认路径安装
./Ascend-mindie_${version}_linux-${arch}.run --install
# 设置环境变量
cd /usr/local/Ascend/mindie && source set_env.sh
# 方式二:指定路径安装
./Ascend-mindie_${version}_linux-${arch}.run --install-path=${AieInstallPath}
# 设置环境变量
cd ${AieInstallPath}/mindie && source set_env.sh
4. Torch_npu安装
• 安装pytorch框架 版本2.1.0
安装包下载:
https://download.pytorch.org/whl/cpu/torch/
• 使用pip安装
# {version}表示软件版本号,{arch}表示CPU架构。
pip install torch-${version}-cp310-cp310-linux_${arch}.whl
• 下载 pytorch_v{pytorchversion}_py{pythonversion}.tar.gz
tar -xzvf pytorch_v{pytorchversion}_py{pythonversion}.tar.gz
# 解压后,会有whl包
pip install torch_npu-{pytorchversion}.xxxx.{arch}.whl
03
权重和代码下载
权重及配置文件说明
⭕️下载HunyuanWorld-1.0权重,HunyuanWorld-1.0开源版本基于Flux构建,图/文生世界可按需下载FLUX.1-Fill-dev/FLUX.1-dev模型权重。
⭕️各模型的配置文件、权重文件的层级样例如下所示。
|----HunyuanWorld-1
| |---- HunyuanWorld-PanoDiT-Text
| | |---- 模型权重
| |---- HunyuanWorld-PanoDiT-Image
| | |---- 模型权重
| |---- HunyuanWorld-PanoInpaint-Scene
| | |---- 模型权重
| |---- HunyuanWorld-PanoInpaint-Sky
| | |---- 模型权重
|----FLUX.1-Fill-dev / FLUX.1-dev
| |---- model_index.json
| |---- scheduler
| | |---- scheduler_config.json
| |---- text_encoder
| | |---- config.json
| | |---- 模型权重
| |---- text_encoder_2
| | |---- config.json
| | |---- 模型权重
| |---- tokenizer
| | |---- config.json
| | |---- 模型权重
| |---- tokenizer_2
| | |---- config.json
| | |---- 模型权重
| |---- transformer
| | |---- config.json
| | |---- 模型权重
| |---- vae
| | |---- config.json
| | |---- 模型权重
|----grounding-dino-tiny
| |---- json配置文件
| |---- 模型权重
|----moge-vitl
| |---- model.pt
下载代码 & 安装依赖
git clone https://modelers.cn/MindIE/HunyuanWorld-1.0.git
pip3 install -r requirements.txt
pip3 install torchvision==0.16.0 --no-deps
https://github.com/xinntao/Real-ESRGAN/releases/download/v0.2.1/RealESRGAN_x2plus.pth # 下载后放置在/HunyuanWorld-1.0/hy3dworld/utils/weights路径下
下载其余依赖代码
# moge
git clone https://github.com/microsoft/MoGe.git
# real-esrgan install
cd ..
git clone https://github.com/xinntao/Real-ESRGAN.git
cd Real-ESRGAN
python setup.py develop
# zim anything install & download ckpt from ZIM project page
cd ..
git clone https://github.com/naver-ai/ZIM.git
cd ZIM; pip install -e .
mkdir zim_vit_l_2092
cd zim_vit_l_2092
wget https://huggingface.co/naver-iv/zim-anything-vitl/resolve/main/zim_vit_l_2092/encoder.onnx
wget https://huggingface.co/naver-iv/zim-anything-vitl/resolve/main/zim_vit_l_2092/decoder.onnx
# TO export draco format, you should install draco first
cd ../..
git clone https://github.com/google/draco.git
cd draco
mkdir build
cd build
cmake ..
make
make install
代码修改
⭕️修改/HunyuanWorld-1.0/demo_panogen.py文件中的权重路径。
FLUX_MODEL_PATH = "/……/FLUX.1-dev"
FLUX_FILL_MODEL_PATH = "/……/FLUX.1-Fill-dev"
HUNYUANWORLD_MODEL_PATH = "/……/HunyuanWorld-1"
⭕️修改/HunyuanWorld-1.0/hy3dworld/utils/pano_depth_utils.py文件中路径。
sys.path.append("/……/HunyuanWorld-1.0/MoGe/")
MOGE_MODEL_PATH = "/……/moge-vitl/model.pt"
⭕️修改/HunyuanWorld-1.0/hy3dworld/utils/seg_utils.py文件中路径。
sys.path.append("/……/HunyuanWorld-1.0/ZIM")
⭕️修改/HunyuanWorld-1.0/hy3dworld/models/layer_decomposer.py文件中路径。
GROUNDING_MODEL_PATH = "/……/grounding-dino-tiny"
ZIM_CHECKPOINT_PATH = "/……/HunyuanWorld-1.0/ZIM/zim_vit_l_2092"
FLUX_MODEL_PATH = "/……/FLUX.1-Fill-dev"
HUNYUANWORLD_MODEL_PATH = "/……/HunyuanWorld-1"
⭕️修改diffusers源码文件/diffusers/models/embeddings.py中的get_1d_rotary_pos_embed函数。
修改前:
if use_real and repeat_interleave_real:
# flux, hunyuan-dit, cogvideox
freqs_cos = freqs.cos().repeat_interleave(2, dim=1).float() # [S, D]
freqs_sin = freqs.sin().repeat_interleave(2, dim=1).float() # [S, D]
return freqs_cos, freqs_sin
修改后:
if use_real and repeat_interleave_real:
# flux, hunyuan-dit, cogvideox
freqs=freqs.float()
freqs_cos = freqs.cos().repeat_interleave(2, dim=1) # [S, D]
freqs_sin = freqs.sin().repeat_interleave(2, dim=1) # [S, D]
return freqs_cos, freqs_sin
04
HunyuanWorld-1.0使用
图生世界
1. 图生全景图
TASK_QUEUE_ENABLE=2 ASCEND_RT_VISIBLE_DEVICES=0 python demo_panogen.py \
--prompt "" \
--image_path examples/case2/input.png \
--output_path test_results/case2
参数说明:
• TASK_QUEUE_ENABLE=2:开启二级流水。
• ASCEND_RT_VISIBLE_DEVICES=0:device id,当前仅支持单卡,可设置其他卡id。
• prompt:文本,用于控制生成的文字描述提示。
• image_path:输入图像路径。
• output_path:生成的保存路径。
2. 使用全景图像,生成3D世界场景
TASK_QUEUE_ENABLE=2 ASCEND_RT_VISIBLE_DEVICES=0 python demo_scenegen.py \
--image_path test_results/case2/panorama.png \
--labels_fg1 stones \
--labels_fg2 trees \
--classes outdoor \
--output_path test_results/case2
参数说明:
• image_path:输入图像路径。
• labels_fg1:分层的前景对象1标签,可以通过使用参数labels_fg1和labels_fg2来指定想要分层的前景对象标签,例如设置sculptures、flowers……
• labels_fg2:分层的前景对象2标签,例如设置tree、mountains……
• classes:场景类别
• output_path:生成的保存路径。
文生世界
1. 文生全景图
TASK_QUEUE_ENABLE=2 ASCEND_RT_VISIBLE_DEVICES=0 python demo_panogen.py \
--prompt "At the moment of glacier collapse, giant ice walls collapse and create waves, with no wildlife, captured in a disaster documentary" \
--output_path test_results/case7
参数说明:
• prompt:文本,用于控制生成的文字描述提示。
• output_path:生成的保存路径。
2. 使用全景图像,生成3D世界场景
TASK_QUEUE_ENABLE=2 ASCEND_RT_VISIBLE_DEVICES=0 python demo_scenegen.py \
--image_path test_results/case7/panorama.png \
--classes outdoor \
--output_path test_results/case7
参数说明:
• image_path:输入图像路径。
• classes:场景类别.
• output_path:生成的保存路径。
3D世界可视化
方法一
使用本仓库提供的ModelViewer工具,在网页浏览器中快速可视化自己生成的3D世界。只需在浏览器中打开modelviewer.html,上传生成的3D场景PLY文件,即可享受实时播放体验。
方法二
安装MeshLab软件,可处理和编辑三维网格和点云数据,可视化PLY文件。
注意:
⭕️image_path、output_path应皆为本地合法路径,否则会导致推理抛异常。
⭕️由于硬件限制,某些场景可能无法加载。
欢迎体验
欢迎大家下载体验HunyuanWorld-1.0昇腾版本。如您在使用模型的过程中,发现任何问题(包括但不限于功能问题、合规问题),请在模型的讨论区提交issue,相关开发者将及时审视并解答。