Email WhatsApp
WeChat
WeChat QR

Table of Contents

Что такое TOPS в ИИ?

Сегодня мы рассмотрим вопрос, чтоже такое TOPS в ИИ? Допустим, вы выбираете железо для локального ИИ. У одного процессора NPU на 6 TOPS, модуль DeepX обещает 25 TOPS, а NVIDIA указывает для Jetson Orin Nano Super уже 67 TOPS. 

На ум приходит быстрый вывод, Jetson примерно в одиннадцать раз быстрее платформы с 6 TOPS? На самом деле, было бы классно, но все-таки эти цифры весьма условны.

Что такое TOPS в ИИ?

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

Цифра полезная, но производители очень любят ставить её туда, где покупатель ожидает увидеть готовый ответ. Покупатель любит конкретные цифры и сразу делает вывод – раз больше, значит лучше. 

Про цифры и сравнение

TOPS расшифровывается как trillions of operations per second – триллионы операций в секунду. В характеристиках ИИ-ускорителей умножение и сложение обычно считаются двумя отдельными операциями. Поэтому NPU на 6 TOPS теоретически выполняет шесть триллионов таких операций или три триллиона полных вычислений multiply-accumulate.

Для RK3588 производитель указывает 6 TOPS при INT8. NVIDIA заявляет 67 INT8 TOPS для Jetson Orin Nano Super. Здесь хотя бы используется один формат данных, хотя архитектура и программная среда у платформ совершенно разные.

А теперь поставим рядом результат INT4. Число TOPS вырастет: каждое значение занимает вдвое меньше бит, и подходящее железо обработает больше операций за то же время. Но модель сначала нужно перевести в INT4, а затем убедиться, что после квантизации она не начала заметно чаще ошибаться.

И это не мелкая оговорка под таблицей. Производитель может рекламировать максимальный показатель для INT4, тогда как ваша модель нормально работает только в INT8 или FP16. Обе цифры будут технически правильными, просто описывают они разные задачи в целом.

ПлатформаЗаявленная производительностьУсловия или контекстЧего цифра не показывает
Rockchip RK3568До 1 TOPSВстроенный NPUПоместится ли модель и поддерживаются ли все операции
Rockchip RK35766 TOPSВстроенный RKNN NPU, несколько форматов точностиКак CPU Cortex-A72/A53 справится со всем конвейером
Rockchip RK35886 TOPSINT8, трёхъядерный NPUНагрузку на CPU, память, видеоблок и интерфейсы
DeepX DX-M125 TOPSОтдельный ускоритель M.2Задержки PCIe и совместимость конкретной модели
Jetson Orin Nano Super67 TOPSINT8, режимы питания 7–25 ВтРеальную задержку при выбранном batch size и охлаждении

Эта таблица помогает разделить устройства на примерные классы, но я бы не использовал её как рейтинг ни в коем случае. Два процессора Rockchip на 6 TOPS не образуют одинаковые системы, а модулю DeepX вообще нужна отдельная хост-платформа, характеристики которой в его 25 TOPS не входят.

Модель и NPU

Нельзя просто взять любую нейросеть и отправить её на NPU, сначала модель проходит через инструменты производителя: Например, у Rockchip это RKNN Toolkit2, у NVIDIA – TensorRT.

Если все важные операторы поддерживаются, отлично – основная часть инференса остаётся на ускорителе. Если нет, то отдельный фрагмент графа может вернуться на CPU, иногда даже  конвертация вообще заканчивается фейлом.

Поэтому нормальный тест одной и той же модели для меня полезнее очередного сравнения спецификаций, которые и так всем известны. Хорошо поддерживаемый NPU на 6 TOPS может оказаться разумнее ускорителя на 25 TOPS, которому нужны обходные решения для критического слоя. Не потому, что шесть внезапно стало больше двадцати пяти. Просто доступная производительность важнее той, до которой не может добраться софт.

В материале про характеристики и возможности Rockchip RK3588 мы разбирали не только трёхъядерный NPU, но и CPU, графику, память и мультимедийный блок. В готовом устройстве всё это продолжает работать и после запуска инференса.

Камеры в проекте

Возьмём обычную систему компьютерного зрения, она получает несколько видеопотоков, декодирует их, уменьшает и нормализует кадры, запускает детекцию, отслеживает объекты, сохраняет события и отправляет результат по сети. Нейросеть же – только один участок этого конвейера.

NPU может быстро закончить инференс, а затем ждать CPU или память. Бывает и наоборот: хост успевает подготовить кадры, но пропускной способности памяти ускорителя недостаточно, чтобы постоянно загружать все вычислительные блоки. Пиковый показатель TOPS как будто предполагает, что нужные данные уже лежат в нужном месте, для реального устройства это довольно смелое предположение.

С отдельным ускорителем M.2 проблема видна ещё лучше. Например, Модули DeepX DX-M1 и DX-M1M предлагают намного больше номинальной ИИ-производительности, чем встроенный NPU RK3588. Для совместимых моделей компьютерного зрения это серьёзное улучшение, но вот кадры всё равно передаются от хоста по PCIe, а CPU продолжает заниматься всем, что происходит до и после работы нейросетей.

При больших пакетах данных задержка передачи может почти не мешать. Если камера обрабатывает по одному кадру и должна быстро принять решение – уже мешает.

У RK3576 и RK3588 одинаковые 6 TOPS

Пожалуй, это самый показательный пример, который мы можем тут разобрать.

Оба процессора заявлены с NPU на 6 TOPS. Если бы итоговая производительность ИИ-системы определялась только этой цифрой, переплачивать за RK3588 почти не было бы смысла.

В пределах совместимой модели разница действительно может оказаться небольшой. Но вокруг NPU у RK3588 находятся четыре Cortex-A76, четыре Cortex-A55, графика Mali-G610, более широкая подсистема памяти и богатый набор скоростных интерфейсов. RK3576 использует Cortex-A72/A53 и Mali-G52. То есть NPU оценивается одинаково, а компьютеры вокруг него совершенно разные.

Это не делает платформу Rockchip RK3576 плохим выбором для ИИ. Наоборот, она может оказаться выгоднее, если основную нагрузку составляет одна модель, а остальная часть приложения довольно простая. Покупать RK3588, а затем не использовать большую часть его CPU, GPU и интерфейсов, то тут тоже сомнительная экономия получается.

Допустим, если добавим несколько камер, графический интерфейс, локальное хранилище или тяжёлую предварительную обработку, то и дополнительная системная производительность уже пригодится. TOPS те же, а вот компьютер другой.

На другом конце линейки можно рассмотреть возможности Rockchip RK3568, который включают NPU всего до 1 TOPS. На фоне 25 или 67 TOPS он выглядит устаревшим. Однако для компактного классификатора, простой детекции или периодической проверки качества этого может быть достаточно.

Если задача уже выполняется с нужной задержкой на 1 TOPS, переход на 67 TOPS не сделает продукт в 67 раз лучше, но сделает его однозначно дороже (во всех планах). 

Кадры в секунду

Допустим, ускоритель выдаёт 200 кадров в секунду. Мы вот наивно полагаем, что это красивый результат. Потом выясняем, что тест запускался с пакетом из 16 изображений, к примеру.

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

NVIDIA Jetson Orin Nano Super с производительностью 67 INT8 TOPS
NVIDIA Jetson Orin Nano Super обеспечивает до 67 INT8 TOPS при настраиваемом энергопотреблении 7–25 Вт. Реальная скорость зависит от модели, охлаждения и программной оптимизации.

Что же важнее: FPS или миллисекунды на кадр?

Зависит от типа и задачи устройства. Именно поэтому вместе с результатом нужны разрешение изображения, batch size, версия модели, точность вычислений, режим питания и охлаждение. Без этих данных даже настоящий бенчмарк иногда вводит в заблуждение не хуже рекламного TOPS.

Для российского рынка добавляется ещё один прозаичный момент. Платы Jetson и новые M.2-ускорители часто покупаются через импорт, китайские площадки или небольших поставщиков. Цена в рублях меняется вместе с курсом, а одна и та же карточка товара может включать только модуль, полный dev kit или комплект без подходящего блока питания. В такой ситуации смотреть только на TOPS особенно опасно: сначала стоит проверить комплектацию, доступность SDK, гарантию и возможность купить второе такое же устройство для серийного проекта, а все остальное – уже потом. Реалии такие, что если мы просто гонемся за цифрами, а не за реальной нуждой, то теряем и деньги, и время. 

Что сравнивать вместо TOPS

Сам показатель я бы не выбрасывал, нет смысла тестировать тяжёлую многокамерную систему на каждом попавшемся NPU с 1 TOPS. Равно как нет смысла покупать платформу на 67 TOPS для маленького классификатора без других каких-либо причин.

Но когда два кандидата уже относятся к подходящему классу, полезнее проверить:

      • конвертируется ли модель без неподдерживаемых операторов;

      • задержку при нужном разрешении и размере пакета;

      • длительную, а не пиковую производительность;

      • точность после перехода на INT8 или INT4;

      • загрузку CPU, памяти и PCIe всего конвейера;

      • энергопотребление и скорость после прогрева.

    И ещё менее эффектный, но часто решающий вопрос: насколько удобен SDK? Получится ли повторно собрать эту же модель через полгода? Есть ли рантайм в поддерживаемом образе Linux или весь проект зависит от старого архива на сайте производителя?

    Ускоритель на 25 TOPS не становится плохим только потому, что он не оказался ровно в четыре раза быстрее NPU на 6 TOPS. Просто от него изначально ожидали неправильного обещания. TOPS показывает теоретическую скорость низкоточных вычислений, но ничего не говорит о том, какая часть вашей модели попадёт на ускоритель и чем в этот момент занята остальная система.

    По TOPS можно составить короткий список. Победителя должна выбирать модель.

    Частые вопросы

    Чем больше TOPS, тем лучше?

    Только если показатели заявлены для сопоставимой точности, а модель действительно использует ускоритель. Высокая теоретическая производительность не исправит неподдерживаемые операторы, узкую память или медленную хост-систему.

    Можно ли сравнивать INT4 TOPS и INT8 TOPS?

    Напрямую – нет. INT4 даёт более высокий показатель, но модель нужно квантизировать до INT4 без неприемлемой потери точности. Сравнивать следует тот формат, который будет использоваться в готовом устройстве.

    Сколько TOPS нужно для детекции объектов?

    Единого значения нет. Всё зависит от размера модели, разрешения, количества камер, требуемого FPS и допустимой задержки. Лёгкой модели может хватить 1 TOPS, а многокамерной системе потребуется гораздо больше.

    Сопутствующие товары

    Свяжитесь с нами, чтобы обсудить ваши задачи

    Contact Us