Приветствуем вас, дорогие читатели!

В предыдущей статье мы говорили о TrueNorth — нейроморфном процессоре от IBM, который доказал возможность энергоэффективной обработки данных на основе принципов биологических нейронных сетей. Однако на этом путь нейроморфных вычислений не заканчивается, есть и другие проекты, предлагающие альтернативные подходы к созданию «вычислительного мозга». Одним из таких проектов является SpiNNaker — масштабируемая платформа, сочетающая в себе параллелизм и событийно-ориентированный принцип обработки сигналов. В этой статье мы рассмотрим путь развития SpiNNaker — от первых концепций к современному поколению SpiNNaker2 — и проанализируем ключевые архитектурные особенности, которые делают эту платформу уникальной среди нейроморфных систем.

SpiNNaker (Spiking Neural Network Architecture) — это архитектура процессора для массово-параллельных вычислений, основанная на принципах работы человеческого мозга. Система состоит из миллиардов простых вычислительных элементов, обменивающихся биоподобными импульсами (спайками), что позволяет моделировать работу спайковых нейронных сетей (SNN) в реальном времени.

Цели проекта:

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

Работа над первыми прототипами SpiNNaker началась в конце 1990-х в Манчестерском университете под руководством Стива Фёрбера. Результатом многолетних исследований стало появление второго поколения — SpiNNaker2, которое продолжает развивать заложенные принципы и расширять возможности платформы. Рассмотрим основные этапы этого пути:

Ранняя концепция SpiNNaker (конец 1990х - начало 2000х).

В этот период сформировалась идея SpiNNaker, как аппаратной платформы для имитации биологических нейронных процессов в реальном времени. Профессор Стив Фербер и его коллеги из Университета Манчестера, опираясь на опыт разработки архитектуры ARM, начали исследовать спайковые нейронные сети (SNN) и способы их реализации на специализированном «нейроморфном» железе. На фоне растущей потребности в более энергоэффективных и биологически правдоподобных моделях мозговой активности команда провела эксперименты с небольшими нейронными сетями на универсальных CPU, демонстрируя, что «нейроноподобная» обработка не просто может, а должна быть портирована на специализированную архитектуру, чтобы добиться высокой производительности и реалистичного параллелизма.

Первые прототипы SpiNNaker (середина 2000-х – около 2009).

На следующем этапе группа разработчиков представила первые чипы на базе ARM-ядер, снабжённые специализированной системой маршрутизации спайков. Первая версия SpiNNaker была выполнена по 28-нм техпроцессу. Основная задача заключалась в проверке концепции GALS (Globally Asynchronous, Locally Synchronous) и событийного протокола Address Event Representation (AER). Предпосылками выбора GALS служило стремление эффективно синхронизировать локальные участки системы без нагромождения глобальных тактовых сигналов, а протокол AER позволял передавать «спайковые события» с минимальными задержками. Особое внимание уделялось качеству передачи спайков: измерялись задержки, устойчивость при больших потоках данных и надёжность в условиях параллельной нагрузки. Для обеспечения удобного доступа к системе и анализа её работы создавались утилиты визуализации и управления моделями, что позволило учёным отслеживать спайковую активность в режиме реального времени и настраивать конфигурации сетей.

Масштабирование и участие в Human Brain Project (конец 2000-х – начало 2010-х).

По мере развития проекта разработчики увеличивали число процессоров на чипе и объединяли их в многоплатные узлы, формируя всё более объёмные фрагменты «искусственной нейронной ткани». Одним из ключевых достижений стало сотрудничество с европейской инициативой Human Brain Project (HBP), целью которой являлось биологически правдоподобное моделирование крупных областей мозга. Это ускорило эволюцию SpiNNaker: расширялись программные инструменты, появились библиотеки высокого уровня (например, sPyNNaker), упрощающие описание нейронных сетей и автоматическую «раскладку» вычислительных задач по ядрам.

