И так, на календаре очередная пятница, рабочая неделя близится к своему логическому завершению, а мы сегодня хотим немного поговорить про ускорители, и не про абы какие, а про ускорители нейронных сетей!
Технологии искусственного интеллекта все глубже интегрируются в нашу повседневную жизнь. Голосовые помощники, распознавание образов на фотографиях, компьютеры теперь даже музыку пишут самостоятельно, причем лучше, чем некоторые отечественные поп-звезды. Такие же процессы можно наблюдать и в промышленной автоматизации. Теперь искусственные нейронные сети определяют брак изделий прямо на производственной линии, обеспечивают контроль доступа по биометрическим параметрам, помогают поставить диагноз пациентам в медицинских учреждениях.
И для более эффективной работы приложений, связанных с искусственным интеллектом, производители аппаратных платформ разработали отдельные платы, которые помогают ускорить вычисления и делают это максимально эффективно.
Какие же бывают ускорители вычислений?
Здесь мы рассмотрим три основных типа ускорителей: GPU, VPU и FPGA. Любите аббревиатуры, ведь из них все так понятно? Ладно, давайте поговорим про каждый из типов подробнее.
GPU, в представлении не нуждаются, это оборудование знакомо не только майнерам криптовалют и любителям компьютерных игр, но и профессионалам работающим с САПР, создающим цифровой контент (мемасики тоже считаем) и многим другим. GPU пример универсального комбайна. Они хорошо справляются со многими задачами, в том числе с обучением и исполнением нейросетей. Секрет успеха прост! Внутренняя архитектура GPU позволяет выполнять множество операций параллельно и хорошо справляется со сложными математическими вычислениями. Также не стоит забывать про доступность GPU и что после трудного рабочего дня в САПР или фоторедакторе можно вашу видеокарту можно порадовать захватывающей компьютерной игрой с крутейшим графоном!
VPU, он же vision processing unit или процессор машинного зрения на великом и могучем. Как несложно догадаться из названия, платы эти помогают компьютерам лучше видеть, ну или выражаясь более сложно - они отвечают за аппаратное ускорение алгоритмов машинного зрения.
В отличии от графических ускорителей, VPU оптимизированы под специализированные алгоритмы, которые используются в системах машинного зрения. Они более энергоэффективны и производительны для подобного рода задач. Данные устройства получили широкое применения в оптической дефектоскопии (интересно? почитайте про это решение), системах распознавания лиц и в прочих системах интеллектуальной видеоаналитики.
FPGA aka Программируемая Логическая Интегральная Схема (ПЛИС) - это очень гибкое устройство, которое по сути представляет собой набор логических элементов, объединяя и настраивая которую строится цифровая схема, выполняющая конкретную функцию. Не очень понятно? Возьмем для примера обычный контроллер, у которого есть ОЗУ, процессор и вот это все. Вы пишете программу и она затем выполняется за n-ное количество тактов, в зависимости от архитектуры. В вашем контроллере за все математические операции будет отвечать АЛУ (арифметическое логическое устройство). Какую-то математику АЛУ будет выполнять быстрее, какую-то медленнее, опять же, все зависит от архитектуры контроллера. В случае ПЛИС вы сами формируете логические блоки таким образом, чтобы максимально эффективно выполнять определенные математические операции, при этом никто вам не запрещает распараллелить ваши вычисления. Таким образом вы можете сконфигурировать ПЛИС, чтобы с определенными задачами он справлялся гораздо быстрее обычного контроллера.
Если только осторожно.
В заключении хочется сказать, что если вдруг перед вами возникла задача, связанная с построением систем искусственного интеллекта, то для ее решения скорее всего подойдет специализированная аппаратная платформа, коей и являются ускорители нейронных сетей. На самом деле чаще всего они поставляются с ПО, которое упрощает вам работу и жизнь, например Intel® Distribution of OpenVINO™ Toolkit или NVIDIA Jetpack, но это уже совсем другая история...
Если у вас будут интересные задачи, приходите в нашу лабораторию искусственного интеллекта, будем рады помочь!
#ускорители вычислений #искусственный интеллект #gpu #fpga #vpu #нейронные сети #машинное обучение