TrueNorth: от нуля к 64 миллионам нейронов

МЕНЮ


Искусственный интеллект
Поиск
Регистрация на сайте
Помощь проекту

ТЕМЫ


Новости ИИРазработка ИИВнедрение ИИРабота разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика

Авторизация



RSS


RSS новости


2020-08-16 23:03

нейропроцессор

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

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

Временем зарождения нейроморфной инженерии [1] можно считать период, когда было обнаружено сходство физических явлений, происходящих в транзисторах и нейронах, что дало толчок исследованиям, посвященным возможности имитации мозга. В число первых попыток устранить разрыв между компьютерами и мозгом входят разработка динамического аналогового видеодатчика Dynamic Vision Sensor [2] и создание крупномасштабной системы аналоговых нейронов Neurogrid [3]. В рамках европейского проекта BrainScaleS реализуется система моделирования синапсов и нейронов на базе методов быстрых аналоговых вычислений [4], а система SpiNNaker имитирует работу мозга при помощи специализированных процессоров архитектуры ARM.

В 2008 году в DARPA была запущена программа SyNAPSE по разработке технологий нейроморфных электронных машин с возможностью масштабирования до уровня реального мозга. Задача программы — обеспечить крупномасштабную имитацию систем биологических нейронов и синапсов, достигнув новых уровней программируемости и интеграции. Была поставлена цель — создать интегрированный процессор, имеющий 106 нейронов с большим числом выходных соединений, а также сформулированы связанные задачи в области архитектур, симуляций, аппаратного обеспечения и приложений. Со временем запланировано создание многопроцессорных систем, содержащих 108 нейронов.

Десять лет спустя замыслы инициаторов проекта DARPA SyNAPSE воплотились в нейроморфном процессоре IBM TrueNorth, доступном сегодня исследователям из более 50 учреждений на пяти континентах. Этот чип вполне заслужил место в Музее истории компьютеров и стал первым лауреатом премии в области нейроморфной инженерии, учрежденной в честь Мишель Маховальд, одного из пионеров этого направления, чьи разработки в области асинхронной связи задействованы в TrueNorth. Создание процессора потребовало смелых решений, состоявших в отходе как от аналоговой модели нейроморфных вычислений, так и от господствующей в мире ИТ фоннеймановской парадигмы. В результате создана цифровая детерминированная архитектура параллельно-распределенных вычислений со встроенной в процессоры памятью и средствами маршрутизации, работающая в асинхронном режиме, характеризующаяся отказоустойчивостью и инновационной моделью программирования.

Отправной точкой работы над проектом стало составление принципиальной схемы мозга примата, затем на суперкомпьютерах была реализована симуляция анатомии и физиологии мозга и в конечном итоге был достигнут масштаб мозга человека. Опираясь на результаты моделирования, ученые спроектировали и изготовили процессор TrueNorth, имеющий 106 нейронов. На его основе был создан ряд аппаратных платформ, а параллельно шла работа над созданием комплексной программной экосистемы, позволяющей разрабатывать и тестировать приложения на этой платформе. В 2018 году в рамках проекта создали многопроцессорную систему TrueNorth NS16e-4 с 108 нейронов, предназначенную для работы глубинных нейронных сетей. Перечисленные достижения отражены в хронологии на рис. 1. Чип стал результатом работы на стыке нейробиологии, полупроводниковых и суперкомпьютерных технологий.

Рис. 1. Хронология развития TrueNorth. NSAe-B означает нейросинаптическую систему с коэффициентом вертикального масштабирования A и горизонтального масштабирования B, содержащую A?B процессоров

От теории к кремнию

В 2006 году, еще до инициации проекта SyNAPSE, в исследовательском подразделении IBM Research был сформирован отдел Brain-Inspired Computing Group, задачей которого стали изыскания в области новых вычислительных архитектур, построенных и функционирующих по образу и подобию головного мозга. Чтобы сформулировать основополагающие принципы подобной архитектуры, потребовался огромный объем исследований, в том числе по созданию основных вычислительных элементов, модулей памяти и средств связи, позволяющих оптимизировать расход мощности, быстродействие и масштаб с опорой на разработки в области нейробиологии. В процессе работы над TrueNorth в IBM опирались на суперкомпьютерные симуляции мозга при проектировании архитектуры, проверке работоспособности и создании прототипов приложений.

Симуляторы

В рамках проекта были разработаны два поколения массово-параллельных симуляторов импульсных нейронных сетей, C2 и Compass, в целях изучения возможности моделирования работы нейронов и синапсов в биологических масштабах. C2, в частности, применялся для исследований, касающихся соединений и связи в подобных вычислительных системах. На нем имитировалась работа все более масштабных сетей, начиная с системы, сопоставимой с мозгом мыши (8 млн нейронов и 50,4 млрд синапсов), смоделированной на суперкомпьютере IBM BlueGene/L (4096 центральных процессоров, 1 Тбайт оперативной памяти). Со временем сеть была увеличена до масштабов мозга кошки (1,6 млрд нейронов и 8,87 трлн синапсов), моделируемого на суперкомпьютере BlueGene/P (147?456 процессоров, 144 Тбайт памяти). В ходе симуляции сети были достигнуты почти идеальные показатели слабой масштабируемости при увеличении емкости памяти и хорошие показатели сильной масштабируемости при наращивании вычислительной мощности. Эти результаты стали естественным следствием применения микротопологии анатомических сетей, позаимствованной из составленной до этого принципиальной схемы коры мозга обезьяны. Особенностями такой топологии являются высокая плотность локальных соединений и разреженность дальних. Исходя из полученных сведений, в конечном счете решено было построить архитектуру TrueNorth в виде сети взаимно соединенных нейросинаптических ядер, каждое из которых сопровождается вычислительными элементами и памятью в форме нейронов и синапсов с низкой точностью передачи, обменивающихся информацией в виде двоичных импульсов («спайков»).

Система Compass позволила оценить и подтвердить корректность выбора архитектуры TrueNorth путем прямой симуляции сетей нейросинаптических ядер. Для этого на суперкомпьютере Sequoia BlueGene/Q (1?572?864 центральных процессора и 1,5 петабайта памяти) была смоделирована сеть в масштабе мозга человека (530 млрд нейронов и 137 трлн синапсов), имеющая в своем составе более 2 млрд нейросинаптических ядер. Результаты еще раз подтвердили, что разработанная архитектура унаследовала характеристики сильной и слабой масштабируемости, продемонстрированные в ходе первоначальных симуляций. Впоследствии с помощью Compass и специализированного аппаратного симулятора была подтверждена функциональная корректность архитектуры процессора TrueNorth.

Процессор по образу и подобию мозга

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

Нейросинаптическое ядро Golden Gate содержит 256 нейронов и 262?144 синапса, изготовленных по 45-нанометровому технологическому процессу. Golden Gate стал первым прототипом нейросинаптического ядра, первым полностью цифровым детерминированным нейроморфным процессором и первым частичным воплощением архитектуры TrueNorth.

Сам TrueNorth имеет 1 млн нейронов и 256 млн синапсов, распределенных в 4096 нейросинаптических ядер. Чип изготовлен по технологическому процессу Samsung 28 нм и занимает площадь 430 кв. мм, потребляя в режиме стандартной нагрузки около 100 мВт. Каждое ядро в архитектуре TrueNorth (рис. 2) имеет локальную память, хранящую параметры нейрона, синаптические веса и сведения о маршрутизации импульсов. Недостаток, присущий фоннеймановской архитектуре, устраняется за счет размещения памяти и вычислительных элементов в тесном соседстве. Каждое ядро имеет 256 входов (аксонов) и 256 выходов (нейронов). Аксоны соединяются с любым подмножеством нейронов при помощи программируемого матричного коммутатора 256?256, который обеспечивает связь между любым объектом внутренней сети ядра с любым другим. Каждый нейрон накапливает входные сигналы синапсов и их веса в переменной высокой точности (мембранном потенциале) и генерирует импульс, когда ее значение превышает определенный порог, настраиваемый по отдельности для каждого нейрона. Ядра также снабжены маршрутизаторами импульсов, образующих распределенную сеть для их передачи между ядрами.

Рис. 2. Архитектура TrueNorth, сеть нейросинаптических ядер. Коммутаторы, параметры нейронов и межточечные соединения являются настраиваемыми

Связь на дальние расстояния — двухточечная: один нейрон-источник соединяется с одним аксоном назначения, а иерархическая система локальной и дальней связи сводит перенос данных к минимуму. Связь и вычисления — полностью событийно-зависимые. Данные импульса передаются только в случае присутствия ненулевых выходных данных, а вычисления выполняются только для ненулевых входных данных импульса и ненулевых весов. Масштабируемость нейронной сети достигается благодаря принципу мозаичности (tiling): процессоры масштабируются за счет мозаичности ядер, а системы — за счет мозаичности процессоров. При этом с точки зрения разработчика система выглядит как однородный массив ядер независимо от физической конфигурации.

От кремния к системам

Для TrueNorth была создана экосистема аппаратных платформ и инструментов разработки.

Настройка ядер с помощью корлетов

При создании ПО для TrueNorth была необходима совершенно иная модель программирования, нежели для традиционных центральных и графических процессоров. В отличие от фоннеймановских архитектур, в которых адресуемая основная память используется как для данных, так и для инструкций, в сильно распределенной архитектуре TrueNorth нет центральной адресуемой памяти, из которой можно было бы получить и декодировать инструкции для выполнения в нейронах. Нет в TrueNorth и обычных управляющих операторов, позволяющих организовать циклы и обеспечить ветвление, поэтому языки общего назначения вроде Java здесь не подходят. В связи с этим была создана специальная среда Corelet Programming Environment — инструментарий разработчика, реализованный на MATLAB, в который входят домен-специфичный язык, позволяющий задавать функциональные сети нейросинаптических ядер, библиотека сетей для типичных применений, а также инструменты развертывания, тестирования и отладки. CPE — масштабируемая среда, позволяющая программистам задавать функциональное поведение нейронной сети, настраивая ее параметры и характеристики связи.

Центральная единица CPE — примитив под названием «корлет» (corelet). Это иерархический объектно-ориентированный контейнер, содержащий все параметры настройки графа нейросинаптических ядер, в том числе характеристики нейронов, синаптические веса и маршруты передачи импульсов. Корлеты могут быть вложенными или взаимно соединенными с другими корлетами для формирования более крупных графов иерархической структуры, способных решать сложные задачи. Корлет самого верхнего уровня, содержащий весь сетевой граф, можно экспортировать в виде двоичного файла модели. Такой файл можно будет затем загрузить в систему TrueNorth, чтобы настроить ее ядра.

Из корлетов разработчики могут составлять модульные масштабируемые сети для различных задач, задействуя возможности интеграции и многократного использования кода. Библиотека корлетов CPE содержит образцы арифметических, логических, пространственно-временных операторов, машин состояний, сопоставителей шаблонов, детекторов и классификаторов. На базе библиотечных корлетов уже реализован целый ряд приложений TrueNorth, в том числе детектор салиентности, система моделирования оптического потока, система оценки расстояния до объектов по стереоснимку и система распознавания жестов рук. Разработана также универсальная библиотека компонентов — набор корлетов сверточных нейронных сетей (convolutional neuronal network, CNN).

Сверточные нейронные сети

В то время, пока шла разработка средств программирования TrueNorth, разворачивалась и революция в области глубинного обучения, продемонстрировавшая непревзойденные возможности многослойных сверточных нейронных сетей для классификации изображений, распознавания звука и задач, касающихся обработки неструктурированных данных в целом. Сама архитектура TrueNorth была разработана раньше, однако сходство нейросинаптического ядра с ядром свертки обеспечило применимость TrueNorth для CNN. Но поскольку TrueNorth присущи репрезентация данных с низкой точностью и ограничения с точки зрения связи, чтобы реализовать на этой архитектуре CNN, не жертвуя качеством выполнения задач, пришлось разработать новые алгоритмы обучения, предвосхитившие наблюдаемый сегодня всплеск интереса к системам формирования умозаключений с низкой точностью. В частности, на базе CPE был разработан фреймворк Energy-Efficient Deep Networks (Eedn), который можно применять для обучения TrueNorth-совместимых CNN в отключенном режиме с использованием видеопроцессора для ускорения. Eedn при помощи корлетов реализует сверточные и субдискретизирующие слои, а также распределяет свойства по группам для обработки разными ядрами. Для обучения при низкой точности представления весов был реализован специальный метод, опирающийся на вспомогательную сеть высокой точности. Эта и другие концепции, впервые реализованные в Eedn, впоследствии стали общепринятыми при обучении сетей для вывода умозаключений низкой точности. CNN, обученные с помощью Eedn, демонстрируют в тестах высокие показатели точности, для достижения которых прежде требовались числа с плавающей запятой и неограниченные возможности связи. При этом производительность таких CNN достигает 1200–1600 классификаций в секунду при расходе энергии на уровне 25–275 мВт.

Хостовые приложения для TrueNorth

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

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

Нейросинаптические системы

