О нейроморфном процессоре Алтай-1
Нейроморфный процессор Алтай-1 – это сверхбольшая интегральная схема (СБИС) с вычислительной архитектурой, которая имитирует работу биологических сенсорных и нервных систем. Нейроморфный процессор Алтай-1 предназначен для исполнения (инференса) импульсных нейронных сетей, созданных с помощью компонентов платформы или с помощью тернарных слоев пакета ANN2SNN. В архитектуре процессора Алтай-1 реализован принцип "вычисления рядом с памятью", позволяющий избежать характерных для архитектуры фон Неймана избыточных энергозатрат на передачу данных между блоком памяти и вычислительным ядром. Нейроморфный процессор Алтай-1 обладает низким энергопотреблением.
Для исполнения импульсной нейронной сети необходимо подключить объединительную плату с нейроморфным процессором Алтай-1 к компьютеру с помощью интерфейсов PCI-E или USB.
Элементарной единицей импульсной нейронной сети является нейрон, у которого есть набор входных сигнальных линий (дендриты) и выходная сигнальная линия (аксон). Состояние нейрона описывается нейронным потенциалом. Если в процессе исполнения импульсной нейронной сети потенциал нейрона превышает заданный порог, то нейрон испускает по своему аксону спайк и отправляет его в заданные целевые нейроны. Спайк может быть как положительным, так и отрицательным. При моделировании нейрона также учитывается механизм утечки, предназначенный для релаксации нейронного потенциала.
Нейроны импульсной нейронной сети связаны друг с другом посредством синапсов. Каждому синапсу может быть присвоено значение веса, на которое изменяется потенциал нейрона при получении спайка от нейрона, связанного с этим синапсом.
Основной структурной единицей архитектуры нейроморфного процессора Алтай-1 является ядро. Ядро объединяет в себе группу нейронов и память для хранения их параметров. Функцию нейронов в ядре выполняет конечный автомат, который моделирует поведение нейронов.
Синхронизация работы всех нейронов импульсной нейронной сети осуществляется с помощью сигнала тик, после подачи которого потенциалы всех нейронов последовательно обновляются всеми ядрами и при необходимости испускаются спайки. За тик ядро выполняет 262 144 синаптических операций. При этом частота тика не превышает 2000 Гц. Одна синаптическая операция выполняется за один такт синхросигнала с частотой 600 МГц.
Нейроморфный процессор Алтай-1 имеет регулярную структуру ядер в виде прямоугольной сети, в которой каждое ядро непосредственно связано со своими 4 соседями. Для передачи спайков между нейронами разных ядер реализован механизм маршрутизации таких сигналов по сети ядер. Соответственно, при выполнении функции нейрона к потенциалу моделируемого нейрона могут быть добавлены значения нейронных потенциалов, отправленных нейронами из других ядер.
В нейроморфном процессоре Алтай-1 предусмотрена возможность масштабирования за счет увеличения количества СБИС. По вопросам масштабирования вам нужно обратиться к специалистам АО "Лаборатория Касперского".
В таблице ниже приведены общие сведения о нейроморфном процессоре Алтай-1 и его составляющих:
Общие сведения о процессоре Алтай-1
Свойство | Ограничение | |
|---|---|---|
СБИС | Площадь кристалла | 6 кв. мм |
Технология изготовления | 28 нм | |
Максимальное количество нейроморфных ядер | 256 | |
Количество нейроморфных ядер в прототипе | 16 | |
Максимальное количество моделируемых нейронов | 131 072 | |
Количество моделируемых нейронов в прототипе | 8192 | |
Ядро
| Количество моделируемых нейронов | 512 |
Количество входных линий | 512 | |
Диапазон значений потенциала нейрона | От -32 768 до 32 767 Потенциал нейрона хранится в виде 16-битной величины. | |
Диапазон значений веса синапса | Вес синапса хранится в виде 8-битной беззнаковой величины. | |
Вариативность весов на нейрон | 4 | |
Количество синаптических операций | 9 Каждая синаптическая связь между моделируемым нейроном и входной линией характеризуется одной из девяти синаптических операций, выбором которой можно управлять воздействием этой синаптической связи на нейрон. Возможны следующие синаптические операции:
| |
Количество синаптических операций за тик | 262 144 | |
Частота тика | Не более 2000 Гц | |
Энергопотребление ядра | Не более 4 мВт | |
Объем памяти ядра | 88 КБ | |
Объем памяти ядра для хранения параметров нейрона | 16 КБ | |
