Ускорение инференса нейросетей путем использования системы остаточных классов на FPGA отечественного производства

Проект FPGA

Проблема

Нейронные сети – одно из современных направлений в разработке систем искусственного интеллекта.
Для инференса моделей машинного обучения необходимы серьёзные вычислительные мощности, особенно для работы с видеопотоками в реальном времени.
На сегодняшний день стандартом в отрасли нейросетей является использование, как ускорителей, так и программного стека технологий от бренда NVidia.

К сожалению, правительство США наложило запрет на поставку ускорителей последнего поколения от Nvidia в РФ, ограничив тем самым развитие и внедрение отечественных разработок нейронных сетей.

В России пока нет решения для аппаратного ускорения инференса моделей машинного обучения промышленного размера.

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

Правительством РФ выделены большие ресурсы на поддержку и развитие российских производителей радиоэлектроники.

За последние три года страна сделала большой шаг на пути импортозамещения и развития радиоэлектроники, но в высокотехнологичном секторе производства оборудования для обучения и функционирования нейросетей остаётся «белое» пятно.

Наше решение

Есть производство FPGA/ПЛИС АО «Воронежский Завод Полупроводниковых Приборов-Сборка» и комплект инструментов разработчика.

Частоты ПЛИС и их размер не позволяют создать универсальный аналог решения от Nvidia (и обучение и использование), но для частного и наиболее важного для пользователей нейросетей случая, такого как классификация входного потока, можно использовать параллелизацию на уровне базовых арифметических операций.
Такой подход позволяет добиться сравнимого с аппаратурой Nvidia быстродействия в важном для пользователей НС частном случае их использования.

FPGA/ПЛИС работают на более низких частотах, чем GPU, но за счёт параллелизации как базовых арифметических операций, так и матричных на аппаратном уровне, мы можем надеяться получить производительность сравнимую или не слишком уступающую инференсу нейросетей на GPU, что и является темой данного исследования.

На этапе исследования, мы создадим ускоритель для одной архитектуры нейросети (НС) в FPGA, используя арифметику на основе системы остаточных классов (СОК). Использование специализированного, под конкретную архитектуру НС решения, позволит максимально полно использовать весь доступный набор логических блоков FPGA.

Функционал

  • Перенос арифметических вычислений на непозиционную систему остаточных классов;
  • выполнение базовых операций над векторами и матрицами;
  • распараллеливание вычислений над нейросетью свёрточной архитектуры размера от 416*416 до 640*640;
  • реализация вычислений над нейросетью полносвязной архитектуры достаточной для тестирования достигнутых результатов на наборе данных MNIST;
  • ускорение инференса свёрточных нейросетей;
  •  ускорение инференса полносвязных нейросетей;
  • возможность работы на FPGA с числом логических элементов от 15 000.

О компании

Что делаем?

Разрабатываем системы автоматизации бизнеса и безопасности с использованием искусственного интеллекта. 

Специализируемся на разработке программ распознавания удаленных объектов в режиме реального времени с высокой скоростью. 

Клиенты

Работаем с клиентами со всего мира. Полный контроль и прозрачность на всех этапах сотрудничества.

Команда

Сильная команда с большим опытом реализации проектов высокой сложности:  высоконагруженный бэкенд, легкий и отзывчивый фронтенд, масштабируемая инфраструктура и качественное тестирование.

Контакты

Телефон:

Адрес электронной почты: