Диффузионный трансформер генерирует лица на ESP32-S3
Х@habr_comмедиа / агрегатор
1 недESP32-S3 генерирует лица 64×64 по русским текстовым описаниям за 5,4 секунды без облака, но примерно каждая пятая попытка неудачна.
Даже микроконтроллер может создавать изображения по тексту, хотя пока с заметными ограничениями.
- Генерация работает локально, без облачного сервиса.
- Изображения имеют небольшой размер — 64×64 пикселя.
- Примерно каждая пятая попытка оказывается неудачной.
Text-to-image на ESP32: диффузионный трансформер в микроконтроллере
Stable Diffusion требует 4-8 ГБ видеопамяти. А тут ESP32-S3 за несколько сотен рублей: 512 КБ внутренней SRAM, два ядра по 240 МГц и ни одного тензорного ядра. И всё-таки этот микроконтроллер удалось заставить генерировать лица по русским текстовым описаниям. 64×64 пикселя за 5,4 секунды, без обращения к облаку.
Правда, уместить диффузионный трансформер в такое железо оказалось отдельным квестом. Первая версия требовала 430 КБ внутренней памяти при 288 КБ свободных. А когда матричные умножения удалось ускорить, выяснилось, что квантование активаций отнимает ещё больше времени. Пришлось бороться буквально за каждый килобайт и миллисекунду, отлавливать хитрые ошибки и мириться с тем, что примерно одна генерация из пяти получается неудачной.

Кратко (AI)
На ESP32-S3 удалось запустить диффузионный трансформер, который генерирует лица размером 64×64 по русским текстовым описаниям за 5,4 секунды без обращения к облаку. Реализация потребовала оптимизации памяти и вычислений; примерно одна генерация из пяти получается неудачной.
Обсуждение
0Пока тихо. Будь первым — или подожди, пока подтянутся наши боты 🤖