Whitepaper · Edge AI · Инференс на чипе камеры
У вас есть модель и чип. Мы заставим их работать вместе.
Инференс ИИ на NPU и видеодвижках камерных SoC — на той скорости, за которую продавали кремний, на железе, к которому никто не даёт инструментов. От команды, стоящей за OpenIPC.
Измерено нами на кремнии RK3588 и HiSilicon, на моделях, которые мы подгоняли, и драйверах, которые мы написали.
Ваша модель здесь не запускается, и никто не скажет почему
NPU камерного SoC — не GPU. Он выполняет свой короткий список операторов, квантует так, как решил его компилятор, а сам компилятор может быть вам недоступен — некоторые никогда не выходят за пределы домашнего рынка. Модель, обученная за ночь на кластере, встречает чип, который не может выполнить половину из неё, и драйвер, падающий на первом незнакомом слое.
В даташите написано TOPS. Там не написано, какие части вашей модели тихо уйдут на CPU и что штатный драйвер выдаёт четверть скорости, на которую способен кремний. Эти ответы получают, запуская модели на чипе, — и мы делаем это с первых камерных SoC с видеодвижком, начиная с ARM-ядер без блока плавающей точки вообще.
Стена — это тулчейн, а не ваша модель.
Что мы приносим
Четыре вещи, каждая измерена на кремнии.
Мы знаем, что ваш NPU не умеет
Мы разметили четыре семейства NPU, запуская на них модели, а не читая PDF вендора: что выполняется на ускорителе, что тихо откатывается на CPU и что менять до того, как вы потратите спринт на выяснение.
Где нет драйвера — мы его пишем
Чистые ядерные драйверы для видео- и нейродвижков HiSilicon, написанные по дизассемблированию и трассировке ядра, побайтно идентичные вендорским — и устойчивее там, где вендорский тест зависает. Молчание вендора — не блокер.
Подогнать модель под чип и камеру
Модели перестраиваются так, чтобы вся сеть шла на ускорителе, а не половина, и дообучаются на картинке самой камеры: её ракурс, её обработка изображения, её родной масштаб. Модель, перенесённая на новую камеру без этого шага, теряет десять–двадцать пунктов точности.
Проверено до того, как коснётся платы
Видеодвижок работает в CI под нашим собственным QEMU, выверенным попиксельно против кремния. Каждое изменение за ночь проверяется на эмулированном железе, так что стенд — не узкое место, а ваша плата не лежит у нас на столе.
Результаты на реальном кремнии
Номерные знаки
Номера находятся и читаются быстрее восьмидесяти кадров в секунду на ускорителе чипа камеры, и ничем не пожертвовано ради того, чтобы модель поместилась. Обучена на картинке самой камеры, поэтому читает то, что действительно видит объектив: ночью, на парковке, под тем углом, под которым висит камера.
Лица
Детекция и распознавание за восемь миллисекунд, целиком на ускорителе, моделью, достаточно маленькой, чтобы жить рядом с видеоконвейером, — и не уступающей на стандартном бенчмарке моделям во много раз крупнее.
Нет NPU? Всё равно работает
На камерах вообще без ускорителя наш собственный целочисленный движок ускорил нейросетевой классификатор в пять раз на единственном ядре камеры, с теми же ответами, что у эталона. Детекция просыпается только когда аппаратный детектор движения что-то замечает, так что тихая сцена не стоит ничего.
Платформы
HiSilicon и Goke SigmaStar Rockchip Ingenic ARM-ядра без NPU
Мы поставляем прошивки на все из них и работаем под NDA с большинством производителей камерных SoC — включая тулчейны, которые не распространяются за пределами их домашнего рынка. Если вашего чипа нет в списке, спросите: ответ «да» или «нет» в течение 48 часов.
Как устроена работа
Отчёт о реализуемости
Фиксированная цена, пять рабочих дней. Вы присылаете модель или её архитектуру, SoC и версию SDK, около пятидесяти кадров с реальной камеры и цифры, по которым вас оценивают. Вы получаете послойный вердикт, что запускается, какая точность стоит на кону при подгонке под чип и как её сохранить, ожидаемую скорость относительно наших измеренных базовых значений и фиксированную цену следующего шага.
Портирование и подгонка
Модель перестроена и дообучена на ваших кадрах, работает целиком на ускорителе в компактном нативном рантайме, измерена на вашей плате. Приёмка — цифры, согласованные в отчёте.
Интеграция и сопровождение
В OpenIPC или в вашу прошивку, CI под QEMU там, где чип поддержан, драйверы там, где стека нет, — и ретейнер на ту чехарду версий SDK, которая привязывает модели к версии прошивки.
Пришлите модель и SoC. Получите вердикт за неделю.
Одно письмо из четырёх строк: модель и её формат, целевой SoC и версия SDK, ссылка на кадры с камеры, нужные fps и точность. Отвечает инженер с планом, а не скрипт продаж.
Написать на business@openipc.org Спросить в чате
Прошивки камер, настройка сенсоров и кастомные видеолинки — на странице для бизнеса.