Отметим: когда модель с точностью 97% на сервере не укладывается в 100 мс на целевом контроллере, классический ML пасует. Разработка AI для встраиваемых систем (Embedded AI) — это про то, как заставить нейросеть работать на Cortex-M4 с 256 КБ памяти и детерминированным временем выполнения. Мызанимаемся embedded AI много лет и знаем, как обойти эти ограничения. Наша команда имеет 5+ лет опыта и сертификаты по ISO 26262 и IEC 61508. Сокращение затрат на аппаратную платформу может достигать 3 раз за счёт эффективной квантизации и оптимизации.
Как оптимизировать модель для встраиваемой системы?
Оптимизация начинается с выбора инструмента под тип железа. На RTOS (FreeRTOS, Zephyr) используем TFLite Micro с CMSIS-NN — ARM-оптимизированные операции дают прирост скорости до 4x. Для Embedded Linux (Yocto, Buildroot) подойдут ONNX Runtime или PyTorch Mobile, а на FPGA (Xilinx Versal) — Vitis AI с аппаратным ускорением. Выбор фреймворка зависит от целевого оборудования и требований к latency.
| Платформа | RAM | Фреймворк | Особенности |
|---|---|---|---|
| RTOS (Cortex-M4/M7) | 256 KB – 2 MB | TFLite Micro, CMSIS-NN | Статическая аллокация, WCET анализ |
| Embedded Linux (Cortex-A) | 128 MB – 2 GB | ONNX Runtime, PyTorch Mobile | Гибкость, OTA, но больше энергопотребление |
| FPGA (Xilinx/Intel) | Настраиваемая | Vitis AI, FINN | Детерминизм, реконфигурация, до 10x FLOPS |
Для safety-critical проектов обязательна квантизация моделей. Post-training quantization (INT8) — стандарт, но для медицинских систем применяем quantization-aware training с калибровкой на реальных данных. Наши инженеры гарантируют, что падение точности не превысит 2% при размере модели в 10 раз меньше.
Сравнение методов квантизации
| Метод | Размер | Точность | Latency | Применение |
|---|---|---|---|---|
| FP32 | 100% | Базовая | 1x | Серверы, прототипы |
| INT8 (PTQ) | 25% | 0.5–2% loss | 2-4x быстрее | RTOS, Linux |
| INT4 (QAT) | 12% | 1–3% loss | 5-8x быстрее | FPGA, low-power MCU |
QAT (Quantization-Aware Training) лучше PTQ для глубоких сетей: точность падает всего на 1%, а скорость на FPGA растёт в 5 раз.
Почему детерминированность критична для embedded AI?
В промышленных системах inference обязан завершаться за фиксированное время — worst-case execution time (WCET). Нарушение приводит к сбоям в управлении станком или тормозной системе. Мы исключаем malloc в RTOS, используем статические буферы и профилируем каждую операцию. В automotive гарантируем детерминированный inference за лимит 100 мс с запасом 15%.
Как мы это делаем: кейс портирования детекции дефектов
Для клиента из automotive требовалось перенести YOLOv5 на контроллер Infineon TC3xx (TriCore). Исходная модель весила 30 MB и потребляла 1.2 ГБ RAM. После квантизации до INT8 (TFLite) размер сократился до 3 MB, RAM — до 128 КБ. Использовали CMSIS-NN для свёрток и ручной allocation scratch buffers. Результат: latency 85 мс при лимите 100 мс, точность упала на 1.2%. Для сравнения, конкурентное решение с ONNX Runtime дало latency 130 мс — мы выиграли 35% времени. Получите консультацию — мы проанализируем ваш проект за 2 дня.
Процесс работы
- Анализ — профилирование целевого железа, feasibility study
- Квантизация — выбор типа (INT8/INT4), калибровка, проверка точности
- Разработка инференса — C/C++ код, интеграция с RTOS/Linux
- Тестирование — WCET, power budget, stress-тесты
- Деплой и MLOps embedded — OTA, документация, обучение команды
Сроки ориентировочно: 12–24 недели
Сложность нарастает с требованиями к надёжности и сертификации. Стоимость рассчитывается индивидуально. Свяжитесь с нами для оценки.
Что входит в нашу работу
- Feasibility study и выбор стека
- Квантизация и оптимизация моделей под железо
- Написание production-кода инференса (C/C++)
- Интеграция с RTOS/Linux и драйверами
- Тестирование WCET и functional safety (если требуется)
- Документация и передача прав на модель
Наш опыт
5+ лет в embedded AI, 30+ проектов, включая сертифицированные automotive и медицинские системы. Работаем с ISO 26262 и IEC 61508. Обратитесь к нам — мы гарантируем индивидуальный подход.
Типичные ошибки при портировании
- Использование float-моделей на RTOS — в 99% случаев нужна INT8 квантизация. - Игнорирование WCET: даже одна динамическая аллокация может убить детерминизм. - Отсутствие OTA: без A/B partitioning обновление модели может привести к кирпичу.Стандарты функциональной безопасности: IEC 61508, ISO 26262 Получите консультацию — оценим ваш проект за 2–3 дня. Пишите.







