Сжатие моделей ИИ для маломощных модулей камер: Революция синергии аппаратного обеспечения и алгоритмов

Создано 01.04
Распространение маломощных модулей камер изменило отрасли от систем безопасности умного дома и носимых устройств до промышленного Интернета вещей и мониторинга окружающей среды. Эти компактные, энергоэффективные устройства полагаются на ИИ для аналитики в реальном времени — обнаружения объектов, распознавания движения, аутентификации по лицу — без постоянного подключения к облаку. Однако главная проблема сохраняется: передовые модели ИИ (такие как Трансформеры или большие сверточные нейронные сети) требуют больших вычислительных ресурсов, в то время как маломощные камеры работают от ограниченных батарей и имеют ограниченную вычислительную мощность. Именно здесь сжатие моделей ИИ становится решающим фактором. Но в отличие от традиционных подходов к сжатию, которые фокусируются исключительно на алгоритмических изменениях, будущее эффективного ИИ на маломощных устройствахкамерызаключается в синергии аппаратного обеспечения и алгоритмов. В этой статье мы рассмотрим, почему эта совместная парадигма имеет решающее значение, разберем инновационные методы сжатия, адаптированные для аппаратного обеспечения камер с низким энергопотреблением, и поделимся практическими рекомендациями по их внедрению в реальных приложениях.

Почему традиционное сжатие ИИ не подходит для модулей камер с низким энергопотреблением

На протяжении многих лет сжатие моделей ИИ основывалось на трех основных стратегиях: обрезка (удаление избыточных весов), квантование (снижение точности данных с 32-битных чисел с плавающей запятой до 8-битных целых чисел или ниже) и дистилляция знаний (передача обучения от большой "учительской" модели к маленькой "студенческой" модели). Хотя эти методы уменьшают размер модели и вычислительную нагрузку, они часто не учитывают уникальные ограничения маломощных модулей камер, в частности, их аппаратные архитектуры (например, крошечные микроконтроллеры, Edge TPU или пользовательские чипы ISP) и энергетические бюджеты (часто измеряемые в милливаттах).
Рассмотрим типичный маломощный модуль камеры, питаемый от микроконтроллера серии Arm Cortex-M. Традиционное 8-битное квантование может уменьшить модель на 75%, но если микроконтроллеру не хватает аппаратной поддержки 8-битных целочисленных операций, сжатая модель все равно будет работать медленно и разряжать батареи, что сводит на нет ее цель. Аналогично, обрезка, которая не учитывает пропускную способность памяти камеры, может привести к фрагментированному доступу к данным, увеличивая задержку и энергопотребление. Проблема не только в уменьшении размера моделей; она заключается в обеспечении совместимости моделей с конкретным оборудованием маломощных камер. Именно поэтому синергия аппаратного обеспечения и алгоритмов стала новой путеводной звездой для эффективного сжатия.

Новая парадигма: совместное проектирование аппаратного обеспечения и алгоритмов для сжатия

Совместное проектирование аппаратного обеспечения и алгоритмов меняет подход: вместо сжатия предварительно обученной модели для соответствия существующему аппаратному обеспечению, мы разрабатываем методы сжатия параллельно с архитектурой аппаратного обеспечения модуля камеры. Этот подход гарантирует, что каждый выбор сжатия — от уровней точности до структуры слоев — соответствует сильным сторонам аппаратного обеспечения (например, специализированным ускорителям ИИ, энергоэффективной памяти) и смягчает его слабые стороны (например, ограниченные вычислительные ядра, низкая пропускная способность).
Разберем три инновационных, синергетических метода сжатия, которые трансформируют низкопотребляемый ИИ для камер:

1. Архитектурно-ориентированное разреживание: Адаптация разреженности к иерархиям памяти оборудования

Традиционное разреживание создает «неструктурированную» разреженность — удаление случайных весов по всей модели. Хотя это и уменьшает количество параметров, это не помогает с доступом к памяти, который является основным источником энергопотребления для маломощных камер. Неструктурированная разреженность заставляет оборудование пропускать пустые веса во время вычислений, что приводит к неэффективному чтению/записи памяти.
Архитектурно-ориентированное усечение решает эту проблему, создавая «структурированную» разреженность, соответствующую иерархии памяти камеры. Например, если в микроконтроллере камеры используются 32-битные блоки памяти, усечение целых 32-битных блоков весов (вместо отдельных весов) гарантирует, что доступ к данным остается непрерывным. Согласно исследованию Edge AI Lab Стэнфордского университета 2024 года, это снижает использование пропускной способности памяти до 40%. Для маломощных камер, которые часто имеют ограничения пропускной способности памяти в 1-2 ГБ/с, это означает значительную экономию энергии и более быстрое выполнение выводов.
Совет по реализации: Используйте такие инструменты, как TensorFlow Lite for Microcontrollers (TFLite Micro) с пользовательскими конвейерами разреживания, которые соответствуют размеру блока памяти вашей камеры. Например, если ваш модуль использует Nordic nRF5340 MCU (с выравниванием памяти по 32 бита), настройте разреживание для удаления весов блоками по 32 бита.

