Z-Image-Turbo本地部署(附Mac Windows版教程&源码)

最近阿里开源的文生图小模型Z-image-Turbo强的可怕,参数量只有6B,内存占用仅仅20多G,很适合在个人电脑上做本地部署。

huggingface.co/Tongyi-MAI/...

不过很多人说自己的笔记本没显卡跑不动,想用Z-image-Turbo GGUF量化版,但是又必须搭配ComfyUI,学习起来又比较麻烦。

于是最近我研究了一下优化办法,可以在没有独显的电脑上使用,并且能保证图片生成质量,毕竟我也只有一台Mac笔记本。我的电脑配置是M1 Max 64G+2T,按照Z-image-Turbo的文档来看,本地跑这个模型处处有余,事实上确实如此,以生成1024x1024分辨率的图片为例,最终内存占用稳定在32G左右,如果你的内存是32G的,那也够用了。

生成效果

至于生成效果,我觉得还不错,有些图片甚至能以假乱真,先给大家看看我的作品(多图预警):

基本各种场景都尝试了一遍,考虑到只是一个6B的小模型,效果可谓是很惊艳,甚至有图片质量不输一些付费的AI平台。本地调试成功后,为了方便测试,用Vue替换了Gradio做了一个WebUI,并且把调节参数都开放了出来,这样打开浏览器就可以更加精准的控制生成效果,目前支持调节如下参数:

  • 正面提示词
  • 负面提示词
  • 迭代步数
  • 引导系数(CFG)
  • 图片尺寸
  • 种子模式
  • LoRA色彩、强度
  • 硬件自动检测(cuda、mps、cpu)
  • 图片输出格式(webp、png、jpeg)
  • 历史记录

踩坑记录

其实在本地部署的过程中也踩了不少坑,这里列出来让大家避雷:

  1. 内存占用异常,导致程序崩溃
  2. 画质模糊,成像效果差
  3. 色彩失真,图片毫无质感

关于内存占用异常问题,由于没独显不能用cuda模式,模型默认用cpu来跑,生成一张512x512的图片就爆内存,内存占用达到了59G,直接给进程杀掉了。

好在苹果最新的M系列芯片采用内存和显存共用的模式,推出了mps用于GPU加速(Metal Performance Shaders,类似于英伟达的cuda),于是针对M系列的芯片,我将torch的推理模式改成了mps。

python 复制代码
if torch.cuda.is_available():  
        return"cuda"  
    elif torch.backends.mps.is_available():  
        return"mps"   
    else:  
        return"cpu"

这下解决了爆内存的问题,但是内存占用还是很高,电脑又卡又发烫,生成图片的时候基本不能干其他事。 原因是Z-Image-Turbo 默认推荐使用 FP16 半精度进行推理,这在 Nvdia 显卡(cuda)上表现比较好,但在 Mac M 系列芯片(mps)上,FP16 极易爆内存,为了保证可用性,不得不使用FP32 全精度,但又会导致显存占用翻倍且推理缓慢。

最终经过优化,我切换到了 M 芯片原生支持的 bfloat16 精度,它拥有与 FP32 相同的动态范围(彻底解决溢出/黑屏问题),同时保持了 16 位的轻量体积,这一改进使显存占用相比 FP32 减少了一半,推理速度提升了约 2 倍

python 复制代码
if device == "cuda":  
        # NVIDIA 显卡: FP16 性能最佳且显存占用低  
        return torch.float16  
    elif device == "mps":  
        # Apple Silicon: 必须使用 Bfloat16  
        # 原因1: 避免 FP16 的溢出(黑屏)问题  
        # 原因2: 相比 FP32 节省一半显存,速度翻倍  
        return torch.bfloat16  
    else:  
        # CPU: 兜底使用 FP32,兼容性最好  
        return torch.float32

我做了一下测试,以我的M1 Max 64G内存为例:

  • 生成一张1024x1024的图片,大约180秒,内存稳定占用约33G
  • 生成一张512x512的图片, 大约30秒,内存稳定占用约29G

即使解决了内存占用异常问题,但现在生成的图片质量和官方宣传的还是没法比,虽然分辨率是达到了要求,不过整体比较模糊,锐度缺失,而且色彩和光照都不对,基本没法看。

