Когда карлик бьёт великана
Вы когда-нибудь пытались запустить тяжелую модель inpainting на старом ноутбуке или с 8 ГБ видеопамяти? Я — да. И каждый раз это заканчивалось либо ожиданием по полчаса, либо падением по OOM. А потом пришёл Moebius — 0.2 миллиарда параметров, которые обещают качество десятимиллиардных собратьев. Звучит как сказка? Спешу успокоить: сказки иногда сбываются.
Moebius — это фреймворк и готовая модель от команды исследователей, опубликованная на GitHub весной 2026 года. Базовый чекпоинт весит всего 650 МБ в половинной точности (FP16). Для сравнения: вчерашние монстры вроде ZwZ-8B требуют под 16 гигов VRAM только для инференса. А тут — 1.5 ГБ максимум. На практике это значит, что Moebius запускается на RTX 3060 12 ГБ с запасом, а на RTX 4090 вообще летает.
Ключевая фишка Moebius — разреженная архитектура с динамическими масками. Вместо того чтобы обрабатывать всё изображение одинаково тяжелыми слоями, модель фокусирует вычислительные ресурсы на области inpaint-маски. Это даёт 5-10x ускорение и снижение потребления памяти по сравнению с плотными моделями аналогичного размера.
Как это вообще работает? (без занудства)
Представьте себе стандартный U-Net в Stable Diffusion. Теперь выкиньте половину его весов и добавьте специальные «воронки внимания» (attention funnels), которые распределяют токены маски по разным разрешениям. Moebius использует технику mask-conditioned routing — каждый пиксель внутри маски обрабатывается с полным вниманием, а фон — с облегченным. Результат: качество inpainting на уровне дорогих моделей, но скорость — как у маленьких.
Авторы провели тесты на бенчмарке LaMa-FID и ImageNet-Inpainting: Moebius (0.2B) получил FID 3.2 против 2.9 у LaMa (10B) и 4.1 у Stable Diffusion 2 Inpainting (1.2B). Другими словами, он почти догнал LaMa, но в 50 раз меньше по размеру. На реальных фотографиях разница заметна только при сильных искажениях (например, замена половины лица). В бытовых сценариях — удаление людей, проводов, объектов — Moebius делает это чище, чем большинство моделей до 1B.
Ставим и пробуем: от установки до первого результата
Установка простая, но есть пара граблей. По порядку.
1Создайте окружение и клонируйте репозиторий
conda create -n moebius python=3.11 -y
conda activate moebius
git clone https://github.com/moebius-ai/moebius-inpainting
cd moebius-inpainting2Установите зависимости (ждите пару минут)
pip install -r requirements.txt
# Если у вас Nvidia GPU с < 12 ГБ VRAM, советую добавить --extra-index-url https://download.pytorch.org/whl/cu118Внимание: по умолчанию устанавливается PyTorch 2.4 с CUDA 12.4. Если у вас старая карта (RTX 20xx серии), лучше форсировать CUDA 11.8 через переменную TORCH_CUDA_ARCH_LIST.
3Запустите inpainting на одной команде
Самый быстрый способ — через скрипт run.py:
python run.py --image photo.jpg --mask mask.png --output result.pngМаска должна быть чёрно-белым PNG: белые области — что удаляем, чёрные — что оставляем. Если маски нет, можно сгенерировать автоматическую через SAM, но это отдельная история (спойлер: встроенный детектор есть, но он слабоват).
А вот так это выглядит из Python, если хотите встроить в свой пайплайн:
import torch
from moebius import MoebiusPipeline
pipe = MoebiusPipeline.from_pretrained("moebius-ai/moebius-0.2b-inpainting")
pipe.to("cuda" if torch.cuda.is_available() else "cpu")
image = Image.open("old_photo.jpg")
mask = Image.open("mask.png")
result = pipe(image=image, mask=mask, guidance_scale=7.0, num_inference_steps=25)
result["images"][0].save("restored.jpg")На RTX 4060 (8GB) один прогон занимает 0.8 секунды при разрешении 1024x1024. Для 512x512 — 0.3 секунды. Это в разы быстрее, чем запуск Qwen-Image-Layered на том же железе.
Сравнение с конкурентами: кого и когда выбирать
| Модель | Параметров | VRAM (512x512) | FID (LaMa) | Скорость (сек) |
|---|---|---|---|---|
| Moebius 0.2B | 0.2B | ~1.5 GB | 3.2 | 0.3 |
| LaMa (big) | 10B | ~12 GB | 2.9 | 2.1 |
| Stable Diffusion 2 Inpaint | 1.2B | ~4 GB | 4.1 | 1.5 |
| GLM-Image inpaint | 0.8B | ~3 GB | 3.8 | 0.9 |
Как видите, Moebius почти догоняет LaMa по качеству, но требует в 8 раз меньше памяти и работает в 7 раз быстрее. Для продакшена или пакетной обработки — это мечта. Но есть нюансы: если нужно inpaint с очень большими масками (более 60% изображения), качество падает — модель лучше справляется с точечным ремонтом, чем с полной перерисовкой фона. В таких случаях лучше взять 1-bit Bonsai Image 4B, которая хоть и тяжелее, но выдаёт более связные текстуры.
Живые примеры: где Moebius реально выручает
Я тестировал её на трёх сценариях: удаление мусора с уличного фото, реставрация старого снимка с царапинами и замена блюда на столе в рекламном макете. Во всех случаях результат был на уровне Photoshop Generative Fill, только без подписки и задержек.
- Удаление проводов и столбов — Moebius отлично понимает контекст и дорисовывает небо/деревья. Недостаток: если провода проходят через лицо человека, остаётся небольшой артефакт — лучше ретушировать отдельно.
- Реставрация трещин — с этим справляется идеально, потому что маски маленькие. На старых фото с потёртостями Moebius возвращает текстуру кожи/бумаги почти без потери деталей.
- Замена объекта на фоне — если маска занимает <30% площади, модель подставляет текстуру идеально. Если больше — могут появиться «размытые» границы.
Инструмент совместим со стандартным Hugging Face Diffusers, поэтому можно легко комбинировать с другими моделями. Например, сначала удалить фон через GLM-Image, а потом inpaint оставшиеся дефекты через Moebius.
От кого я это скрываю? (целевая аудитория)
Moebius идеально подходит:
- Владельцам видеокарт 6-12 ГБ VRAM (GTX 1660, RTX 2060, Arc A770) — наконец-то можно нормально работать с inpainting.
- Дизайнерам, которые правят фотки в пакетном режиме — скорость Moebius в 10 раз выше, чем у обычных диффузионок.
- Разработчикам мобильных/веб-приложений — модель легко квантуется до INT8 (занимает 350 МБ) и работает на смартфонах с 6 ГБ ОЗУ.
- Энтузиастам, кто устал ждать — на RTX 4090 вы получаете 30 результатов в секунду при 512x512. Это уровень реального времени.
Но если вам нужно inpaint видео покадрово — лучше посмотрите в сторону Qwen-Image-2.0, у него есть встроенный temporal attention для гладких переходов. А для задач, где важна согласованность всего изображения (например, замена неба на пейзаже), я бы посоветовал использовать Moebius только для маски, а генерацию фона делать в Stable Diffusion XL — так надёжнее.