使用OpenVINO™加速部署通义Z-Image(造相)文生图模型

引言

【Z-Image-Turbo】(++https://huggingface.co/Tongyi-MAI/Z-Image-Turbo++) 是阿里巴巴通义团队最新推出的高性能文生图模型,基于 Diffusion Transformer (DiT) 架构,6B参数量,仅需不到10个steps的采样,就能够快速生成高质量图像。本文将详细介绍如何使用 Intel® OpenVINO™ 工具套件来优化和部署 Z-Image-Turbo 模型,在 Intel平台上上获得出色的推理性能。

内容列表

  1. 环境准备

  2. 模型下载和转换

  3. 模型部署

第一步,环境准备

基于以下命令可以完成模型部署任务在Python上的环境安装。

复制代码
python -m venv py_venv ./py_venv/Scripts/activate.bat pip uninstall -y optimum transformers optimum-intel diffuserspip install git+https://github.com/huggingface/diffuserspip install git+https://github.com/openvino-dev-samples/optimum-intel.git@zimagepip install nncfpip install torch==2.8.0 torchvision==0.23.0 torchaudio==2.8.0 --index-url https://download.pytorch.org/whl/cpupip install openvino==2025.4

第二步,模型下载和转换

在部署模型之前,我们首先需要将原始的PyTorch模型转换为OpenVINO™的IR静态图格式,并对其进行压缩,以实现更轻量化的部署和最佳的性能表现。通过Optimum提供的命令行工具optimum-cli,我们可以一键完成模型的格式转换和权重量化任务:

复制代码
optimum-cli export openvino --model Tongyi-MAI/Z-Image-Turbo --task text-to-image Z-Image-Turbo-ov --weight-format int4 --group-size 64 --ratio 1.0

其中Tongyi-MAI/Z-Image-Turbo为模型在HuggingFace上的model id, 可用原始模型的本地路径替换;--weight-format int4 --group-size 64 --ratio 1.0为模型量化参数,如果考虑出图质量,也可以用--weight-format fp16 替换。

第三步,模型部署

除了利用Optimum-cli工具导出OpenVINO™模型外,我们还在Optimum-intel中重构了Z-Image模型的Pipeline,将官方示例示例中的的ZImagePipeline替换为OVZImagePipeline便可快速利用OpenVINO™进行模型部署,完整示例可参考以下代码流程。

复制代码
import torchfrom optimum.intel import OVZImagePipeline
# 1. Load the pipelinepipe = OVZImagePipeline.from_pretrained(    "Z-Image-Turbo-ov", device="cpu")
prompt = "Young Chinese woman in red Hanfu, intricate embroidery. Impeccable makeup, red floral forehead pattern. Elaborate high bun, golden phoenix headdress, red flowers, beads. Holds round folding fan with lady, trees, bird. Neon lightning-bolt lamp (⚡️), bright yellow glow, above extended left palm. Soft-lit outdoor night background, silhouetted tiered pagoda (西安大雁塔), blurred colorful distant lights."
# 2. Generate Imageimage = pipe(    prompt=prompt,    height=512,    width=512,    num_inference_steps=9,  # This actually results in 8 DiT forwards    guidance_scale=0.0,     # Guidance should be 0 for the Turbo models    generator=torch.Generator("cpu").manual_seed(42),).images[0]
image.save("example_zimage_ov.png")

生图结果如下:

除此以外我们在OpenVINO™ notebook仓库中构建了更为完整的demo示例,展示效果如下:

总结

本文详细介绍了如何使用 OpenVINO™ 部署通义Z-Image-Turbo 模型,OpenVINO™为 Z-Image-Turbo 提供了显著的性能提升,作为轻量化模型的代表,Z-Image-Turbo特别适合在 Intel CPU/GPU 上进行推理部署。

参考资源

相关推荐
2601_967212723 小时前
智能供电轨道系统供应商技术筛选维度与选型指南
大数据·经验分享
weixin_433417673 小时前
开车去佘山去爬佘山攻略
经验分享
波力海苔夹心脆6753 小时前
C# 机器视觉实战:单相机引导机械手精准贴合,从拍照、偏差计算(平移+旋转)到坐标补偿全解
开发语言·经验分享·数码相机·c#·视觉检测·.net
恒锐丰科技林技术员6 小时前
EG2181 半桥驱动芯片原理与应用解析
经验分享·嵌入式硬件·硬件工程
恒锐丰科技林技术员7 小时前
EG2113D 高压半桥驱动芯片:高压功率变换的实用驱动方案
经验分享·嵌入式硬件·硬件工程
我要 调查网7 小时前
市场调查公司是怎么干活的
经验分享
青绿蓝LCA低碳研究院18 小时前
FSLCI首次在印度举办会议,我们需要学习什么? · 青绿蓝
经验分享
sbjdhjd21 小时前
云安全 | Docker 容器逃逸复盘(三):docker.sock 挂载与 Docker-in-Docker 风险
经验分享·网络安全·docker·云原生·容器·kubernetes·云安全
z775088541 天前
冷链仓储的数据断链怎么解?感知、平台与对接的技术拆解
经验分享
个 人 练 习 生1 天前
C++ string 类模拟实现:从底层理解字符串(上)
开发语言·c++·经验分享·学习·程序人生