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

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

.pdf
Скачиваний:
4
Добавлен:
20.11.2023
Размер:
41.89 Mб
Скачать

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

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

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

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

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

231

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

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

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

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

232

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

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

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

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

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

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

233

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

Рис. 9.30. Микросхема нейрокомпьютера 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 – ПЗУ – постоянно запоминающее устройство (жесткий диск)

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

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

234

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

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

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

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

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

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

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

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

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

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

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

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

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

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

235

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

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

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

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

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

236

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

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

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

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

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

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

237

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

В отличие от обычного компьютера, который посылает огромное количество информации через стандартную сеть, 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.

238

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

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

«Способность искусственных нейронных сетей обучаться является наиболее интригующим их свойством. Подобно биологическим системам, нейронные сети сами моделируют себя, стремясь достичь лучшей модели поведения», – отметил профессор Института кибернетических систем НИЯУ МИФИ Владимир Головко.

Прорыв в обучении нейросетей произошел в 2006 г., после научной публикации Джеффри Хинтона с описанием техники предварительной тренировки нейросети. В статье говорилось, что можно эффективно учить многослойную нейронную сеть, если обучать каждый слой отдельно при помощи ограниченной машины Больцмана, а затем дообучать методом обратного распространения ошибки. Эти сети получили название нейронных сетей глубокого доверия (DBN – Deep Belief Networks).

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

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

239

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

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

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

Новая форма материи – «кристаллы времени»

Впервые их предсказал нобелевский лауреат, теоретик физики Фрэнк Вильчек в 2012 г. Кристаллы времени – это структуры, которые, кажется, находятся в движении даже в основном состоянии.

В 2010 г. нобелевский лауреат по физике Фрэнк Вильчек подготовил лекцию по классификации кристаллов для студентов Массачусетского технологического института. Периодическая структура кристаллов повторяется в пространстве трех измерений. Время является участником пространственно-временного континуума, который имеет четыре измерения: длина, ширина, высота и время. Следовательно, существуют объекты, повторяющиеся не только в пространстве, но и во времени. Они называются кристаллами времени.

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

240