Справочник

TOPS у бортового вычислителя: что это число не говорит

Между заявленными 20 TOPS и работающей нейросетью стоит память, точность вычислений и компилятор.

Что стоит за цифрой

TOPS — триллионы операций в секунду, пиковая теоретическая величина ускорителя. Она считается перемножением числа вычислительных блоков на тактовую частоту и никак не учитывает, сможет ли конкретная сеть эти блоки загрузить.

Число приводят для наименьшей поддерживаемой точности — обычно INT8, а у новых ускорителей и INT4. В FP16 та же микросхема даёт обычно вдвое меньше, а FP32 нейроускорители часто не поддерживают вовсе. NVIDIA для Jetson к тому же печатает TOPS с учётом разреженности (sparse): на обычной, плотной сети выходит вдвое меньше. Сравнивать TOPS разных производителей корректно только при одинаковой точности и одинаковом режиме.

Практический ориентир: реальная загрузка ускорителя на типовой детекторной сети составляет 20–50 % от пика. Из «20 TOPS» в работе получается 4–10.

ТочностьОтносительная производительностьПотеря качества моделиТиповое применение
INT4×2 от INT8заметнаяредко, специальные модели
INT8базовая (в ней и печатают TOPS)малая при калибровкерабочий режим детекторов
FP16обычно ×0,5 от INT8, есть не у всех NPUнетотладка, чувствительные модели
FP32у NPU часто нет, на GPU — в разы ниженетобучение, не бортовой режим

Память ограничивает чаще, чем вычислитель

Свёрточная сеть большую часть времени ждёт данные, а не считает. Пропускная способность памяти в ГБ/с и объём внутреннего буфера определяют реальную скорость сильнее пиковых TOPS.

Отсюда типичная ситуация: модуль с вдвое большим TOPS и той же памятью даёт прирост не вдвое, а на десятки процентов.

Объём памяти задаёт потолок по размеру модели и по разрешению входа. Детектор на входе 640×640 и детектор на 1280×1280 отличаются по объёму вычислений и промежуточных данных вчетверо, а по качеству на мелких объектах — принципиально.

Поддержка операций и компилятор

Ускоритель выполняет фиксированный набор операций. Всё, что в него не входит, исполняется на процессоре — и один неподдерживаемый слой в середине сети может съесть больше времени, чем вся остальная модель.

Поэтому перед выбором проверяют не TOPS, а то, компилируется ли конкретная модель целиком в ускоритель. У большинства производителей есть инструмент, показывающий, какие слои ушли на процессор.

Зрелость инструментария при этом важнее железа. Модуль с меньшим TOPS и работающим компилятором доводится до результата за дни, а более быстрый с сырым — за месяцы или никогда.

Что меряют вместо TOPS

Кадры в секунду для конкретной модели на конкретном разрешении, с указанием точности и режима питания. Это единственная сравнимая величина.

Производительность на ватт. На борту дрона ограничение всегда тепловое: модуль, выдающий 30 кадров в секунду при 25 Вт на столе с вентилятором, в закрытом корпусе без обдува уходит в троттлинг и может потерять половину скорости и больше.

Задержку от кадра до результата, а не только пропускную способность. Для управления по зрению важна именно она: детектор на 30 кадров в секунду с задержкой 200 мс для удержания цели непригоден.

Как читать паспорт ускорителя

Разброс заметен даже по паспортам. Hailo-8 — 26 TOPS при типовых 2,5 Вт, Google Coral — 4 TOPS при 2 TOPS на ватт, NPU в процессорах Allwinner — от 0,5 до 2 TOPS.

Hailo-10H заявлен на 40 TOPS, но это INT4 — в INT8 паспорт даёт 20. Jetson Orin NX 16 ГБ на 100 TOPS и Orin Nano 8 ГБ на 40 TOPS — числа NVIDIA с учётом разреженности, для плотной сети их делят пополам.

Поэтому в запросе поставщику просят не TOPS, а кадры в секунду на своей модели и своём разрешении — или хотя бы на открытом детекторе вроде YOLO с указанием точности.

Ускорители с паспортными TOPS в каталоге

Позиции каталога, к которым относится всё сказанное выше.

Разделы каталога по теме

Рядом по теме