Дайджесты новостей
Макросъемка прямого синтеза пикселей без латентного сжатия в модели Iris-3B

Генерация без латентного пространства: открытая пиксельная модель Iris-3B

Если ты внимательно разглядывал сгенерированные картинки от Midjourney, Stable Diffusion или FLUX, то наверняка подмечал характерную деталь: лица и пейзажи выглядят потрясающе, но стоит приблизиться к мелким деталям — порам кожи, фактуре льняной ткани, текстуре дерева или крошечным надписям на этикетках — как в глаза бросается странная замыленность.

Это не случайность, а архитектурное ограничение латентной диффузии (Latent Diffusion Models, LDM). Чтобы видеокарта не задохнулась от миллионов пикселей, автоэнкодер (VAE) сжимает картинку в 8 или 16 раз в компактное «латентное» пространство признаков. Нейросеть генерирует изображение там, а потом пытается разжать его обратно в пиксели. На этом этапе неизбежно теряется микрогеометрия: текст плывет, а тонкие линии превращаются в пластиковую кашу. Ранее мы видели, как разработчики пытались решать проблему текста через сложные сетки, например в модели Qwen-Image 3.0, но команда исследователей speridlabs предложила куда более смелый ход.

Они выложили в открытый доступ модель Iris-3B, которая полностью отказывается от латентного пространства и вариационных автоэнкодеров, генерируя картинку напрямую в честных RGB-пикселях.

Как устроена пиксельная диффузия в 3 миллиардах параметров

Вместо сжатия в латент Iris-3B работает напрямую с пиксельными патчами в исходном разрешении 1024×1024. Как разработчикам удалось заставить модель на 3 миллиарда параметров делать это быстро и без запредельного расхода VRAM?

Секрет кроется в двух инженерных решениях:

  1. Куррикулумное обучение (Curriculum Scaling): нейросеть обучали поэтапно. Сначала она училась понимать композицию и форму на крошечных разрешениях $256 \times 256$, затем переходила на $512 \times 512$, и лишь на финальном этапе дообучалась честному попиксельному синтезу $1024 \times 1024$.
  2. Визуально-языковой энкодер Qwen-VL: вместо стандартного текстового энкодера CLIP здесь используется мощный мультимодальный энкодер, понимающий пространственные отношения объектов («чашка стоит справа от ноутбука, надпись выгравирована по центру ручки»).

В итоге одна модель закрывает сразу три прикладные задачи: классический Text-to-Image (T2I), четырехкратный апскейлинг (Super-Resolution 4x) и реставрацию старых или поврежденных снимков (Inpainting).

Практический запуск: генерация и апскейлинг на Python

Благодаря открытым весам на Hugging Face (speridlabs/iris-3b) запустить прямую пиксельную генерацию в PyTorch можно локально на любой видеокарте с 16 ГБ VRAM:

import torch
from PIL import Image
from iris import IrisPixelPipeline

# 1. Загрузка пайплайна прямого пиксельного инференса
device = "cuda" if torch.cuda.is_available() else "cpu"
pipe = IrisPixelPipeline.from_pretrained(
    "speridlabs/iris-3b",
    torch_dtype=torch.bfloat16,
)
pipe.to(device)

# 2. Промпт с упором на осязаемую физическую микротекстуру
prompt = (
    "A close-up studio photograph of an artisanal ceramic coffee mug, "
    "rough matte clay texture with tiny mineral speckles, crisp typography reading 'ROAST 2026', "
    "sharp focus, macro photography, natural morning daylight."
)
negative_prompt = "blurry, low resolution, plastic skin, compression artifacts, distorted letters"

# 3. Прямой синтез кадра 1024x1024 без VAE-декодера
with torch.inference_mode():
    image = pipe(
        prompt=prompt,
        negative_prompt=negative_prompt,
        height=1024,
        width=1024,
        num_inference_steps=30,
        guidance_scale=4.5,
    ).images[0]

image.save("ceramic_mug_pixel.png")

А если у тебя уже есть изображение низкого разрешения, тот же чекпоинт работает как первоклассный восстановитель текстур:

from iris import IrisRestorationPipeline

restore_pipe = IrisRestorationPipeline.from_pretrained(
    "speridlabs/iris-3b", 
    torch_dtype=torch.bfloat16
).to("cuda")

low_res_input = Image.open("input_256.png").convert("RGB")

with torch.inference_mode():
    upscaled = restore_pipe(
        image=low_res_input,
        scale_factor=4,
        num_inference_steps=20,
    ).images[0]

upscaled.save("output_1024_restored.png")
Где Iris-3B рвет латентные диффузоры

Если тебе нужны предметные фотографии товаров для маркетплейсов, этикетки, мокапы электроники или ювелирные изделия, Iris-3B выдает непревзойденную резкость граней и читаемость шрифтов. Никаких артефактов VAE-декодера вокруг букв: пиксели рендерятся строго по сетке.

Честное сравнение с FLUX и слабые стороны

Давай начистоту: пиксельное пространство — это не бесплатный сыр. Без сжатия VAE трансформер вынужден обрабатывать в десятки раз больше токенов. На RTX 4090 один кадр 1024×1024 генерируется за 12–18 секунд, тогда как дистиллированные латентные модели справляются за 3–5 секунд.

Второй компромисс — объемный кинематографический свет. В сложных масштабных сценах (закатный туман над мегаполисом, неоновый дождь в лесу) флагманский FLUX.2 по-прежнему выглядит атмосфернее и глубже за счет богатого латентного распределения. Iris-3B больше тяготеет к бритвенной макро-резкости, чем к киношной дымке.

Тем не менее, появление Iris-3B доказывает: эра монополии латентных автоэнкодеров подошла к концу. Сообщество уже собрало порт iris-3b-metal для Apple Silicon и ноды для ComfyUI, так что протестировать чистые пиксели можно прямо сегодня.