Переход к полнофункциональной системе (2013–2016).

На этой стадии появились аппаратные сборки, включавшие десятки чипов и тысячи ядер ARM, что позволяло моделировать существенно более сложные нейронные структуры. Повышенная вычислительная мощность дала возможность решать задачи не только в нейробиологии, но и в робототехнике, машинном обучении и анализе сенсорных сигналов. Наличие удобного инструментария стимулировало взаимодействие с широким кругом исследователей, внедрявших SpiNNaker в свои проекты по биологической пластичности нейронов, обучающим алгоритмам и распределённым вычислениям.

Совершенствование и расширение применения (2017 – настоящее время).

Наконец, команда представила SpiNNaker2 — новую версию системы с увеличенным числом ядер, встроенными аппаратными ускорителями и механизмами управления энергопотреблением (ABB, DVFS), о которых мы поговорим отдельно. Эти улучшения позволили системе работать гораздо эффективнее. В исследованиях SpiNNaker2 успешно демонстрирует гибридную работу в режимах SNN, DNN и расширяет спектр прикладных задач — от биомедицинских симуляций до систем «умных городов», демонстрируя способность гибко действовать в условиях неопределённости и быстро меняющейся среды, что подчёркивает практическую ценность событийно-ориентированного подхода.

Аппаратная архитектура SpiNNaker2

Платформа SpiNNaker2 демонстрирует принцип масштабируемости нейроморфных вычислений, начиная с элементарных вычислительных узлов и заканчивая суперкомпьютерными системами, способными в реальном времени симулировать работу миллионов биологических нейронов. Основные технологические достижения — переход от 28-нм техпроцесса к 22‑нм FD‑SOI, Adaptive Body Biasing (ABB) и Dynamic Voltage and Frequency Scaling (DVFS), что обеспечивает оптимальное соотношение быстродействия и энергопотребления.

1. Вычислительный элемент (Processing Element, PE)

На самом базовом уровне системы находится вычислительный элемент (PE) — специализированный блок, отвечающий за локальные вычисления и моделирование нейронной динамики. Каждый PE включает в себя:

  • Ядро ARM Cortex‑M4F общего назначения со встроенным сопроцессором для обратки чисел с плавающей точкой, благодаря которому обеспечивается высокая конфигурируемость при реализации алгоритмов.

  • Аппаратный MAC‑массив для ускорения операций матрично-векорного умножения (MAC или МВУ), что критично для инференса свёрточных слоёв классических нейросетей и синаптической пластичности в спайковых нейросетях (SNN).

  • Генераторы случайных чисел (RNG) (как псевдо, так и истинные), которые обеспечивают поддержку стохастических процессов и нейросетевых алгоритмов.

  • 128 КБ встроенной SRAM, разбитой на несколько банков, что минимизирует конфликты при параллельном доступе к данным и ускоряет обработку событий.

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

image

Рис.1. Схема вычислительного элемента SpiNNaker2 (Processing Element, PE)

2. Группа из четырёх PE (Quad Processing Element, QPE)

Для повышения эффективности коммуникаций и упрощения масштабирования отдельные PE объединяются в кластеры по четыре элемента — так называемые QPE. В каждом QPE:

  • Четыре PE работают в тесной связи, используя локальный маршрутизатор, который обеспечивает быстрый обмен данными между ядрами.

  • Локальная сеть внутри QPE организована по принципу GALS (Globally Asynchronous, Locally Synchronous), что позволяет каждому вычислительному элементу работать в собственном тактовом домене с индивидуальными параметрами DVFS, одновременно синхронизируясь с соседними узлами посредством асинхронных мостов.

Такой подход снижает задержки передачи «спайков» и оптимизирует распределение вычислительной нагрузки, позволяя в реальном времени адаптировать энергопотребление в зависимости от интенсивности вычислений.

image

Рис.2. Архитектура кластера Quad Processing Element (QPE)

3. Чип SpiNNaker2

