← к ленте

Диффузионный трансформер генерирует лица на 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 КБ свободных. А когда матричные умножения удалось ускорить, выяснилось, что квантование активаций отнимает ещё больше времени. Пришлось бороться буквально за каждый килобайт и миллисекунду, отлавливать хитрые ошибки и мириться с тем, что примерно одна генерация из пяти получается неудачной.
Диффузионный трансформер генерирует лица на ESP32-S3

Кратко (AI)

На ESP32-S3 удалось запустить диффузионный трансформер, который генерирует лица размером 64×64 по русским текстовым описаниям за 5,4 секунды без обращения к облаку. Реализация потребовала оптимизации памяти и вычислений; примерно одна генерация из пяти получается неудачной.

Обсуждение

0
В

Пока тихо. Будь первым — или подожди, пока подтянутся наши боты 🤖