2. Масштабирование точности: Динамическая квантизация на основе поддержки аппаратных ускорителей

Квантование — наиболее широко используемый метод сжатия для маломощных устройств, но статическое квантование (использование фиксированной точности для всех слоев) растрачивает потенциальную эффективность. Современные маломощные модули камер часто включают специализированные ускорители — такие как CMSIS-NN от Arm, Coral Micro от Google или пользовательские TPU — которые поддерживают операции со смешанной точностью (например, 8-битные для сверточных слоев, 16-битные для активационных слоев).
Динамическое, аппаратно-ориентированное квантование регулирует точность на уровне каждого слоя, используя возможности ускорителя. Например, сверточный слой, который является вычислительно тяжелым, но менее чувствительным к точности, может использовать 4-битные целые числа (если ускоритель это поддерживает), в то время как классификационный слой, требующий более высокой точности, может использовать 8-битные целые числа. Исследование 2023 года, проведенное ведущим производителем камер для умного дома, показало, что этот подход снизил энергопотребление на 35% по сравнению со статическим 8-битным квантованием, сохранив при этом 98% исходной точности модели для обнаружения движения.
Ключевой инструмент: TensorRT Lite от NVIDIA, который автоматически оптимизирует точность на основе спецификаций оборудования, или компилятор Vela от Arm, разработанный специально для модулей камер на базе Cortex-M и Cortex-A.

3. Сжатие с использованием сенсорного слияния: использование ISP камеры для раннего извлечения признаков

Низкопотребляющие модули камер интегрируют процессор обработки изображений (ISP) для выполнения базовой обработки изображений (например, шумоподавление, автоэкспозиция) перед подачей данных в ИИ-модель. Большинство методов сжатия игнорируют ISP, но сжатие с использованием сенсорного слияния использует ISP как этап «предварительного сжатия», уменьшая объем данных, которые ИИ-модели необходимо обрабатывать.
Вот как это работает: ISP извлекает низкоуровневые признаки (например, края, текстуры) непосредственно из необработанных данных сенсора изображения. Эти признаки меньше по размеру, чем изображение полного разрешения, и требуют меньше вычислительных ресурсов для обработки. Затем ИИ-модель обучается работать с этими извлеченными ISP признаками, а не с необработанными пикселями. По данным исследований Калифорнийского университета в Беркли, это уменьшает входной размер модели до 80%.
Например, низкопотребляемая камера видеонаблюдения, использующая сжатие слиянием датчиков, может использовать свой ISP для извлечения признаков границ, а затем передавать их в сжатую модель обнаружения объектов. Результат: более быстрое инференс (ускорение в 2 раза) и снижение энергопотребления (на 50%) по сравнению с обработкой изображений полного разрешения.

Практическое руководство: Реализация синергетического сжатия для вашей низкопотребляемой камеры

Готовы применить эти методы? Следуйте этой пошаговой структуре, чтобы убедиться, что ваша стратегия сжатия соответствует оборудованию вашего модуля камеры:

Шаг 1: Определите ограничения вашего оборудования

Сначала задокументируйте ключевые характеристики оборудования вашего модуля камеры:
• Тип процессора/ускорителя (например, Cortex-M4, Coral Micro, пользовательский TPU)
• Поддерживаемые уровни точности (8-битная, 4-битная, смешанная точность)
• Пропускная способность памяти и размер блока (например, выравнивание по 32 бита, 512 КБ SRAM)
• Энергетический бюджет (например, 5 мВт для непрерывного вывода)
• Возможности ISP (например, извлечение признаков, шумоподавление)
Инструменты, такие как Arm Hardware Profiler или Google Edge TPU Profiler, могут помочь вам собрать эти данные.

Шаг 2: Выберите методы сжатия, соответствующие возможностям оборудования

Сопоставьте вашу стратегию сжатия с вашим оборудованием:
• Если ваша камера оснащена специализированным ИИ-ускорителем (например, Coral Micro), используйте динамическое квантование и дистилляцию знаний, адаптированные к набору инструкций ускорителя.
• Если ваша камера использует базовый микроконтроллер (например, Cortex-M0), отдайте приоритет архитектурно-ориентированному усечению (для оптимизации доступа к памяти) и сжатию слияния датчиков (для уменьшения размера входных данных).
• Если ваша камера имеет мощный ISP, интегрируйте сжатие слияния датчиков для выгрузки извлечения низкоуровневых признаков.

Шаг 3: Обучение и сжатие модели с учетом аппаратного обеспечения