后来查了资料,其实这里要用到2个东西:VAE(Variational Autoencoder) 和 LoRA(Low-Rank Adaptation)

关于VAE 和 LoRA 的介绍由于篇幅较长这里不做解释,可以简单理解为:

VAE :是滤镜/修图师
LoRA :是风格包/皮肤

  • VAE用来解决画面模糊问题,用来提升清晰度和锐度
python 复制代码
def_apply_optimizations(self):  
        """根据硬件类型应用显存和画质优化"""  
        # [通用] VAE 精度修复: 强制 FP32 以解决模糊问题  
        if hasattr(self.pipe, "vae"):  
            self.pipe.vae.to(dtype=torch.float32)   
            self.pipe.vae.config.force_upcast = True  
            print("👁️ [Optim] VAE 已切换至 FP32 (画质锐化)")
  • LoRA用来做色彩增强,提升彩饱和度和光影质感。
python 复制代码
defupdate_lora(self, enable, scale):  
        """更新 LoRA 状态 (启用/禁用/调整强度)"""  
        # 情况A: 从无到有 -> 直接加载  
        if enable andnot self.current_lora_applied:  
            self.lora_merger.load_lora_weights(config.LORA_PATH, scale)   
            self.current_lora_applied = True  
            return"LoRA 已启用"  
#...

最终便是开始看到的效果,无论是从内存占用、生成速度、生成质量上都有了明显的提升,清晰度和质感和实拍照片没区别。

测试过程中为了方便,就默认用了Gradio做UI,实在是太丑了,后面索性把项目重构了基于(FastAPI 后端 + Vue 3 前端 + SQLite 数据库),另外换成了tailwind.css,颜值提升了一个档次

如何在本地部署?

以Mac电脑为例

1.获取本项目源代码

github.com/ratszhu/Z-I...

2.环境准备

  • 芯片:Apple M1 / M2 / M3 系列(Pro/Max/Ultra 体验更佳)
  • 内存:至少 16GB(推荐 32GB 以上)
  • 硬盘:预留 60GB 以上空间
  • Python环境:建议 Python 3.10 或 3.11 (暂不支持 3.13)

3.安装依赖

推荐使用 requirements.txt 一键安装所有依赖:

shell 复制代码
pip install -r requirements.txt

或者手动安装:

shell 复制代码
pip install torch torchvision torchaudio  
pip install gradio transformers accelerate protobuf sentencepiece safetensors huggingface_hub  
# 安装 Diffusers (开发版)  
pip install git+https://github.com/huggingface/diffusers.git

pip install fastapi uvicorn python-multipart aiofiles websockets

4.模型准备 请确保项目根目录下有以下文件/文件夹:

5.运行在项目根目录下运行:

shell 复制代码
python amin.py

等待终端显示 👉 请访问: http://127.0.0.1:8888 后在浏览器打开即可。

相关推荐
前沿观讯2 小时前
2025年医药行业AI排班系统测评:实验室与产线的精准调度
人工智能
SYC_MORE2 小时前
无需 OCR,多模态大模型如何“读懂” PDF?——基于 GLM-4V-Flash 的智能文档解析原理剖析
人工智能·pdf·ocr
正运动技术2 小时前
正运动技术喜获机器人应用典型案例奖!
人工智能·正运动技术·运动控制器·运动控制卡·正运动·机器视觉运动控制一体机
互联网江湖2 小时前
蚂蚁阿福引爆AI健康赛道,美年健康锚定AI健康智能体核心生态位
大数据·人工智能
青稞社区.2 小时前
小米大模型 Plus 团队提出BTL-UI:基于直觉-思考-关联的GUI Agent推理
人工智能·ui
小鸡吃米…3 小时前
Python的人工智能-机器学习
人工智能·python·机器学习
金融RPA机器人丨实在智能3 小时前
2025汇总:7类Agent智能体,定义AI赋能商业的新未来
大数据·人工智能·agent·实在agent
一代明君Kevin学长3 小时前
Transformer为什么使用多个注意力头?
人工智能·深度学习·transformer
盛世宏博北京3 小时前
学校图书馆自动化恒温恒湿控制系统技术方案
网络·数据库·人工智能