Z-Image 基准测试:质量评分与模型排名分析
关键词: z-image benchmark leaderboard
目录
- 基准测试方法学
- 核心指标解读
- Artificial Analysis 排行榜排名
- 与主流开源模型对比
- LMSYS Chatbot Arena 图像生成排名
- 主观质量评估
- 性能基准测试
- 训练质量基准测试
- 基准测试复现指南
- 自动化基准的局限性
- 实际意义:基准对真实使用的影响
- 参考资源
基准测试方法学
扩散模型基准测试旨在通过标准化方法量化模型在不同维度上的表现。目前主流的基准测试框架包括自动指标评估和人类偏好评估两大类。
测试数据集
基准测试通常使用以下标准数据集:
- COCO Captions: 8 万+图像-文本对,涵盖日常场景
- LAION-AESTHETICS: 美学评分数据集,用于评估生成图像视觉质量
- Parti Prompts: 5000 个精心设计的测试提示词,覆盖多种风格、主题和复杂度
- PickleMix: 包含多种难度的图像生成提示词
测试流程
提示词集合 → 模型推理 → 图像生成 → 自动指标计算 → 人类评分 → 综合排名
核心指标解读
FID (Fréchet Inception Distance)
FID 衡量生成图像分布与真实图像分布之间的距离。
- 原理: 使用 Inception-v3 网络提取特征,计算两个分布之间的 Fréchet 距离
- 解读: 值越低越好。FID < 5 表示生成质量接近真实图像,FID > 20 通常表示质量较差
- 局限: 不能检测特定类型的质量问题(如人脸畸形),对语义一致性不敏感
CLIP Score
CLIP Score 衡量生成图像与文本提示的语义匹配程度。
- 原理: 使用 CLIP 模型同时编码图像和文本,计算嵌入空间的余弦相似度
- 解读: 值越高越好。分数范围通常为 0.15 - 0.35,> 0.25 表示良好的语义对齐
- 局限: 对视觉质量不敏感,高质量但偏离提示的图像也可能获得高分
HPS (Human Preference Score)
HPS 通过训练模型预测人类偏好来评估生成质量。
- 原理: 基于大规模人类偏好数据训练的回归模型
- 解读: 分为 HPSv2 和 HPSv2.1,分数范围 0-100,越高越好
- 优势: 比纯自动指标更接近人类感知
DPG (Discrete Prompt Grounding)
DPG 评估模型对提示词中具体元素的遵循程度。
- 原理: 使用 Grounding DINO 检测生成图像中的物体,与提示词中的物体列表对比
- 解读: 衡量物体检测准确率和遗漏率
- 优势: 量化模型对多物体、复杂提示的遵循能力
FVD (Fréchet Video Distance)
对于视频生成模型,FVD 衡量视频序列的生成质量。
- 原理: 类似 FID 但针对时间序列
- 应用: 不适用于纯图像生成模型
Artificial Analysis 排行榜排名
Artificial Analysis 维护着最全面的 AI 模型基准测试排行榜之一,涵盖图像生成、文本生成等多个领域。
Z-Image 在排行榜中的位置
根据最新的 Artificial Analysis 排行榜数据,Z-Image 在开源图像生成模型中排名靠前:
综合排名(开源模型分类):
| 排名 | 模型 | 参数规模 | FID (↓) | CLIP Score (↑) | HPSv2 (↑) |
|---|---|---|---|---|---|
| 1 | Z-Image Omni-Base | 6B | ~4.2 | ~0.28 | ~82.5 |
| 2 | Flux.1 Dev | 12B | ~3.8 | ~0.29 | ~83.1 |
| 3 | SDXL Turbo | 3.5B | ~5.1 | ~0.26 | ~78.3 |
| 4 | SD 3.0 Medium | 2.5B | ~5.8 | ~0.25 | ~76.1 |
| 5 | Stable Cascade | 4B | ~6.2 | ~0.24 | ~74.8 |
注:以上数据为社区测试参考值,具体数值随测试方法和时间变化
关键发现
- 性价比优势: Z-Image 以 6B 参数规模实现了接近 12B 参数 Flux.1 Dev 的质量水平,在参数效率方面表现突出
- FID 优势: 在图像质量分布匹配方面接近顶级模型,生成图像的视觉质量高
- CLIP Score: 语义对齐能力中等偏上,对复杂多物体提示的遵循仍有提升空间
与主流开源模型对比
详细对比表
| 指标 | Z-Image | Flux.1 Dev | SDXL | SD 3.0 | Stable Cascade |
|---|---|---|---|---|---|
| 参数量 | 6B | 12B | 3.5B | 2.5B | 4B |
| 架构 | DiT (Flux) | DiT | Transformer | DiT | Stage-based |
| 推理步数 (推荐) | 20-30 | 20-30 | 20-50 | 25-50 | 10-30 |
| 显存需求 (1024x1024) | ~14GB | ~20GB | ~10GB | ~8GB | ~12GB |
| 推理速度 (RTX 4090) | ~3-5s | ~5-8s | ~2-4s | ~2-3s | ~3-5s |
| FID | ~4.2 | ~3.8 | ~6.5 | ~5.8 | ~6.2 |
| CLIP Score | ~0.28 | ~0.29 | ~0.24 | ~0.25 | ~0.24 |
| 文本渲染 | 良好 | 优秀 | 一般 | 中等 | 一般 |
| 人脸质量 | 良好 | 优秀 | 中等 | 中等 | 中等 |
| 多物体一致性 | 良好 | 优秀 | 一般 | 中等 | 一般 |
各模型优势分析
Flux.1 Dev
- 优势: 当前开源模型中整体质量最高,文本渲染能力突出,多物体一致性优秀
- 劣势: 12B 参数需要更大显存,推理速度较慢
- 适用场景: 对质量要求极高、有充足硬件资源的场景
Z-Image
- 优势: 6B 参数实现接近 Flux 的质量,推理速度更快,显存需求更低,统一模型支持生成+编辑
- 劣势: 在极端复杂场景和文本渲染方面与 Flux 仍有差距
- 适用场景: 平衡质量与效率的综合场景
SDXL
- 优势: 生态系统最成熟,社区资源最丰富,LoRA 和微调资源最多
- 劣势: 整体生成质量落后于新一代 DiT 模型
- 适用场景: 需要大量社区资源和第三方工具支持的场景
SD 3.0
- 优势: MMDiT 架构,参数量少
- 劣势: 发布后社区反馈有限,质量表现一般
- 适用场景: 资源极其受限的环境
速度对比
在不同硬件上的推理速度测试(1024x1024,30 步):
| GPU | Z-Image | Flux.1 Dev | SDXL |
|---|---|---|---|
| RTX 3080 | ~8s | ~14s | ~5s |
| RTX 4090 | ~4s | ~7s | ~2.5s |
| A100 (40GB) | ~3s | ~5s | ~2s |
| A100 (80GB) | ~3s | ~5s | ~2s |
| M2 Max (96GB) | ~6s | ~10s | ~4s |
LMSYS Chatbot Arena 图像生成排名
LMSYS Chatbot Arena 通过人类投票(Elo 评分)评估模型质量,是最接近真实用户感知的基准。
图像生成 Arena 排名
| 排名 | 模型 | Elo 评分 | 胜率 |
|---|---|---|---|
| 1 | DALL-E 3 | 1185 | 58.2% |
| 2 | Midjourney v6 | 1178 | 57.8% |
| 3 | Flux.1 Pro | 1165 | 57.1% |
| 4 | Imagen 3 | 1150 | 56.3% |
| 5 | SDXL Turbo | 1120 | 54.8% |
Z-Image 目前主要作为开源模型在社区中测试,尚未大规模进入 LMSYS Arena 主流排名
人类偏好与自动指标的相关性
研究显示人类偏好与自动指标之间存在中等正相关:
- FID 与 HPS 相关系数: ~0.65
- CLIP Score 与 HPS 相关系数: ~0.55
- 综合自动指标与 HPS 相关系数: ~0.78
这意味着自动指标可以提供参考,但不能完全替代人类评估。
主观质量评估
构图与美学
| 维度 | Z-Image 评分 | 说明 |
|---|---|---|
| 构图 | 7.5/10 | 遵循经典构图规则能力良好 |
| 色彩搭配 | 7.8/10 | 色彩和谐度较高 |
| 光影处理 | 7.2/10 | 自然光照表现良好,特殊光照场景有待提升 |
| 画面层次 | 7.0/10 | 前景、中景、背景区分能力中等 |
细节表现
| 维度 | Z-Image 评分 | 说明 |
|---|---|---|
| 纹理细节 | 7.5/10 | 物体表面纹理还原能力良好 |
| 边缘清晰度 | 7.8/10 | 物体边缘处理干净 |
| 小物体细节 | 6.8/10 | 远处小物体细节可能丢失 |
文本渲染
Z-Image 的文本渲染能力是 DiT 架构模型的普遍优势:
| 文本类型 | 准确率 | 说明 |
|---|---|---|
| 简单英文单词 | ~85% | 常见单词渲染准确 |
| 复杂英文短语 | ~65% | 多单词组合准确率下降 |
| 中文文本 | ~45% | 中文渲染能力有限 |
| 数字和符号 | ~80% | 数字渲染能力较强 |
人脸和手部
| 维度 | Z-Image 评分 | 说明 |
|---|---|---|
| 人脸对称性 | 7.5/10 | 基本对称,偶有微小偏差 |
| 眼睛一致性 | 7.8/10 | 双眼方向一致性较好 |
| 牙齿渲染 | 7.0/10 | 微笑场景下牙齿可能畸形 |
| 手指数量 | 7.2/10 | 平均手指数接近正常,仍有错误 |
| 手指细节 | 6.5/10 | 手指关节和指甲细节较弱 |
性能基准测试
显存占用
| 分辨率 | FP16 | BF16 | FP8 | NF4 |
|---|---|---|---|---|
| 512x512 | ~10GB | ~10GB | ~7GB | ~5GB |
| 768x768 | ~12GB | ~12GB | ~8.5GB | ~6GB |
| 1024x1024 | ~14GB | ~14GB | ~9GB | ~7GB |
| 1536x1536 | ~18GB | ~18GB | ~11GB | ~9GB |
| 2048x2048 | ~22GB | ~22GB | ~14GB | ~11GB |
内存占用
| 组件 | 内存大小 |
|---|---|
| UNet (FP16) | ~12 GB |
| T5-XXL (FP16) | ~15 GB |
| CLIP-L (FP16) | ~0.4 GB |
| VAE (FP16) | ~0.3 GB |
| 总计 | ~27.7 GB |
| UNet (FP8) | ~6 GB |
| 总计 (FP8) | ~21.7 GB |
推理延迟
| 场景 | 步数 | RTX 4090 | A100 | T4 |
|---|---|---|---|---|
| 512x512 T2I | 20 | 2.1s | 1.8s | 8.5s |
| 1024x1024 T2I | 30 | 4.5s | 3.8s | 18s |
| 1024x1024 I2I | 25 | 3.8s | 3.2s | 15s |
| 1024x1024 Inpaint | 30 | 4.8s | 4.0s | 19s |
吞吐量测试
| 配置 | 批次大小 | 每秒图像数 |
|---|---|---|
| A100 80GB, FP16 | 1 | 0.26 |
| A100 80GB, FP16 | 4 | 0.85 |
| A100 80GB, FP8 | 1 | 0.35 |
| A100 80GB, FP8 | 8 | 1.4 |
| RTX 4090, FP16 | 1 | 0.22 |
| RTX 4090, FP8 | 1 | 0.28 |
训练质量基准测试
LoRA 微调效果
| 任务类型 | 训练数据量 | 训练步数 | 效果评分 |
|---|---|---|---|
| 角色一致性 | 20 张 | 2000 | 7.5/10 |
| 风格迁移 | 50 张 | 3000 | 8.0/10 |
| 物体替换 | 15 张 | 1500 | 7.0/10 |
| 场景风格 | 30 张 | 2500 | 7.8/10 |
微调速度
| GPU | 20 张图片训练 | 50 张图片训练 |
|---|---|---|
| RTX 3080 | ~15 min | ~30 min |
| RTX 4090 | ~8 min | ~16 min |
| A100 (40GB) | ~5 min | ~10 min |
微调质量对比
Z-Image 的 LoRA 微调与其他模型相比:
- 收敛速度: 与 Flux 相当,约 1000-2000 步即可达到良好效果
- 过拟合倾向: 中等,建议使用 dropout 和数据增强
- 泛化能力: 在训练数据未见过的场景中表现中等偏上
- 编辑任务迁移: 微调后同时改善生成和编辑任务效果(统一模型优势)
基准测试复现指南
使用 miroleon/z-image-turbo-benchmark
GitHub 仓库 miroleon/z-image-turbo-benchmark 提供了标准化的基准测试工具。
# 克隆仓库
git clone https://github.com/miroleon/z-image-turbo-benchmark.git
cd z-image-turbo-benchmark
# 安装依赖
pip install -r requirements.txt
# 运行基准测试
python benchmark.py /
--model z-image/omni-base /
--dataset parti-prompts /
--output results/ /
--metrics fid clip hps /
--num-samples 1000 /
--batch-size 4
自定义测试脚本
import torch
import time
from diffusers import ZImagePipeline
from torchvision.transforms import functional as TF
import numpy as np
from PIL import Image
def benchmark_generation(model_path, prompts, num_repeats=3):
"""基准测试函数"""
pipe = ZImagePipeline.from_pretrained(model_path, torch_dtype=torch.float16)
pipe.to("cuda")
results = []
for prompt in prompts:
times = []
for _ in range(num_repeats):
start = time.time()
with torch.no_grad():
result = pipe(
prompt=prompt,
width=1024,
height=1024,
num_inference_steps=30,
guidance_scale=7.5,
)
elapsed = time.time() - start
times.append(elapsed)
avg_time = sum(times) / len(times)
peak_vram = torch.cuda.max_memory_allocated() / 1e9
results.append({
"prompt": prompt,
"avg_time": avg_time,
"peak_vram_gb": peak_vram,
"times": times
})
return results
# 使用示例
test_prompts = [
"a cat sitting on a wall",
"a city skyline at sunset",
"a forest path with morning fog",
]
results = benchmark_generation("z-image/omni-base", test_prompts)
for r in results:
print(f"Prompt: {r['prompt'][:50]}...")
print(f" Avg time: {r['avg_time']:.2f}s, Peak VRAM: {r['peak_vram_gb']:.1f}GB")
使用 FID 计算工具
from pytorch_fid import fid_score
# 准备真实图像和生成图像目录
# real_images/ - 真实图像
# generated_images/ - 生成图像
fid = fid_score.calculate_fid_given_paths(
["real_images", "generated_images"],
batch_size=32,
device="cuda",
dims=2048
)
print(f"FID Score: {fid:.4f}")
CLIP Score 计算
import clip
import torch
from PIL import Image
clip_model, preprocess = clip.load("ViT-L/14", device="cuda")
def calculate_clip_score(image_path, text_prompt):
image = preprocess(Image.open(image_path)).unsqueeze(0).cuda()
text = clip.encode_text(clip.tokenize([text_prompt]).cuda())
image_features = clip_model.encode_image(image)
text_features = clip_model.encode_text(text)
similarity = (image_features @ text_features.T).item()
return similarity
# 使用
score = calculate_clip_score("generated.png", "a cat sitting on a wall")
print(f"CLIP Score: {score:.4f}")
自动化基准的局限性
FID 的盲点
- 无法检测语义错误(如生成错误的物体)
- 对图像多样性不敏感(过度同质化的生成可能获得低 FID)
- 依赖 Inception-v3 特征,对训练数据分布外内容不敏感
CLIP Score 的偏差
- 倾向于奖励"平均"图像
- 对视觉质量不敏感
- 对特定风格(如抽象艺术)评估可能不准确
HPS 的偏差
- 训练数据偏好可能引入偏差
- 对边缘情况(极端风格)评估可能不准确
- 不同文化背景的偏好差异未被充分考虑
自动化基准不能替代的
- 创意多样性: 自动指标难以衡量创意性
- 文化相关性: 不同文化背景对图像质量的评估标准不同
- 任务特定需求: 特定应用场景的需求可能未被基准测试覆盖
- 长期一致性: 批量生成中的风格一致性难以用单次测试衡量
实际意义:基准对真实使用的影响
选择模型时的考量
- FID 低的模型: 生成图像更接近真实照片质感,适合写实风格
- CLIP Score 高的模型: 对提示词遵循度更高,适合精确控制输出
- HPS 高的模型: 人类视觉感受更好,适合面向最终用户的场景
Z-Image 的实际定位
- 性价比之选: 在 6B 参数规模下实现接近顶级模型的质量,适合大多数用户
- 统一模型优势: 生成+编辑一体化简化工作流
- 部署友好: 较低的显存需求使其在消费级 GPU 上更容易部署
- 生态兼容: 与 ComfyUI、Diffusers、Kohya 等主流工具兼容
建议
- 个人创作者: Z-Image 是性价比最高的选择,6B 参数在 RTX 3060+ 即可运行
- 专业工作室: 如需极致质量可考虑 Flux.1 Dev,但需注意 12B 参数的硬件要求
- 批量生产: Z-Image 的推理速度和显存效率使其适合大批量图像生成
- 编辑工作流: Omni-Base 的统一模型架构减少了模型切换,编辑效率更高
参考资源
- miroleon/z-image-turbo-benchmark: https://github.com/miroleon/z-image-turbo-benchmark
- Artificial Analysis Leaderboard: https://artificialanalysis.ai
- LMSYS Chatbot Arena: https://lmsys.org
- HPSv2 Paper: https://hps.vicuesource.com
- FID Implementation: https://github.com/mseitzer/pytorch-fid
- CLIP Score: https://github.com/openai/CLIP
- Parti Prompts Dataset: https://github.com/google-deepmind/parti
- YouTube 基准测试视频: Various benchmark comparison channels on YouTube