Doradus-AI/EvoQuality-IQA-GGUF
EvoQuality-IQA-GGUF
GGUF quants of ByteDance/EvoQuality for fast local NR-IQA scoring with llama.cpp. Six bench-validated variants (BF16, Q80, Q6K, Q5KM, Q4KM, IQ4_XS) plus the shared mmproj-f16 vision sidecar.
EvoQuality is an 8B Qwen2.5-VL-7B-based no-reference image quality assessment model. It scores a single image on a 1-5 perceptual scale (1 = severely degraded, 5 = clean, sharp, artifact-free) and supports pairwise A-vs-B comparison. Upstream reports PLCC +25% and SRCC +27% over the Qwen2.5-VL-7B baseline.
This is the first community GGUF release for EvoQuality. The companion repo with conversion scripts, the bench harness, and the Docker harness is at DoradusResearch/EvoQuality-IQA-GGUF. Methodology and use-case context are in the release blog post.
Quant lineup
Bench: 99 images from the AGIQA-3K test split, stratified across the full MOS range. Each variant served via llama-server with the shared mmproj-f16 sidecar. temperature=0. Per-image scores in bench-*.jsonl, aggregated in benchmarks-summary.json.
All six variants exceed the Qwen2.5-VL-7B baseline (~0.615 PLCC) that EvoQuality is trained to lift.
Per-variant scatter
Overlay
VRAM guide
All quants share the same mmproj-f16 vision encoder (1.35 GB). Vision-tower quantization had a substantially larger quality impact than language-tower quantization in our internal tests; mmproj is kept at f16 across the spread.
Quickstart — llama-server
llama-server \
--model evoquality-iqa-Q5_K_M.gguf \
--mmproj mmproj-evoquality-iqa-f16.gguf \
--host 0.0.0.0 --port 8259 \
--ctx-size 8192 \
--n-gpu-layers 999 \
--parallel 4 --cont-batching \
--flash-attn on \
--cache-type-k q8_0 --cache-type-v q8_0 \
--alias evoquality-iqaScore an image:
curl -s http://localhost:8259/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "evoquality-iqa",
"messages": [{
"role": "user",
"content": [
{"type": "image_url", "image_url": {"url": "https://example.com/image.png"}},
{"type": "text", "text": "Rate the perceptual quality of this image on a scale from 1 to 5, where 1=severely degraded (heavy noise, compression artifacts, blur, broken content) and 5=high quality (clean, sharp, artifact-free). Respond with a single integer 1-5 followed by a brief justification."}
]
}],
"max_tokens": 64,
"temperature": 0
}'Response:
{"choices":[{"message":{"content":"3\nThe image is moderately sharp but has visible compression artifacts and slight aliasing on diagonal edges."}}]}Python
from huggingface_hub import hf_hub_download
gguf = hf_hub_download("Doradus-AI/EvoQuality-IQA-GGUF", "evoquality-iqa-Q5_K_M.gguf")
mmp = hf_hub_download("Doradus-AI/EvoQuality-IQA-GGUF", "mmproj-evoquality-iqa-f16.gguf")Reproducing the build
Full pipeline in DoradusResearch/EvoQuality-IQA-GGUF. Conversion is vanilla llama.cpp:
huggingface-cli download ByteDance/EvoQuality --local-dir ./hf
python3 llama.cpp/convert_hf_to_gguf.py ./hf --outfile ./evoquality-iqa-BF16.gguf --outtype bf16
python3 llama.cpp/convert_hf_to_gguf.py ./hf --outfile ./evoquality-iqa-Q8_0.gguf --outtype q8_0
python3 llama.cpp/convert_hf_to_gguf.py ./hf --mmproj --outfile ./mmproj-evoquality-iqa-f16.gguf --outtype f16
for Q in Q6_K Q5_K_M Q4_K_M IQ4_XS; do
llama.cpp/build/bin/llama-quantize ./evoquality-iqa-BF16.gguf ./evoquality-iqa-$Q.gguf $Q 8
donellama.cpp commit verified working: b9010-d05fe1d7d (June 2026). Older revisions can mishandle Qwen2.5-VL mmproj.
Bench methodology
- Dataset: strawhat/agiqa-3k test split (598 images,
mos_qualitylabels). - Sample: 100 images, evenly spaced across the full MOS range (0.00 → 4.37). Effective n = 99.
- Prompt: identical 1-5 rating template across every variant.
temperature=0,max_tokens=64. Three retries with exponential backoff. - Metrics: PLCC =
scipy.stats.pearsonr(MOS, predicted_score). SRCC =scipy.stats.spearmanr(MOS, predicted_score)(tie-corrected ranks).
Per-image score data ships in this repo: bench-BF16.jsonl and the five quant variants. Aggregated summary at benchmarks-summary.json.
License
Apache-2.0, inherited from upstream ByteDance/EvoQuality.
Citation
@misc{bytedance2025evoquality,
title = {EvoQuality: Self-Evolving Vision-Language Model for No-Reference Image Quality Assessment},
author = {ByteDance},
year = {2025},
url = {https://huggingface.co/ByteDance/EvoQuality}
}
@misc{agiqa3k,
title = {AGIQA-3K: An Open Database for AI-Generated Image Quality Assessment},
author = {Li, Chunyi et al.},
year = {2023},
url = {https://huggingface.co/papers/2306.04717}
}