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

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

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

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

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

История SpiNNaker: от концепции к суперкомпьютеру

Работа над первыми прототипами 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), что обеспечивает оптимальное соотношение быстродействия и энергопотребления.

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

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

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

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

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

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

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

image

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

Кластер Quad Processing Element (QPE)

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

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

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

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

image

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

Архитектура чипа 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

Плата (Evaluation Board)

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

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

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

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

Суперкомпьютер на базе 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