Нейроморфный процессор Алтай-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 КБ |