Juggernaut-XI-v11 · OpenVINO INT4 (CPU)

RunDiffusion/Juggernaut-XI-v11 轉成 OpenVINO IR, unet(transformer) 與 text_encoder 以 NNCF 做 weight-only INT4(asymmetric, group_size 128), 其餘組件 INT8。不需要 GPU,純 CPU 即可生圖。

  • 權重體積 6.65 GB → 2.27 GB(-65.8%)
  • 1024×1024 / 30 steps / CFG 5.0:**~101 s 出一張(3.3 s/step)**(Xeon Platinum 8559C, 16 vCPU)
  • 512×512 / 30 steps:**~32 s 出一張(1.07 s/step)**
  • load + compile:14.7 s

轉換環境:openvino 2026.4.0 / nncf 3.4.0 / optimum 2.3.0 / optimum-intel 2.2.0 / diffusers 0.39.0 / transformers 5.5.4 / tokenizers 0.22.2 / huggingface-hub 1.21.0 / torch 2.14.1 / pillow 12.3.0 / psutil 7.2.2

⚠️ 上游 Juggernaut-XI-v11 為 CC BY-NC-ND 4.0(非商用、禁止改作再散布)。此 repo 的 OpenVINO/INT4 轉換版本同樣受該授權約束,請勿用於商業或付費 API 服務。


模型頁展示(10 張)

1024 × 1024(30 steps, DPM++ 2M Karras, CFG 5.0)

seed 42 · 01_hanfu seed 43 · 02_astronaut
seed 44 · 03_taipei seed 45 · 04_shiba
seed 46 · 05_ink

512 × 512 對照組(同 prompt / 同 seed)

01_hanfu_512 02_astronaut_512 03_taipei_512
04_shiba_512 05_ink_512

Prompts 見 outputs/prompts.txt。


安裝

pip install -U optimum optimum-intel openvino nncf \
                diffusers transformers tokenizers huggingface-hub \
                torch pillow psutil

用法

import torch
from optimum.intel import OVDiffusionPipeline

pipe = OVDiffusionPipeline.from_pretrained(
    "HelloSun/Juggernaut-XI-v11-OpenVINO-INT4",
    compile=True,
    device="CPU",
)

prompt = (
    "Young Chinese woman in red Hanfu, intricate embroidery, impeccable makeup, "
    "red floral forehead pattern, elaborate high bun, golden phoenix headdress, "
    "soft-lit outdoor night background, silhouetted tiered pagoda, blurred colorful "
    "distant lights, photorealistic, ultra detailed, 8k"
)
generator = torch.Generator(device="cpu").manual_seed(42)

image = pipe(
    prompt=prompt,
    negative_prompt="lowres, worst quality, low quality, blurry, jpeg artifacts, watermark",
    width=1024, height=1024,
    num_inference_steps=30,
    guidance_scale=5.0,
    generator=generator,
).images[0]
image.save("hanfu.png")

完整腳本:

檔案 用途
inference_int4.py 單張 txt2img / img2img 推論
quantize_int4.py 由 FP16 pipeline 產生 INT4 pipeline(OVQuantizer + NNCF)
generate5.py 5 組固定 seed 批次生成,callback 記錄每 step 時間與 RSS
REPORT.md 完整轉換與實驗報告
outputs/benchmark.json 機器資訊 + 每 step 時間/RSS 原始數據
outputs/prompts.txt 全部 prompt / negative prompt / seed

轉換步驟(重現本 repo)

# 1) 匯出 FP16
optimum-cli export openvino -m RunDiffusion/Juggernaut-XI-v11 \
  --task text-to-image --library diffusers --weight-format fp16 \
  ./juggernaut-xi-v11-ov-fp16

# 2) NNCF weight-only INT4(unet + text_encoder INT4,其餘 INT8)
python quantize_int4.py \
  --model_path ./juggernaut-xi-v11-ov-fp16 \
  --output_path ./juggernaut-xi-v11-ov-int4

量化設定(quantize_int4.py 內):

int4 = dict(bits=4, sym=False, group_size=128, group_size_fallback="adjust", ratio=1.0)
OVPipelineQuantizationConfig(
    quantization_configs={
        "unet":         OVWeightQuantizationConfig(**int4),
        "text_encoder": OVWeightQuantizationConfig(**int4),
    },
    default_config=OVWeightQuantizationConfig(bits=8),
)

實驗數據

環境:Intel Xeon Platinum 8559C(2 socket / 96 core / 192 thread,容器 cgroup 限 16 vCPU)、 AVX-512、2 TB RAM、無 GPU。lscpu CPU(s)=192,os.cpu_count()=192,OpenVINO 2026.4.0。

項目 數值
load + compile(compile=True) 14.67 s(結束時 RSS 3530 MB)
1024×1024 / 30 steps 單張總時間 100.19 – 116.66 s(平均 104.65 s)
1024×1024 單步時間 平均 3.43 s、中位數 3.36 s、範圍 3.12 – 3.90 s(暖機除外)
512×512 / 30 steps 單張總時間 32.04 – 32.83 s(平均 32.55 s)
512×512 單步時間 平均 1.07 s、中位數 1.08 s
峰值 RSS(連續生成) ~9.8 GB
FP16 pipeline 大小 6635.4 MB
INT4 pipeline 大小 2268.7 MB(-65.8%)
量化時間(weight-only, data-free) 52.5 s

逐張明細:

影像 seed 解析度 steps CFG 總時間 單步平均 峰值 RSS
01_hanfu 42 1024² 30 5.0 116.66 s 3.821 s 8521 MB
02_astronaut 43 1024² 30 5.0 104.79 s 3.432 s 9772 MB
03_taipei 44 1024² 30 5.0 100.93 s 3.308 s 9777 MB
04_shiba 45 1024² 30 5.0 100.19 s 3.285 s 9781 MB
05_ink 46 1024² 30 5.0 100.70 s 3.303 s 9784 MB
01_hanfu_512 42 512² 30 5.0 32.63 s 1.074 s 9824 MB
02_astronaut_512 43 512² 30 5.0 32.48 s 1.069 s 9827 MB
03_taipei_512 44 512² 30 5.0 32.04 s 1.054 s 9828 MB
04_shiba_512 45 512² 30 5.0 32.80 s 1.077 s 9829 MB
05_ink_512 46 512² 30 5.0 32.83 s 1.080 s 9829 MB

執行緒縮減實驗(同一 prompt,1024²,30 steps):16 threads = 3.49 s/step、8 threads = 3.64 s/step, 減半只慢約 5% → 瓶頸在記憶體頻寬而非算力。想更快請降 steps,或改用 Juggernaut-XI-Lightning(5–7 step)。

建議參數

沿用上游模型卡建議:sampler DPM++ 2M Karras、steps 30–40、CFG 3–7(越低越寫實)。 本 repo 的 scheduler_config.json 已設為 DPMSolverMultistepScheduler + use_karras_sigmas=true, model_index.json["scheduler"] 也同步指向它,開箱即對應 Karras 2M。 上游推薦解析度為 832×1216 / 1216×832(portrait / landscape),本 repo 範例採 1024×1024 與 512×512。

Credits

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for HelloSun/Juggernaut-XI-v11-OpenVINO-INT4