/ Модель

Характеристики

Лицензия
Apache 2.0
Библиотека
pytorch
Опубликована
5 окт 2026

iris-3b

Генерация изображенийТекст → изображение

Iris-3B — пиксельная диффузионная модель Sperid Labs для генерации изображений размером около одного мегапикселя по текстовым описаниям.

706скачиваний за 30 дней188лайковвеса обновлены12 окт 2026

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

Iris-3B — модель генерации изображений, разработанная Sperid Labs. Она создаёт изображения непосредственно в пиксельном пространстве по текстовому описанию, без VAE и скрытого латентного пространства. Основная модель содержит 3 млрд параметров; для кодирования текста используется замороженный Qwen3-VL-4B-Instruct. Архитектура — диффузионный трансформер с отдельной пиксельной головой. По умолчанию модель создаёт изображения размером 1024 пикселя, примерно в один мегапиксель.

Модель предназначена для генерации изображений по текстовым запросам. В репозитории также представлены дообученные варианты для оценки глубины, восстановления и увеличения изображений, но метаданные этой карточки указывают задачу text-to-image. Для работы требуются NVIDIA GPU с CUDA и зависимости проекта на PyTorch. Модель поддерживает подсказки на английском языке; лицензия — Apache-2.0.

Модель показывает хорошие результаты в тестах на следование запросу, но может ошибаться в надписях внутри изображения и точном количестве объектов. Как и другие генераторы изображений, она может создавать неточный, предвзятый или небезопасный контент, поэтому результаты следует проверять перед использованием.

Сценарии применения

  • создание иллюстраций по текстовому описанию
  • генерация изображений для концепт-арта
  • создание постеров и визуальных материалов
  • визуализация сцен и персонажей по запросу

Ограничения

Текст внутри изображений и точное количество объектов модель передаёт ненадёжно; возможны неточные, предвзятые или небезопасные результаты. Для работы нужна NVIDIA GPU с CUDA.

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

Generative priors are a promising foundation for downstream vision tasks. In this project we explore pixel-space generative models as an alternative to vision foundation models such as DINOv2.

Most image generators work in a compressed "latent" space and rely on a separate decoder to turn that into an image. Iris-3B skips that step: the network itself outputs every pixel, so nothing is lost to a lossy, texture-biased latent. You type a prompt, and you get a 1024-pixel image.

Iris-3B is not only an image generator. The same pixel-space prior, fine-tuned with no architectural change, is a general vision learner for dense tasks where detail matters: monocular depth estimation and image restoration and upscaling ship in this repo (see A general vision learner below).

Iris-3B Turbo, in the turbo/ folder, is a 4-step distilled version of Iris-3B: a 1024×1024 image in about 0.7 s on one H100.

Examples

Generated at native aspect ratios of about one megapixel with the default settings (CFG 3, 100 steps).

Get started

1. Install the code

git clone https://github.com/speridlabs/iris-3b.git
cd iris-3b
pip install -e .          # Python 3.11+, PyTorch 2.7.1+

2. Download the weights (about 12 GB for text-to-image; the depth/ and upscaler/ folders add about 12 GB each, turbo/ about 6 GB)

hf download speridlabs/iris-3b --local-dir iris-3b --exclude "depth/*" "upscaler/*" "turbo/*"

3. Generate an image

python scripts/sample.py --checkpoint iris-3b \
    --prompt "a red fox sleeping in fresh snow, golden hour"

The text encoder (Qwen3-VL-4B-Instruct) downloads automatically on the first run. You need an NVIDIA GPU with CUDA.

Tips

SettingDefaultWhat it does
--cfg-scale3How strictly the image follows the prompt. Higher values follow the prompt more literally but can look harsher.
--steps100Number of denoising steps. Fewer steps are faster but lose some detail.
--seed—Fix it to get the same image again.
--negative-prompt—Things you don't want in the image.
--txt-file—A text file with one prompt per line, for batches.