На протяжении проекта процессоры TrueNorth становились основой систем различных конфигураций, начиная с NS1e — экспериментальной однопроцессорной системы для встраиваемых решений с низким расходом энергии. TrueNorth в NS1e соединен с системой на кристалле Xilinx Zynq-7020, которая имеет два ядра ARM Cortex-A9, выполняющих роль хостовых процессоров, 1 Гбайт памяти SDRAM DDR3 и программируемую логику для связи с нейрочипом. NS1e стала важнейшим результатом проекта — систему получили почти 50 различных учреждений.

Платы NS1e можно объединить в кластер, и именно так была построена система NS16e, состоящая из 16 плат, а в IBM развернут кластер из 80 узлов NS1e-80, имеющий свыше 80 млн нейронов и 20 млрд синапсов. Надо отметить, что процессоры TrueNorth в кластере потребляют в совокупности меньше 20 Вт.

На другом конце спектра — самая новая разработка, NS16e-4. Это экспериментальная 64-процессорная вертикально масштабируемая система, предназначенная для развертывания нейронных сетей большой мощности.

Синаптические суперкомпьютеры

NS16e-4 (рис. 3) — самый крупный сегодня нейросинаптический компьютер: 64 млн нейронов и 16 млрд синапсов. Система выполняет порядка 1011 синаптических операций за секунду в расчете на ватт. Ее общая потребляемая мощность составляет 70 Вт, из которых 15 Вт расходуются всеми 64 процессорами TrueNorth. Масштаб NS16e-4 позволяет применять систему для широкого круга сложных задач, в том числе для исследований в области нейронных сетей новых типов.

Рис. 3. Система NS16e-4 с 64 процессорами

NS16e-4 состоит из четырех систем NS16e, размещенных в стандартном монтируемом в стойку корпусе 4U. Каждая платформа NS16e содержит 16 процессоров TrueNorth, размещенных в виде матрицы 4?4 и соединенных друг с другом при помощи специализированных интерфейсов. В сумме чипы образуют единый массив из 262?144 нейросинаптических ядер, содержащих 64 млн нейронов и 16 млрд синапсов. Системы NS16e соединены с хост-платформой оптическим каналом PCIe Gen2 (1500 Мбайт/с). При этом логически они сконфигурированы в качестве единого модуля, позволяющего развертывать обширные нейронные сети при помощи специализированного ПО и API. Каждая из NS16e сопровождается двумя дополнительными платами: переходником, распределяющим питание и обеспечивающим функции внутренней и внешней связи, и матрицей FPGA Avnet с системой на кристалле Zynq 7Z045, имеющей четыре ядра ARM. Эта плата обеспечивает связь по PCIe с хост-машиной и передачу импульсных данных. На ядрах ARM работает встроенная версия Ubuntu Linux, а программируемая логика отвечает за обмен входными и выходными данными между конечной точкой PCIe и физическими интерфейсами ввода-вывода процессоров TrueNorth.

Решения

Возможности NS16e-4 иллюстрирует, например, приложение для распознавания сцены, которое обнаруживает и классифицирует многочисленные объекты на видео высокой четкости, снятом с воздуха. Скорость обработки превышает 100 кадров в секунду. Основная часть вычислений выполняется на системе NS16e-4, на которой параллельно работают несколько экземпляров сверточных нейронных сетей Eedn, выполняющих обнаружение и классификацию объектов. Задачи обнаружения и классификации распределяются между CNN планировщиком задач, работающим на хостовом процессоре (рис. 4).

Рис. 4. Функциональная схема приложения для распознавания сцены, работающего на NS16e-4. Обработка данных на этапах ввода до финального вывода классифицированных объектов. Выходные данные представлены на крайнем правом кадре (зеленый — пешеходы, сиреневый — велосипедисты)

Гибридные вычисления

Хостовое приложение делит каждый входной кадр на 600?600 фрагментов, которые размещаются в очереди задач для детекторной сети Eedn. Планировщик задач распределяет фрагменты между доступными детекторами, кодирует пикселы в форме импульсов и отправляет импульсы процессору TrueNorth. Когда детектор заканчивает обработку очередного фрагмента, планировщик собирает выходные импульсы, декодирует их в тепловую карту вероятностей распознавания объектов размером 24?24 ячейки и возвращает основному приложению. На заключительном этапе тепловые карты фрагментов собираются в единую карту распознавания для всего кадра, содержащую координаты всех объектов-кандидатов. Все этапы, в том числе обработка в детекторной сети Eedn, соединены в конвейер для достижения максимальной пропускной способности. Планировщик работает в многопоточном режиме, обрабатывая несколько очередей задач параллельно.

