Когда Stable Diffusion казалась лёгкой, но нет
Давай честно: запуск генерации изображений локально — это всегда ад. Stable Diffusion? Нужна видеокарта с 6+ ГБ VRAM, иначе ты будешь смотреть на прогресс-бар дольше, чем на саму картинку. ComfyUI? Классно, но требует нервы и Python. А если у тебя ноутбук, iPad или вообще только браузер? Раньше ответ был: «забудь, арендуй облако».
Но 26 мая 2026 года ландшафт изменился. Команда Bonsai выпустила Bonsai Image 4B — первый diffusion transformer (DiT) с 1-битными (ternary) весами, который целиком работает в браузере на WebGPU. Никаких серверов, никаких Python-демонов. Просто открыл страницу, ввел промпт — и через секунду видишь результат. Звучит как магия? Да, но это уже code-first релиз на Hugging Face.
Подобные идеи мы уже разбирали в статье про BitNet в браузере: разбор PoC на WebGPU и WGSL для запуска 1-битных моделей на iPad. Но BitNet — это языковые модели, а Bonsai Image делает то же самое для визуального домена. Полный круг.
Что такое Bonsai Image 4B и почему это прорыв
Модель состоит из двух частей: 0VQ-VAE — квантованный VAE, который сжимает картинку в токены, и 1-битный DiT (4 миллиарда параметров) — transformer, который генерирует эти токены по тексту. Самое дикое: веса DiT хранятся не в float16 или int8, а в ternary формате — каждый параметр может быть только {-1, 0, +1}. Это даёт колоссальную экономию: модель весит всего ~1.5 ГБ в памяти, а загружается с диска ещё меньше — ~750 МБ.
В теории это превращает любой современный браузер (Chromium-основа, включая Edge, Chrome, Opera) с поддержкой WebGPU в полноценный генератор изображений. На практике:
- генерация одного кадра 512×512 занимает ~1-2 секунды на MacBook M1 (зависит от браузера);
- на iPad Pro M2 — около 3 секунд;
- на десктопном RTX 3060 через браузер — менее 1 секунды.
Сравни с Stable Diffusion 1.5 на CPU: 30 секунд на 512×512, если вообще хватит оперативки. А тут в 10-15 раз быстрее и без установки.
Важный нюанс: качество изображений не дотягивает до Midjourney V6 или SDXL. Это логично — ternary квантование теряет часть детализации. Но для мема, иконки, эскиза или просто «посмотреть идею» — более чем. Зато приватность и скорость на стороне Bonsai.
Как это работает технически (без лишней математики)
Архитектура — diffusion transformer (DiT). Если ты когда-нибудь смотрел в сторону современных генераторов, то знаешь, что vanilla UNet уступает место трансформерам. Bonsai взял DiT с 4B параметров и применил то, что называется QLoRA+Ternary — комбинацию квантования и низкоранговой адаптации. После квантизации каждый вес занимает 1.58 бита (нецелое, но близко к ternary).
Загрузка модели через transformers.js (движок ONNX Runtime Web с WebGPU-бекендом). Вся инференс-логика написана на TypeScript + WGSL (WebGPU Shader Language). Если тебе интересны детали реализации таких вещей, посмотри гайд про запуск LLM прямо в браузере: полный гайд по WebGPU, Transformers.js и Chrome Prompt API — подход тот же, только для текстовых моделей.
Сравнение с альтернативами (которые вообще не в браузере)
| Модель / инструмент | Где запускается | Размер на диске | Время инференса (512×512) | Качество |
|---|---|---|---|---|
| Bonsai Image 4B | Браузер (WebGPU) | ~750 МБ | 1-3 сек | Хорошее (8/10) |
| Stable Diffusion 1.5 (CPU) | Локально Python | ~2 ГБ | 25-40 сек | Отличное (9/10) |
| FLUX.1 (Mochi) | Локально / облако | ~12 ГБ | ~5 сек на GPU | Лучшее (10/10) |
| Midjourney V6 | Облачный API | — | 10-30 сек (очередь) | Высшее (10/10) |
Как видишь, Bonsai проигрывает в абсолютном качестве, но выигрывает в доступности. Если тебе нужно срочно сгенерировать иллюстрацию для презентации, а под рукой только iPad — Bonsai Image спасёт. Если ты художник-иллюстратор, лучше смотреть в сторону FLUX.1 или Stable Diffusion с гибридным запуском (о чём мы писали в гайде по запуску Stable Diffusion на слабой видеокарте через C++ фронтенд). Но скорость и удобство Bonsai — уникальны.
Практический пример: запуск и генерация
Всё, что тебе нужно сделать:
- Открыть демо на Hugging Face Spaces (ссылку найдёшь в репозитории Bonsai Image 4B на Hugging Face).
- Дождаться загрузки модели — примерно 2-3 секунды, браузер скачает ~750 МБ весов.
- Ввести промпт, например: "a cute orange cat sitting on a stack of books, watercolor style".
- Нажать Generate и через секунду получить результат.
Можно играть с seed, guidance scale и количеством шагов (рекомендуется 20-25). Изображение 512×512 — единственный доступный размер, но на выходе ты можешь апскейлить чем угодно.
Кстати, если хочешь попробовать более экстремальный сценарий — запустить генерацию на Android-планшете с браузером, который поддерживает WebGPU (например, Chrome for Android). Работает! Правда, время вырастает до 5-7 секунд, но всё ещё терпимо.
Кому это реально нужно?
Определим три группы:
- Разработчики, которые хотят встроить генерацию в веб-приложение без бэкенда. Не нужно поднимать GPU-сервер, платить за API. Bonsai Image — это просто npm-пакет (скоро обещают transformers.js-интеграцию). Идеально для соцсетей, игр, редакторов.
- Обычные пользователи, у которых нет выделенной видеокарты, но есть MacBook или iPad. Они хотят быстро сгенерировать картинку для мема, поста, обложки. Bonsai Image лучшее, что есть для таких сценариев.
- Те, кто параноит по поводу приватности. Всё идёт локально — никакие промпты не улетают в облако. Если тебе нужно генерировать чувствительный контент (без NSFW-фильтрации, если захочешь), это твой выбор. О том, как снимать ограничения локально, мы писали в сравнении Stable Diffusion, ComfyUI и AMD-оптимизация.
А что с недостатками? (спойлер: они есть)
Во-первых, качество. Ternary квантование — это всегда компромисс. Текстуры иногда «замыленные», лица и руки у людей могут быть кривыми (propagated from training data). Но для нечеловеческих существ и пейзажей — отлично. Во-вторых, зависимость от браузера: Safari не поддерживает WebGPU в полной мере на май 2026, так что пользователи Apple с Chrome или Edge — только Chromium. В-третьих, нет ControlNet, img2img и других примочек — это чисто text-to-image семплер.
По сравнению с тем же запуском других 1-битных моделей Bonsai на CPU и AMD GPU через llama.cpp — для изображений WebGPU оказался более простым путём, чем нативный код. Хотя нативное решение может быть быстрее на совместимом железе.
Ещё один момент: первая загрузка весов (~750 МБ) может отпугнуть пользователей с медленным интернетом. Но один раз скачал — и работает даже офлайн (если настроен service worker).
Ближайшее будущее: что дальше?
Bonsai Image 4B — это proof of concept, что ternary DiT жизнеспособен. На очереди — версия 2.0 с поддержкой img2img, ControlNet и, возможно, более высокими разрешениями (768×768). Но даже сейчас это — самый быстрый способ получить генерацию «из воздуха» без видеокарты. Пока конкуренты пытаются оптимизировать SDXL до 4 ГБ VRAM, Bonsai просто идёт в браузер и говорит «забудь про VRAM».
Если у тебя есть идея, как это применить — например, вставить в свой сайт как инструмент для пользователей — бери код из репозитория. Если ты просто любитель — открывай демо и развлекайся. И не забывай, что любая технология, которая делает AI доступным каждому, заслуживает внимания. Даже если где-то у неё кривые руки.