Z-Image-Turboをローカル環境にインストールして実行する方法(Python・Diffusers・省VRAM対応)

Tongyi-MAI Z-Image-Turbo(6B S3-DiT)をローカルPC(RTX GPU / 16GB VRAM / CPUオフロード)に構築する手順を解説。PyTorch CUDAとHugging Face Diffusersによる実践ガイド。

本ガイドでは、Alibaba Tongyi Labが公開した Z-Image-Turbo(Tongyi-MAI/Z-Image-Turbo)をローカルPC(Windows / Linux / macOS)にセットアップして画像生成を行う手順を解説します。60億(6B)パラメータの単一ストリーム型Diffusion Transformer(S3-DiT) アーキテクチャを採用しており、わずか 8 NFEs(num_inference_steps=9、guidance_scale=0.0)でフォトリアルな1024×1024画像と正確な英語・漢字タイポグラフィを生成できます。

16GB VRAM搭載GPUをお持ちでない場合: 12GB超のモデル重みのダウンロードやCUDA環境構築は不要です。Z-Image オンラインワークスペースまたはZ-Image-Turbo モデルページからサインインすれば、無料スタータークレジットを使ってクラウドGPU上で1秒未満の高速生成をすぐにお試しいただけます。

推奨ハードウェア・ソフトウェア要件

bfloat16 精度でネイティブ推論を快適に実行するための要件は以下の通りです。

  • 推奨GPU:16GB以上のVRAM を搭載したNVIDIA GPU(RTX 4080、RTX 4090、RTX 3090、RTX 4060 Ti 16GB、A10G、H100など)。
  • 8GB〜12GB VRAMのGPU:enable_model_cpu_offload()(CPUオフロード)またはComfyUIでのFP8 / GGUF量子化モデルを利用することで動作可能です(生成時間はやや長くなります)。
  • システムメモリ・ストレージ:24GB以上のメインメモリ(RAM)、および約20GB以上のSSD空き容量。
  • ソフトウェア環境:Python 3.10以降、および動作確認済みのNVIDIA CUDA 12.1以降。

1. Python仮想環境の作成

既存のPythonプロジェクトや他のAIツールとのパッケージ競合を防ぐため、専用の仮想環境 zimage-env を作成します。ターミナル(またはPowerShell)を開き、以下を実行してください。

python -m venv zimage-env

作成した仮想環境を有効化(アクティベート)します。

# Linux / macOS の場合
source zimage-env/bin/activate

# Windows(コマンドプロンプト / PowerShell)の場合
zimage-env\Scripts\activate

2. PyTorchとHugging Face Diffusersのインストール

お使いのCUDAバージョンに対応したPyTorchをインストールします(以下の例はCUDA 12.4向けです。CUDA 12.1や12.6をご利用の場合は --index-url を適宜変更してください)。また、ZImagePipeline を利用するため diffusers をGitHubリポジトリから直接インストールし、あわせて transformers、accelerate、safetensors を導入します。

pip install torch --index-url https://download.pytorch.org/whl/cu124
pip install git+https://github.com/huggingface/diffusers
pip install transformers accelerate safetensors

3. Z-Image-Turboパイプラインの読み込み

Pythonスクリプト(例:run_zimage.py)を作成し、Hugging Faceから Tongyi-MAI/Z-Image-Turbo を読み込みます。画質を維持しつつVRAM使用量を抑えるため、torch.bfloat16 を指定してCUDAデバイスへ転送します。

import torch
from diffusers import ZImagePipeline

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

4. 1024×1024画像の生成(8 NFEs設定)

Z-Image-TurboはDecoupled-DMDステップ蒸留モデルであるため、一般的な拡散モデルとは推奨パラメータが異なります。

  • num_inference_steps=9 に設定します(内部で 8回のDiT順伝播 / 8 NFEs が実行されます)。
  • guidance_scale=0.0 に設定します(蒸留済みモデルのためClassifier-Free Guidanceは不要です)。
prompt = (
    "Rainy Tokyo backstreet at night, warm glowing signboard clearly reading "
    "'MIDNIGHT COFFEE 深夜珈琲', realistic wet asphalt reflections, 35mm photography"
)

image = pipe(
    prompt=prompt,
    height=1024,
    width=1024,
    num_inference_steps=9,
    guidance_scale=0.0,
    generator=torch.Generator("cuda").manual_seed(42),
).images[0]

image.save("z_image_turbo_output.png")

5. 高速化オプション(Flash Attention・モデルコンパイル)

RTX 30 / 40シリーズやA100 / H100などの対応GPUでは、Flash Attention 2および torch.compile() を有効化することで、連続生成時の推論レイテンシをさらに短縮できます。

# Flash Attention バックエンドへ切り替え
pipe.transformer.set_attention_backend("flash")

# 任意:S3-DiTバックボーンのコンパイル(初回のみコンパイル時間が発生します)
# pipe.transformer.compile()

6. 省VRAMモード(8GB〜12GB GPU向けCPUオフロード)

VRAMが8GB〜12GBの環境で CUDA out of memory エラーが発生する場合は、pipe.to("cuda") の代わりに enable_model_cpu_offload() を呼び出してください。未使用のサブモジュールを自動的にシステムRAMへ退避させ、少ないVRAMでも推論が可能になります。

import torch
from diffusers import ZImagePipeline

pipe = ZImagePipeline.from_pretrained(
    "Tongyi-MAI/Z-Image-Turbo",
    torch_dtype=torch.bfloat16,
)
pipe.enable_model_cpu_offload()

ファインチューニングとクラウド版の使い分け

  • カスタムLoRA学習やControlNet連携、CFGスケールによる精密なネガティブプロンプト制御を行いたい場合は、非蒸留ベースモデルのZ-Image-Base 詳細ページをご覧ください。
  • ローカル環境の構築なしで今すぐブラウザから試したい場合は、Z-Image-Turbo オンライン生成ページをご利用ください。
Z-Image-Turboをローカル環境にインストールして実行する方法(Python・Diffusers・省VRAM対応)