Для каждого объекта-кандидата на карте распознавания хостовое приложение вырезает из центра классификационный «лоскут» размером 108?108 пикселов и передает его планировщику задач. Классификатор Eedn обрабатывает лоскут и возвращает предполагаемый класс объекта. После того как кадр полностью обработан, хостовое приложение передает прогнозы по объектам клиентскому приложению для визуализации.

Обнаружение и классификация

Сверточные нейронные сети обнаружения и классификации Eеdn были обучены на наборе данных из 60 видео (521?810 кадров), снятых при помощи квадрокоптера над восемью различными участками кампуса Стэнфордского университета. Набор данных размечен с указанием шести классов объектов. Для обучения использовались классы «велосипедисты» (6,4 тыс. уникальных объектов) и «пешеходы» (11,6 тыс. объектов), с которыми был объединен класс «скейтеры». Еще три класса («легковые автомобили», «электромобили» и «автобусы») были исключены, так как содержали слишком мало объектов. Шесть мест съемки видео использовались для обучения, два — для тестирования.

Детекторная сеть Eedn классифицирует «лоскуты» по признаку наличия объекта на переднем плане или фоне, для чего ее обучили на 1 млн размеченных фрагментов. Вначале, после обучения на сбалансированном наборе лоскутов с объектами на переднем плане и фоне, детектор демонстрировал на сбалансированном тестовом наборе точность 82%, но полнота составляла только 58%. Был сделан вывод о том, что однородность выборки лоскутов с фоновыми объектами была источником многочисленных ложноположительных срабатываний на фонарях, столбах и тенях деревьев, очень похожих на объекты переднего плана. Чтобы исправить ситуацию, обученный детектор применили ко всему учебному набору, дополнив его частью «ложноположительных» лоскутов (то есть был проведен бустинг). После повторного обучения на усиленном учебном наборе полнота возврата детектора достигла 82% при сохранении точности на прежнем уровне.

Классификационная сеть Eedn распределяет обнаруженные объекты по трем категориям («пешеход», «велосипедист», «фон»). Ее обучали аналогично детекторной CNN, используя усиленный детектор для генерации «трудных» лоскутов, чтобы дополнить обучающий и тестовый наборы. На усиленном тестовом наборе точность классификации достигла 80%, на сбалансированном тестовом наборе с равномерной выборкой — 100%.

Из 64 млн нейронов NS16e-4 за обнаружение отвечают 48 млн, а 16 млн — за классификацию. Каждая NS16e содержит одну детекторную CNN и четыре классифицирующих. Таким образом, система параллельно обрабатывает четыре региона в режиме обнаружения и 16 «лоскутов» в режиме классификации.

Рис. 5. Десять лет развития нейроморфных приложений TrueNorth

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

Сообщество

За десять лет, прошедших с начала программы DARPA SyNAPSE, было создано множество приложений TrueNorth. Рис. 5 иллюстрирует некоторые из достижений сообщества TrueNorth, в числе которых решение задач, связанных с классификацией, реконструкцией стереоскопических изображений, распознаванием аудио и фонем, робототехникой, распознаванием жестов в реальном времени и др.

***

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

Литература

1. S.-C. Liu, T. Delbruck, G. Indiveri, A. Whatley, R. Douglas. Event-Based Neuromorphic Systems. Hoboken, NJ: Wiley, 2014.

2. S.-C. Liu, T. Delbruck. Neuromorphic sensory systems // Current Opinion Neurobiol. — 2010. — Vol. 20, N. 3. — P. 288–295.

3. B. V. Benjamin et al. Neurogrid: A mixed-analog-digital multichip system for large-scale neural simulations // Proc. IEEE.—2014. — Vol. 102, N. 5. — P. 699–716.

4. J. Schemmel, D. Bruderle, A. Grubl, M. Hock, K. Meier, S. Millner. A wafer-scale neuromorphic hardware system for large-scale neural modeling, in Proc. IEEE Int. Symp. Circuits and Systems, Paris, France, 2010. — P. 1947–1950.

Дхармендра Модха (dmodha@us.ibm.com) — научный сотрудник, корпорация IBM.

Dharmendra S. Modha, TrueNorth: Accelerating From Zero to 64 Million Neurons in 10 Years. IEEE Computer, May 2019, IEEE Computer Society. All rights reserved. Reprinted with permission.


Источник: www.osp.ru

Комментарии: