Pull to refresh

SpiNNaker — нейронный компьютер

Reading time5 min
Views8.3K
Прочитав недавно опубликованную статью «Обзор современных проектов крупномасштабного моделирования мозговой активности», хотелось бы рассказать о другом подобном проекте, проводимом научной группой Манчестерского Университета в Великобритании под руководством профессора
Стива Фурбера (Steve Furber), создателя BBC Microcomputer и 32-битного ARM RISC микропроцессора, а также основателя компании ARM.

Экскурс в историю исследований Манчестерского Университета


Университет имеет выдающуюся историю разработок вычислительных машин и сыграл революционную роль в развитии информатики и искусственного интеллекта. Первый в мире электронный компьютер под названием SSEM, также известный как «Baby», отличительной характеристикой которого было совместное хранение данных и программ в памяти машины (иными словами, соответствие фон Неймановской архитектуре), был создан в 1948 году Фредериком Уильямсом и Томом Килберном. Само устройство было создано не столько для вычислительных целей, сколько для изучения свойств компьютерной памяти на электронно-лучевых трубках (иначе «трубках Уильямса»).

Успех эксперимента побудил к созданию в следующем году Манчестерского Марка 1 (Manchester Mark 1), который уже имел устройство для чтения и записи перфоленты, позволяющей производить ввод/вывод с магнитного барабана без непосредственной остановки программы. Также в Марке 1 впервые в мире были применены индексные регистры. Двумя годами позже там же был разработан первый в мире коммерческий универсальный компьютер Ферранти Марк 1 (Ferranti Mark 1). Эти вычислительные машины стали прародителями почти всех современных компьютеров.

В экспериментах с «Baby» и Марком 1 принимал непосредственное участие Алан Тьюринг, один из основоположников вычислительной техники и искусственного интеллекта. Тьюринг полагал, что компьютеры в конце концов смогут мыслить как человек. Результаты своих исследований он опубликовал в статье «Вычислительные машины и разум», в которой в частности был предложен мысленный эксперимент (ставший известным как тест Тьюринга), заключающийся в оценивании способности машины мыслить: способен ли человек, беседуя с невидимым собеседником, определить, общается ли он с другим человеком или искусственным устройством.

Мотивы проекта


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

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

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

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


Вышеописанные мотивы движут научно-исследовательской группой, работающей над проектом под названием SpiNNaker (Spiking Neural Network Architecture). Цель проекта является создание устройства с достаточно высокой устойчивостью к сбоям, что достигается путём разделения вычислительной мощности на n-ное количество частей, выполняющих простейшие подзадачи. Причём при отказе любой из таких частей система продолжает корректно функционировать, лишь переконфигурировав себя таким образом, чтобы исключить ненадёжный узел, перераспределяя его обязанности на соседние узлы и находя альтернативные «синаптические» связи для передачи сигналов. Что-то схожее происходит в человеческом мозгу, ведь приблизительно каждую секунду человек теряет по нейрону, но это мало отражается на его способности мыслить.

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

На первой стадии проекта планируется симулировать в реальном времени до 500 000 нейронов, что примерно соответствует количеству нейронов в мозгу пчелы. На конечной стадии проекта предполагается, что устройство будет способно смоделировать до миллиарда нейронов, что приблизительно равняется количеству нейронов в человеческом мозгу.

Архитектура системы


Примечателен сам подход к проектированию вычислительной машины. Предлагаемое устройство состоит из регулярной матрицы из 50 чипов. Каждый чип имеет 20 микропроцессоров ARM968, причём 19 из них выделены непосредственно на моделирование нейронов, а оставшийся контролирует работу чипа и ведёт лог активности.

image
Рис. 1. Системная диаграмма

Каждый такой чип является завершённой подсистемой со своим маршрутизатором, внутренней синхронной динамической ОЗУ с режимом прямого доступа (32 Кбайта для хранения команд и 64 Кбайта для хранения данных) и своей собственной системой передачи сообщений с пропускной способностью в 8 Гбит в секунду. К тому же каждый чип имеет 1 Гбайт внешней памяти для хранения топологии сети. По утверждению разработчиков, соотношение центрального процессора, внутренней памяти и средств передачи данных позволяют моделировать до 1 000 нейронов в каждом микропроцессоре в реальном времени.

Отличительной особенностью данной системы является полное отсутствие синхронизации. Каждый нейрон, при достижении определённого внутреннего состояния, шлёт сигнал постсинаптическому нейрону, который соответственно отправляет или не отправляет (в зависимости от своего внутреннего состояния) новый сигнал последующему нейрону.

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

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

image
Рис. 2. Тестовый чип

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

Перспективы


Несмотря на то, что первостепенное назначение машины направлено на моделирование нейронных сетей, наравне существует возможность её использования в иных разнообразных приложениях, требующих большой вычислительной мощности, как protein folding, дешифрации или поиска в базах данных.
Tags:
Hubs:
+33
Comments22

Articles