На уровне чипа реализована интеграция множества QPE для формирования высокопроизводительной нейроморфной системы, т.о. на одном кристале размещено 152 PE элемента или 38 QPE. Важнейшими технологическими решениями, которые применяются в чипе, являются:

  • Adaptive Body Biasing (ABB): позволяет динамически корректировать пороговые характеристики транзисторов для работы в режиме near‑threshold, повышая производительность до 10× при напряжении около 0,50 В.

  • Dynamic Voltage and Frequency Scaling (DVFS): модуль, который автоматически изменяет тактовую частоту и напряжение питания (например, режимы PL1: 0,50 В/100‑200 МГц и PL3: 0,60 В/400 МГц) в зависимости от вычислительной нагрузки, что обеспечивает экономию энергии до ~60%.

  • Сеть на кристалле (NoC): для обмена данными используется двухканальная архитектура: data NoC (DNoC) для передачи нейронных спайков и DMA‑данных и configuration NoC (CNoC) для загрузки конфигурационных сообщений. Дополнительно используется метод Address Event Representation (AER) для эффективной параллельной маршрутизации спайков с минимальными издержками.

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

image

Рис.3. Топология чипа SpiNNaker2

4. Плата (Evaluation Board)

Чипы SpiNNaker2 устанавливаются на специализированные платы, которые служат промежуточным звеном между отдельным кристаллом и суперкомпьютерной системой:

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

  • Стандартные интерфейсы: Наличие UART, SPI, I2C, JTAG и Ethernet обеспечивает удобство конфигурации, отладки и интеграции в более крупные вычислительные системы.

  • Модульная конструкция: Платы разработаны так, чтобы можно было устанавливать несколько тестовых чипов (до 6 и более) в одном устройстве, что позволяет создавать более крупные вычислительные кластеры на базе одного оборудования.

5. Суперкомпьютер на базе SpiNNaker2

Благодаря модульной архитектуре и масштабируемости, отдельные платы с чипами SpiNNaker2 могут объединяться в суперкомпьютерные системы:

  • Масштабирование до миллионов ядер: Современные установки уже охватывают до 5 миллионов вычислительных ядер, а перспективные разработки нацелены на 10 миллионов ядер. Это позволяет проводить детальные симуляции сенсорных контуров, фрагментов коры и даже целых отделов мозга.

  • Энергоэффективность и производительность: Использование технологий ABB и DVFS, а также аппаратных ускорителей вычислений, обеспечивает прирост производительности в десятки и даже сотни раз по сравнению с традиционными архитектурами, при этом снижая энергопотребление.

  • Асинхронная межплатная коммуникация: Благодаря унифицированному NoC и принципу GALS, различные платы могут взаимодействовать асинхронно, что упрощает построение масштабируемых систем без необходимости сложной глобальной синхронизации.

На этом моменте мы завершаем первую часть статьи о платформе SpiNNaker. Объём материала о проекте оказался настолько большим, что для более глубокого и структурированного обзора мы решили разбить статью на две части. В следующей статье мы продолжим говорить о SpiNNaker2, подробнее рассмотрим программное обеспечение и инструменты, поддерживающие эту архитектуру, сравним SpiNNaker2 с IBM TrueNorth, поговорим о ключевых направлениях и проектах, в которых применяется SpiNNaker2. Следите за обновлениями и до скорой встречи в нашем блоге!

Спасибо, что вы с нами!
С уважением, команда MemriLab!

Источники:

  1. The SpiNNaker2 Processing Element Architecture for Hybrid Digital Neuromorphic Computing

  2. SpiNNaker2: A Large-Scale Neuromorphic System for Event-Based and AsynchronousMachine Learning

  3. Efficient Reward-Based Structural Plasticity on a SpiNNaker 2 Prototype

  4. The SpiNNaker Project

  5. SpiNNaker: A 1-W 18-Core System-on-Chip for Massively-Parallel Neural Network Simulation