Default output is 1024×1024. Write prompts as plain descriptive English sentences.

Iris-3B Turbo

Iris-3B Turbo, in the turbo/ folder of this repo, is a 4-step distilled version of Iris-3B. Classifier-free guidance is baked into the weights, so each step is a single forward pass; a 1024×1024 image takes about 0.7 s on one H100 (batch 4). It is a full fine-tune of all 3B parameters, not a LoRA. Try it in the Turbo demo.

With the code installed (step 1 above):

hf download speridlabs/iris-3b --include "turbo/*" --local-dir iris-3b    # about 6 GB
python scripts/sample.py --checkpoint iris-3b/turbo \
    --prompt "a red fox sleeping in fresh snow, golden hour"

The script reads the 4-step schedule from turbo/distill.yaml (σ = 1, 0.938, 0.833, 0.625, deterministic flow-Euler steps) and samples without CFG. The schedule is part of the model: --steps, --cfg-scale and --negative-prompt do not apply, while the prompt, --height, --width and --seed do. Turbo was distilled at about one megapixel in 7 aspect buckets: 1024×1024, 752×1344, 896×1344, 896×1200 and their transposes. The image above was generated on an H100 with --seed 6 and the prompt Colorful animated cartoon poster: a smiling shiba inu in aviator sunglasses behind the wheel of a low futuristic supercar, dynamic angle, neon sunset sky, with big bold vector lettering "IRIS TURBO" in the sky.

Benchmarks

ModelGenEvalDPG-BenchLongText-Bench (EN)OneIG-Bench (EN)
Iris-3B0.79886.520.8570.540
Iris-3B Turbo0.82086.680.8040.516
iris-3b-turbo-lora r2-10000.76085.050.7330.486
OneIG-Bench (EN)AlignmentTextReasoningStyleDiversity
Iris-3B0.8630.8890.2790.4490.220
Iris-3B Turbo0.8620.8480.2830.4330.154
iris-3b-turbo-lora r2-10000.8510.7210.2580.4450.153

All models at 1024×1024 with the official scorers and the same prompts and seeds; Iris-3B with its default sampling settings. The community adapter was run with its recommended settings through its own code. Turbo is slightly ahead of the base model on prompt following (GenEval, DPG-Bench) and behind it on long rendered text and on OneIG-Bench, where the gap is mostly text and diversity.

Training recipe

Turbo is distilled from Iris-3B with Trajectory Distribution Matching (TDM), data-free, as a full fine-tune of all 3B parameters in two stages. The trainer and both configs are in the code repository (scripts/distill.py).

Stage 1Stage 2 (released)
Steps (σ)6 (1, 0.926, 0.833, 0.714, 0.556, 0.333)4 (1, 0.938, 0.833, 0.625)
InitializationIris-3Bstudent: stage-1 EMA; fake network: stage 1
Student updates1,600500
Global batch6416
Student / fake-network LR1e-6 / 5e-62.5e-7 / 2.5e-6
EMA decay0.9990.9995
Prompts~981K~1.19M
  • Networks: frozen Iris-3B teacher, the student and a "fake" score network trained online on the student's outputs; deterministic flow-Euler step transitions.
  • Guidance: CFG 3.5 (empty negative prompt) baked into the teacher target; the student samples without CFG.
  • Optimizer: AdamW, betas (0, 0.999), weight decay 0, gradient clipping 1.0, constant LR, one fake update per student update.
  • Precision: FP32 weights under BF16 autocast.
  • Resolution: about 1 MP in 7 aspect buckets, one per global batch: 1024×1024, 752×1344, 896×1344, 896×1200 and their transposes.
  • Prompts: text only, no images. Stage 1: fine-grained text-to-image prompts, MONET captions, rendered-text prompts and SFT captions, about 12% with quoted text. Stage 2: MONET captions, captions of text-rendering sources and other SFT captions. The prompt sets are not released.
  • Release: the stage-2 EMA weights, exported in bf16.

