Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги / Физические основы нанотехнологий фотоники и оптоинформатики

..pdf
Скачиваний:
5
Добавлен:
19.11.2023
Размер:
41.54 Mб
Скачать

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

Позднее Ливерморская национальная лаборатория (LLNL) имени Э. Лоуренса объявила о создании производительного компьютера, принцип работы которого схож с принципом работы мозга человека. Система включает 16 млн нейронов и 4 млрд синапсов. В компьютере, который был разработан лабораторией, всего 16 TrueNorth-чипов (рис. 9.28), а сама система получила название IBM Neuromorphic System.

Рис. 9.28. Чип TrueNorth

Сейчас IBM участвует в совместном проекте с ВВС США. Партнеры собираются создать новый суперкомпьютер, который будет включать 64 млн нейронов и 16 млрд синапсов. При этом потреблять он будет всего 10 Втэнергии, т.е. егоможнобудетподключитьк обычной энергосети.

По мнению разработчиков, новый компьютер (его название

TrueNorth Neurosynaptic System) позволит работать с несколькими ис-

точниками данных одновременно (видео, изображения, аудио и текст). Сейчас один нейроморфный процессор состоит из 5,4 млн транзисторов, составляющих ядра, всего их 4096. Ядра, в свою очередь, создают массив из 1 млн цифровых нейронов, которые взаимодействуют друг с другом посредством 256 млн электрических синапсов.

ВВС США, а именно Air Force Research Lab (AFRL), использует возможности процессора для идентификации военных и гражданских транспортных средств при радиолокации с воздуха. Военные утверждают, что чип работает не хуже, чем мощный военный компьютер. Но энергии при этом потребляется в 20 раз меньше.

231

Рис. 9.29. Структура нейрочипа TrueNorth

Чип TrueNorth (рис. 9.29) изготовлен по технологии 28 нм. Он содержит 5,4 млрд транзисторов и представляет собой нейроморфную систему со следующими характеристиками:

1 млн эмулируемых нейронов;

256 млн эмулируемых связей между нейронами – синапсов;

около 400 Мбит SRAM-памяти ( 50 Мб).

Корпорация Samsung ранее создала на основе TrueNorth систему машинного зрения. Ее принцип работы отличается от принципа работы обычных камер. И эта система обеспечивает обработку видеопотока со скоростью в 2000 кадров/с и выше. У самых современных камер этот показатель не превышает 120 кадров в секунду.

9.5.4. Европейский нейроморфный суперкомпьютер SpiNNaker7

В 2018 г. по просьбе ученых Манчестерского университета появился европейский нейроморфический суперкомпьютерный проект, целью которого являлась имитация искусственного мозга с использованием так называемой ветвящейся архитектуры нейронной сети

(SpiNNaker – Spiking Neural Network Architecture).

7 http://apt.cs.manchester.ac.uk/projects/SpiNNaker/project/.

232

Рис. 9.30. Фрагмент аппаратуры нейрокомпьютера SpiNNaker (http://apt.cs.manchester.ac.uk/projects/SpiNNaker/project)

SpiNNaker является новой массивно-параллельной компьютерной архитектурой (рис. 9.30), «вдохновленной» фундаментальной структурой и функциями человеческого мозга, который сам состоит из миллиардов простых вычислительных элементов, взаимодействующих с использованием ненадежных пиков (рис. 9.31).

Рис. 9.31. Архитектура нейрокомпьютера SpiNNaker (http://apt.cs.manchester.ac.uk/projects/SpiNNaker/project)

Цели проекта двоякие:

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

233

исследовательского инструмента для нейробиологов, программистов

иробототехников;

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

Сорокавосьмичиповая плата была разработана, чтобы стать строительным блоком для машин SpiNNaker в диапазоне различных размеров. Цель состоит в том, чтобы иметь возможность моделировать единую сеть, состоящую из 1 млрд простых нейронов, для чего требуется машина с более чем 50 000 чипов.

SpiNNaker – это вычислительная машина на миллион ядер, флагманская цель которой состоит в том, чтобы предоставить возможность моделировать поведение агрегатов до миллиарда нейронов в режиме реального времени. Она состоит из массива ядер ARM9, обменивающихся данными через пакеты, переносимые с помощью пользовательской структуры межсоединений. Пакеты имеют небольшой размер (40 или 72 бита), и их передача полностью осуществляется аппаратными средствами, что обеспечивает для всего механизма чрезвычайно высокую полосу пропускания, составляющую более 5 млрд пакетов/с. Три из основных аксиом параллельного проектирования машин – когерентность памяти, синхронность и детерминизм – были отброшены в дизайне, что, к удивлению, не поставило под угрозу способность выполнять значимые вычисления. Еще одним атрибутом системы является подтверждение начиная с начальных этапов проектирования.

Механизм SpiNNaker представляет собой массивно-параллель- ную многоядерную вычислительную систему. Он будет содержать до 1 036 800 ядер ARM9 и 7 Тб ОЗУ, распределенных по всей системе в узлах 57 кб, причем каждый узел представляет собой систему в пакете (SiP), содержащую 18 ядер, плюс встроенную SDRAM объемом 128 Мб (синхронная динамическая память с произвольным доступом). Каждому ядру соответствует 64 кб памяти с плотной связью данных (DTCM)

и32 кб памяти с тесной связью команд (ITCM). Ядра имеют различные способы связи друг с другом и с памятью, доминирующим из которых являются пакеты. Это 5- или 9-байтовые (40или 72-битные) кванты информации, которые передаются по системе под эгидой специальной параллельной системы аппаратной маршрутизации.

234

Физическая иерархия системы имеет каждый узел, содержащий два кремниевых кристалла: сам чип SpiNNaker (рис. 9.29), а также SDRAM Mobile DDR (двойная скорость передачи данных), который физически установлен поверх матрицы SpiNNaker и соединен с ней стежком. Узлы упакованы и смонтированы в шестигранный массив из 48 узлов на печатной плате (полная система, требующая 1200 таких плат). При работе двигатель потребляет не более 90 кВт электроэнергии.

Основным строительным блоком станка SpiNNaker является многоядерная система SpiNNaker на кристалле. Чип представляет собой глобально асинхронную локально-синхронную (GALS) систему с 18 процессорными узлами ARM968, расположенными на синхронных островах вокружении легкой асинхронной коммуникационной инфраструктуры с коммутациейпакетов.

На рис. 9.32 показано, что каждая микросхема SpiNNaker содержит два кремниевых кристалла: сам кристалл SpiNNaker и кристалл SDRAM объемом 128 Мб (синхронная динамическая память с произвольным доступом), который физически установлен поверх матрицы SpiNNaker и прикреплен к ней стежком.

Рис. 9.32. Чип SpiNNaker [12]

Микроархитектура предполагает, что процессоры «бесплатны»: реальная стоимость вычислений – это энергия. Вот почему мы используем энергосберегающие встроенные процессоры ARM9 и SDRAM Mobile DDR (Double Data Rate), в обоих случаях мы жертвуем некоторой производительностьюдлязначительногоповышенияэнергоэффективности.

На рис. 9.33 показан график матрицы SpiNNaker с 18 идентичными подсистемами обработки, расположенными на периферии, а также

235

компонентом Network-on-Chip и общими компонентами в центре. При запуске, после самопроверки, одно из ядер избирается на специальную роль в качестве Monitor Core, а затем выполняет задачи управления системой. Обычно для поддержки приложения используются 16 ядер, а одно зарезервировано в качестве запасного для обеспечения отказоустойчивости и повышения производительности.

Рис. 9.33. Микросхема нейрокомпьютера SpiNNaker [12]:

Core 4 – ядро 4; Tightly coupled RAM – плотно связанное ОЗУ (оперативно запоминающее устройство); SDRAM Control – управление SDRAM; System Noс – система Noс; Router – маршрутизатор; Routing Tables – таблицы маршрутизации; Shared RAM – общая оперативная память; Ethernet Interface – интерфейс интернета;Теmрerature Sensorc – датчик температуры; ROM – ПЗУ – постоянно запоминающее устройство (жесткий диск)

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

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

236

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

ПлощадьматрицыSpiNNaker составляет102 мм2 (10,386×9,786 мм).

Cистемное программное обеспечение

Во время выполнения SpiNNaker используется три разных устройства:

– хост-машина – для ввода-вывода приложений и мониторинга;

– ядра мониторинга SpiNNaker – для поддержки приложений и мониторинга системы. Кроме того, один из них связывается с хостом через Ethernet;

– ядра приложений SpiNNaker – для запуска приложений.

На рис. 9.34 показаны программные компоненты среды выполнения SpiNNaker, используемые для поддержки приложений:

– ybug (программное обеспечение хоста) взаимодействует с scamp на ядрах монитора и предоставляетпростой интерфейс команды/ отладки для запуска приложений и проверки ресурсов памяти и встроенных

вкристаллресурсов;

scamp (монитор ядра программного обеспечения) взаимодействует с ybug на хосте и sark на ядрах приложений. Поддерживает общесистемную межпроцессорную связь и связь с хостом;

sark (прикладное программное обеспечение) взаимодействует с мошенниками на ядре монитора и предоставляет возможность абстрактно использовать аппаратное и периферийное оборудование ядра. Например, запуск таймера 1 мс, установка записи в таблице многоадресной маршрутизации или установка обработчика для обработки поступления пакетов.

Модель программирования SpiNNaker – это простая модель, управляемая событиями. Приложения не управляют потоком выполнения, они могут только указывать функции, называемые обратными вызовами, которые должны быть выполнены, когда происходят опреде-

ленные события, такие как прибытие пакета, завершение передачи с прямым доступом к памяти (DMA) или истечение срока периодический интервал времени. Ядро времени выполнения приложения SpiNNaker (sark) контролирует ход выполнения и планирует / отправляет функции обратного вызова приложения.

237

Рис. 9.34. Компоненты системного программного обеспечения нейрокомпьютера SpiNNaker

(http://apt.cs.manchester.ac.uk/projects/SpiNNaker/project)

Рис. 9.35. Базовая архитектура платформы SpiNNaker, управляемой событиями

(http://apt.cs.manchester.ac.uk/projects/SpiNNaker/project)

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

238

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

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

Называется этот компьютер Spiking Neural Network Architecture (SpiNNaker), он может выполнять более чем 200 млн операций в секунду, а каждая из микросхем имеет 100 млн деталей. Машина собрана на базе Школы компьютерных наук Манчестерского университета, и на реализацию этого проекта было потрачено 15 млн фунтов стерлингов. Но эта сумма не так впечатляет, как время, ушедшее на разработку: 20 лет прорабатывалась концепция суперкомпьютера и еще 10 лет потребовалось на сборку.

Машина SpiNNaker имеет 1 000 000 ядер, т.е. нейроморфных процессоров, которые подобны человеческим мозговым нейронам (рис. 9.36). Для моделирования мозгового моделирования в реальном времени потребовался 1 млн ядер. Каждый из этих процессоров (микросхем) способен выполнять более 200 млн операций в секунду и имеет 100 млн транзисторов.

Рис. 9.36. Фрагмент структуры связи ядер SpiNNaker

(http://apt.cs.manchester.ac.uk/projects/SpiNNaker/project)

239

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

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

SpiNNaker имеет 1 000 000 ядер, однако это намного меньше, чем требуется для правильной имитации всего человеческого мозга. Для сравнения, мозг мыши имеет 100 млн нейронов, а человеческий мозг имеет 100 млрд нейронов. Таким образом, суперкомпьютеру может понадобиться в 100 тысяч раз больше ядер, чем в настоящее время, для достижения паритета с биологическим человеческим мозгом. Нам не нужен паритет 1:1 с мозгом человека, чтобы имитировать его точно, возможно использовать меньше физических ядер с более «виртуальными ядрами» (или потоками), которые могут действовать как нейроны. Суперкомпьютер на 1 000 000 ядер будет полезным для моделирования определенных частей мозга в режиме реального времени, а также для других задач.

Новый метод для обучения ограниченной машины Больцмана (вид нейросети)8

ВИнституте интеллектуальных кибернетических систем Национального исследовательского ядерного университета МИФИ предложили новый метод для обучения ограниченной машины Больцмана (вид нейросети), позволяющий оптимизировать процессы семантического кодирования, визуализации ираспознавания данных. Результаты исследования опубликованывжурналеOptical Memoryand Neural Networks (2018).

Внастоящее время большую популярность приобретает изучение глубоких нейронных сетей различной архитектуры: сверточных, ре-

куррентных, автоэнкодерных. Ряд высокотехнологичных компаний,

8 https: //ria.ru/science/20180621/1522975977.html.

240