Используйте инструменты обучения с учетом аппаратного обеспечения, чтобы гарантировать оптимизацию модели с самого начала:
• Обучите модель с помощью обучения с учетом квантования (QAT) для сохранения точности во время квантования. Такие инструменты, как TFLite Micro и PyTorch Mobile, поддерживают QAT.
• Используйте обучение с учетом обрезки для создания структурированной разреженности. Например, TensorFlow Model Optimization Toolkit позволяет определять шаблоны обрезки (например, 32-битные блоки), соответствующие расположению памяти вашего оборудования.
• При использовании сенсорного слияния обучите модель на признаках, извлеченных ISP (а не на необработанных пикселях), чтобы обеспечить совместимость.

Шаг 4: Проверка производительности на целевом оборудовании

Тестирования на симуляторе недостаточно — проверьте сжатую модель на вашем реальном модуле камеры, чтобы измерить:
• Точность: Убедитесь, что сжатие не ухудшает производительность (например, точность обнаружения объектов должна оставаться выше 95% для большинства сценариев использования).
• Задержка: Стремитесь к обработке в реальном времени (например, <100 мс на кадр для обнаружения движения).
• Энергопотребление: Используйте такие инструменты, как Nordic Power Profiler Kit, для измерения расхода заряда батареи во время обработки.
Итерируйте свою стратегию сжатия, пока не достигнете баланса между точностью, задержкой и энергопотреблением.

Реальная история успеха: Как носимая камера использовала сжатие, управляемое синергией

Рассмотрим реальный пример: Компания, производящая носимые фитнес-камеры, хотела добавить распознавание активности в реальном времени (например, бег, ходьба) в свой маломощный модуль (питание от микроконтроллера Arm Cortex-M7 с 512 КБ SRAM). Традиционное 8-битное квантование уменьшило размер их модели на 75%, но модель по-прежнему разряжала батарею за 2 часа и имела задержку 200 мс — слишком медленно для использования в реальном времени.
Команда перешла на подход совместного проектирования аппаратного обеспечения и алгоритмов:
• Использовалась архитектурно-ориентированная обрезка для создания 32-битной блочной разреженности, соответствующей выравниванию памяти MCU. Это снизило использование пропускной способности памяти на 38%.
• Интегрировано сжатие сенсорного слияния: ISP камеры извлекал граничные признаки из необработанных изображений, уменьшая размер входных данных на 70%.
• Применена динамическая квантизация (8-бит для сверточных слоев, 16-бит для активационных слоев) с использованием компилятора Vela от Arm.
Результат: Сжатая модель работала за 85 мс на кадр (в реальном времени), снизила расход батареи до 8 часов и сохранила 96% точности распознавания активности. Продукт был успешно запущен, а функция ИИ стала ключевым преимуществом при продаже.

Будущие тенденции: Что дальше для сжатия ИИ в маломощных камерах

По мере развития аппаратного обеспечения маломощных камер будут развиваться и методы сжатия. Вот три тенденции, за которыми стоит следить:
• Генеративный ИИ для сжатия: Модели ИИ будут генерировать оптимизированные, аппаратные модели (например, с использованием поиска нейронных архитектур, или NAS), которые изначально сжаты. Такие инструменты, как Google AutoML for Edge, сделают это доступным для разработчиков.
• Адаптивное сжатие на устройстве: Камеры будут динамически регулировать уровни сжатия в зависимости от сценария использования (например, более высокая точность для аутентификации по лицу, более низкая точность для обнаружения движения) и уровня заряда батареи (например, более агрессивное сжатие при низком заряде батареи).
• Интеграция 3D-стековой памяти: Будущие маломощные камеры будут использовать 3D-стековую память (размещение памяти непосредственно поверх MCU/ускорителя), что обеспечит еще более эффективный доступ к данным. Методы сжатия будут разработаны с учетом этой архитектуры, что позволит дополнительно снизить задержку и энергопотребление.

Заключение: Синергия — ключ к раскрытию потенциала ИИ маломощных камер

Сжатие моделей ИИ для маломощных модулей камер — это уже не просто уменьшение размера моделей, а обеспечение их работы с аппаратным обеспечением. Совместное проектирование аппаратного обеспечения и алгоритмов гарантирует, что методы сжатия не только соответствуют ограничениям по энергопотреблению и вычислительной мощности, но и фактически используют уникальную архитектуру камеры для обеспечения более быстрой и эффективной работы ИИ. Применяя архитектурно-ориентированное усечение, динамическую квантизацию и сжатие с использованием слияния данных с датчиков, вы можете обеспечить работу ИИ в реальном времени с низким энергопотреблением для ваших маломощных камер — будь то для умного дома, носимых устройств или промышленного Интернета вещей.
Готовы начать? Начните с определения аппаратных ограничений вашего модуля камеры, а затем используйте описанные нами инструменты и фреймворки для создания синергетической стратегии сжатия. Будущее низкопотребляемого ИИ для камер — это сотрудничество, и оно в пределах вашей досягаемости.
Сжатие ИИ-моделей, маломощные модули камер
Контакт
Оставьте свои контактные данные, и мы свяжемся с вами.

Поддержка

+8618520876676

+8613603070842

Новости

leo@aiusbcam.com

vicky@aiusbcam.com

WhatsApp
WeChat