📘

Z-Image-Turbo を最小構成で試す

に公開

最近 Z-Image という画像生成モデルが公開されていたので、
手元の GPU 環境で軽く動かしてみました。

公式のクラウドではなく、自分のマシンでどこまで実用的かを見るのが目的です。


実行環境

  • OS: Ubuntu 22.04
  • GPU: NVIDIA RTX(VRAM 16GB)
  • CUDA: 11.8
  • Python: 3.10

SDXL を触ったことがあれば、特に迷うポイントはありません。


セットアップ

仮想環境を用意。

conda create -n zimage python=3.10
conda activate zimage

PyTorch(CUDA 対応)をインストール。

pip install torch torchvision torchaudio \
  --index-url https://download.pytorch.org/whl/cu118

依存ライブラリ。

pip install diffusers transformers accelerate safetensors
pip install einops sentencepiece pillow

diffusers 系に慣れていれば、この辺りはいつも通りです。


Z-Image-Turbo を試す

まずは text-to-image の最小構成。

from diffusers import DiffusionPipeline
import torch

pipe = DiffusionPipeline.from_pretrained(
    "Tongyi-MAI/Z-Image-Turbo",
    torch_dtype=torch.bfloat16
).to("cuda")

image = pipe(
    prompt="A cinematic portrait photo, natural light",
    num_inference_steps=8,
    guidance_scale=0.0
).images[0]

image.save("out.png")

8 step でも普通に使える品質が出ます。
**「軽さ重視で割り切ってる設計」**という印象でした。


パラメータで少し戸惑った点

  • guidance_scale0.0 前提
  • step を増やしても品質の差はあまり出ない
  • bfloat16 を使わないと VRAM が厳しい

SD 系の感覚で CFG を上げると、
むしろ不自然になりやすいです。


Image-to-Image も特別な設定なし

from PIL import Image

init_image = Image.open("input.jpg").convert("RGB")

image = pipe(
    prompt="change background to a modern office",
    image=init_image,
    strength=0.8,
    num_inference_steps=8,
    guidance_scale=0.0
).images[0]

image.save("edited.png")

この辺は diffusers の流儀そのまま使えました。


使ってみた感想

  • VRAM 16GB で安定して動く
  • 推論がかなり速い
  • 日本語・英語混在プロンプトでも破綻しにくい

研究用途というより、
ローカルや社内環境で回すことを想定したモデルという印象です。

Z-Image の仕様やモデル構成については、
個人的にまとめたメモもあります(公式リンク整理用)。
https://z-image.io/


参考リンク


まとめ

フル自前で画像生成を回したい場合、
Z-Image-Turbo はかなり現実的な選択肢だと思います。

次は API 化や Docker 化も試してみたいところ。

Discussion