Ассоциативный процессор для поиска в больших данных (перевод статьи William G. Wong)

Пост опубликован в блогах iXBT.com, его автор не имеет отношения к редакции iXBT.com
| Перевод | Сетевое оборудование

Статья знакомит читателя с новым процессором для нейронных сетей, разработанным GSI Technology (США). Процессор GSI предназначен исключительно для поиска данных в очень большой БД, что позволяет разгрузить основной CPU. Кроме этого, в процессоре реализована возможность Zero-Shot Learning для дообучения сетки новым классам объектов.

Процессор Gemini APU от GSI Technology возвел ассоциативную память на новый уровень универсальности и возможностей для программирования.

Автор: William G Wong
Перевод: Евгений Павлюкович

Что вы узнаете:
1. Что такое ассоциативный процессор APU?
2. Каким образом применяется APU?

Определенно, искусственный интеллект и машинное обучение (ИИ/МО) являются сейчас одними из самых перспективных направлений развития технологий. Однако, нюансы и детали часто упускаются в обзорах высокоуровневых решений. Стоит только слегка углубиться, как сразу станет понятно, что для разных приложений используются разные типы нейронных сетей и методы распознавания объектов. Часто такие решения, как автономный робот и беспилотный автомобиль требуют несколько моделей ИИ/МО с различными типами сетей и методами распознавания.

Поиск похожих объектов является одним из основных этапов в решении таких задач. Фокус ИИ/МО заключается в том, что данные представлены в очень простой форме, но их объем огромен. Поиск объекта в большом объеме является именно той задачей, для которой используется процессор APU от GSI Technology.

Разработчики знакомые с ассоциативной памятью или TCAM (ternary content-addressable memory – рус. троичная память с адресацией по содержимому) по достоинству оценят возможности APU. Несмотря на то, что ассоциативная память известна уже давно, она используется для очень специфических задач, так как обладает недостаточным объемом и ограниченной функциональностью.

Ассоциативная память состоит из памяти и компараторов, что позволяет выполнять одновременное сравнение по всему объему памяти. Для этого на один вход компаратора подается запрос, а на второй – значение из памяти. Это был первый своеобразный параллельный процессор. Когда TCAM впервые появилась, это был по-настоящему прорыв в области сравнения больших данных. Благодаря чему она все еще остается востребованной, несмотря на присущие недостатки.

В APU используется похожая структура вычислений данных, находящихся в памяти. Однако, благодаря добавлению масок и возможности работать с данными переменной длины, а также сравнивать слова разной длины APU делает это более искусно. Конечно, APU можно программировать, однако, он все равно не будет таким же универсальным, как системы, построенные на многоядерном CPU с блочной памятью. Его преимуществами являются скорость поиска и цена.

На рисунке 1 изображена базовая секция APU, состоящая из 2048 столбцов и 24 строк. Каждая секция имеет независимое управление, что позволяет выполнять одновременный поиск во всех секциях. В одном процессоре находится 2 млн. таких строк или, другими словами, 2 млн. вычислительных движков разрядностью 2048-бит.

Рисунок 1. Базовая секция многократно скопирована в APU с типичной для памяти эффективностью архитектуры. 2048-битные движки – это всего лишь базовая структура. Параллельные вычисления обеспечивают огромное преимущество по производительности в сравнении с любыми CPU или альтернативными ASIC.

В отличие от TCAM, которая может выполнять только элементарные сравнения, APU поддерживает ассоциативную и булеву логику. Это позволяет APU вычислять косинусные расстояния, а нейронной сети выполнять поиск в большой базе данных. Кроме этого, APU может вычислять сложные математические задачи, такие как криптографическое хеширование SHA-1 используя для этого только булеву логику. В дополнение, APU поддерживает работу с данными переменной длины.

Первая оценочная плата с 400 МГц процессором Gemini APU изображена на рисунке 2. Функции хоста на плате выполняет ПЛИС. В скором времени планируется выпуск платы Leda-E с еще более высокопроизводительным процессором Gemini-II, который в настоящее время находится еще в разработке. Новую плату предполагается изготовить без ПЛИС, вычислительная скорость процессора будет увеличена в два раза, а память – в восемь раз.

Рисунок 2. Оценочная плата Leda-G с 400 МГц процессором Gemini APU и ПЛИС.

Gemini APU является специализированным вычислительным блоком, который предназначен для работы с большими базами в нейронных сетях. APU не похож на процессоры общего назначения, такие как CPU или GPU, однако он способен существенно увеличить скорость вычислений платформ, от которые требуется этого. Gemini очень энергоэффективный, в особенности с многократным приростом производительности. Решение на базе процессора Gemini также может быть легко промасштабировано по такому же принципу, как увеличения объема внешней ОЗУ памяти, что позволит работать не только с большими базами, но также с более длинными векторами.

GSI Technology предоставляет необходимые библиотеки, а также помогает интегрировать их в приложения заказчика, на подобии с BIOVIA и Hashcat. APU может быть использован для поиска по базе данных и даже для распознавания лиц. У компании есть инструмент для анализа Python кода с целью извлечения из него блоков, которые могут быть ускорены с помощью APU. Для того чтобы узнать, на сколько Gemini APU может улучшить существующее решение и какие понадобятся для этого библиотеки и инструменты, разработчикам необходимо обратиться в компанию GSI Technology.

Источник: Associative Processing Unit Focuses on ID Tasks

0 комментариев

Добавить комментарий