Несколько лет назад команда, разрабатывающая технологию компьютерного зрения TAPe, провела серию тестов: сравнила скорость индексации видео на CPU и GPU от NVIDIA. Результат оказался неожиданным. На младшей модели видеокарты для решения задачи хватало всего 10 ядер — около 20% мощности видеопроцессора. Загрузить карту полностью не получалось, тогда как обычный CPU легко выходил на 100% и давал сопоставимый результат.

Когда эксперимент повторили на видеокарте с тысячами ядер, ожидался кратный прирост производительности. Вместо этого загрузка составила не более 1%. Причина выяснилась после детального изучения архитектуры GPU: узкое место — аппаратные энкодеры и декодеры, которые переводят видеопоток в данные, пригодные для обработки ядрами. На потребительских картах таких блоков обычно одна пара, на профессиональных — не более трёх, на серверных — до восьми. Чтобы загрузить тысячи ядер на полную мощность, потребовались бы тысячи энкодеров — таких устройств не существует. Видеокарта с 40 аппаратными декодерами, созданная специально для задач обучения ИИ, стоила несколько лет назад около $120 тыс., и даже она не снимала проблему принципиально.

Тип видеокартыЧисло аппаратных декодеровПримечание
Потребительская1 параСтандартная конфигурация
Профессиональнаядо 3
Сервернаядо 8
Специализированная (для обучения ИИ)40Стоила ~$120 тыс. несколько лет назад

GPU изначально проектировались для другого. Их задача — выводить на экран 4K-изображение 120 раз в секунду, то есть вычислять цвет миллиарда пикселей за доли секунды. Для этого нужны тысячи параллельных вычислительных блоков, способных выполнять до 38 трлн операций в секунду. Эта архитектура отлично подходит для видеоигр и майнинга, но плохо согласуется с задачами компьютерного зрения: там не нужно обсчитывать каждый пиксель — нужно извлекать смысл из потока.

Причина — узкое место в аппаратных энкодерах/декодерах: на потребительских картах их одна пара, на серверных до 8.

Традиционный пайплайн компьютерного зрения устроен так: видео декодируется в последовательность кадров, каждый кадр разбивается на пиксели, пиксели обрабатываются нейросетью. Разработчики TAPe описывают это как «разбивание статуи Давида на песчинки» — и задаются вопросом, какой суперкомпьютер потребуется, чтобы снова собрать из них осмысленный образ. Их подход принципиально иной: TAPe не разрушает изображение на пиксели, а снимает с видеопотока минимально необходимый набор признаков — так называемые T-bit — и строит на их основе индекс. Именно индексация занимает около 99,9% всего процесса, поэтому её оптимизация даёт наибольший эффект.

По утверждению команды, алгоритмы на основе TAPe позволяют решать задачи компьютерного зрения на порядки быстрее, чем стандартные подходы, и при этом обходиться без GPU вовсе — достаточно обычного CPU. Независимых бенчмарков в открытом доступе команда не публиковала, однако описанная логика согласуется с известной проблемой отрасли: современные фреймворки компьютерного зрения (OpenCV, PyTorch Vision) действительно тратят значительную часть ресурсов на декодирование и предобработку кадров, а не на собственно анализ. Попытки обойти это ограничение — например, через аппаратное ускорение декодирования в NVIDIA NVDEC или Intel Quick Sync — существуют, но упираются именно в малое число аппаратных блоков на одной карте.