Thanks to the community turbo LoRA

The first few-step Iris came from the community: pentacoxian-dev built iris-3b-turbo-lora (code, demo), a 4-step DMD2 distillation packaged as a rank-64 LoRA. It is a lightweight 460 MB adapter trained on a single consumer GPU, far easier to download, share and build on than a full 6 GB checkpoint. Thank you, it is a joy to see Iris picked up by the community this quickly.

Limitations of Turbo

  • Dense or long rendered text is less reliable than with the base model.
  • Less variety across seeds: different seeds for one prompt give more similar images.
  • Faint grain or speckle can appear on flat, vector-style backgrounds.
  • Sampling is fixed at 4 steps, with no CFG or negative prompt.

A general vision learner: depth, image restoration and upscaling

The same backbone, fine-tuned per task: Iris-3B estimates monocular depth and restores and upscales images. Both run the whole model in a single forward pass with the empty prompt, so no text encoder is needed. The weights download on first use.

Monocular depth — photo → relative depth:

Image restoration and upscaling — degraded input → restored image:

Try both interactively in the demo, or from the command line:

python scripts/depth.py photo.jpg --out depth_out      # <name>.npy + colorized <name>.png
python scripts/upscale.py photo.jpg --out upscaled     # <name>_x4.png
TaskTrainingResult
DepthDirect regression of relative log depth, 10K stepsAbsRel 0.071, δ1 0.946 (mean of NYUv2, KITTI, ETH3D, ScanNet, DIODE; Marigold V2 protocol, zero-shot)
Image restoration and upscalingOne-step adversarial restoration (HYPIR recipe), 10K steps, EMA weightsLPIPS 0.292, PSNR 20.68 (DIV2K validation, 4×)

Depth is affine-invariant, not metric: fit a scale and shift in log space to compare with ground truth. Restoration tiles large outputs into overlapping 1024×1024 windows.

What's in this repo

FileContents
model.safetensorsText-to-image weights (EMA, float32; run with bfloat16 autocast)
config.yamlArchitecture and sampling settings read by scripts/sample.py
depth/Depth model: model.safetensors, empty_prompt.safetensors, config.yaml
upscaler/Image restoration and upscaling model: same three files
turbo/Iris-3B Turbo, the 4-step distilled model: model.safetensors (EMA, bfloat16; upcast to float32 and run with bfloat16 autocast), config.yaml, distill.yaml (its sampling schedule)

About the model

Size3B parameters (plus a frozen 4B text encoder)
ArchitectureDiffusion transformer: 8 dual-stream + 16 single-stream blocks, then a 4-block pixel head that turns each 16×16 patch back into pixels
Text encoderQwen3-VL-4B-Instruct (frozen)
TrainingRectified flow, trained from scratch at 256 → 512 → 1024 px, then supervised fine-tuning at 1024 px (665K steps total)

The full training recipe is in the code repository.

Limitations

  • Like every image generator, Iris-3B can produce inaccurate, biased or unsafe content. Review outputs before using them.
  • Text rendering inside images and exact object counts are not always reliable.
  • Images are generated at about one megapixel; for larger prints, use an upscaler.

License

Released under the Apache License 2.0. The text encoder, Qwen3-VL-4B-Instruct, is downloaded from its publisher and stays under its own license (Apache 2.0).

Citation

@article{licai2026iris,
  title   = {Iris-3B: Going Beyond the Latent with Pixel-Space
             Diffusion Training, Conversion and Fine-Tuning},
  author  = {Li Cai, Hanqiu and Garabito, Chema},
  journal = {arXiv preprint arXiv:2610.09450},
  year    = {2026},
  url     = {https://arxiv.org/abs/2610.09450}
}

Made with ❤️ by speridlabs.com

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · pytorch

Нельзя запустить

Генеративная модель выложена не в формате diffusers.

Ревизия весов
adc05b9

0 моделей