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


/ Flickr / IBM Research / CC

О проекте TrueNorth


TrueNorth — это нейроморфный процессор, разработанный в 2014 году компанией IBM при поддержке DARPA. Термин «нейроморфный» обозначает, что архитектура чипа основывается на принципах работы человеческого мозга.

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

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

Как выглядит чип изнутри


TrueNorth изготовлен по 28-нанометровому техпроцессу. Процессор содержит 5,4 млрд транзисторов и 4096 ядер. Каждое ядро снабдили планировщиком задач, SRAM-памятью и маршрутизатором. Такая структура позволила смоделировать работу миллиона нейронов и 256 миллионов синапсов.

В своем патенте компания IBM приводит следующую схему:


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

Далее, первый слой нейронов передает данные следующему слою (посредством все тех же импульсов). Так, слой за слоем сеть распознает изображение — сперва контуры и детали, а затем — всю картинку.

Обычные языки не подходят для программирования нейросинаптических ядер. Поэтому в IBM разработали специальный язык Corelet. Он обладает базовыми свойствами ООП: инкапсуляция, наследование и полиморфизм и основан на MATLAB. С его помощью ядра определяют как классы, чтобы управлять их работой было проще. Пример кода разработчики привели в своей презентации (стр. 17).

Похожие решения


Над нейроморфными процессорами трудятся не только в IBM. Компания Intel с 2017 года разрабатывает чип Loihi. В его составе 130 тысяч искусственных нейронов и 130 млн синапсов. В этом году ИТ-гигант закончил производство экспериментального образца по 14-нм техпроцессу. По результатам первых тестов, чип распознает 3D-данные под разным углом, за пару секунд усваивает набор данных для обучения.

Еще один похожий проект разрабатывает компания Brainchip. Их система Akida содержит 1,2 млн нейронов и 10 млрд синапсов. Процессор оснастили интерфейсами для распознавания изображений, аудиоданных и аналоговых сигналов. Схема устройства системы представлена на сайте проекта.

Для каких задач подойдут нейрочипы


Подобны технологии призваны ускорить обучение сверточных нейронных сетей, «заточенных» под распознавание изображений. Например, в 2017 году исследователи протестировали TrueNorth и DVS-камеру (Dynamic Vision Sensor), принцип действия которой напоминает работу сетчатки глаза. Нейронная сеть распознала десять жестов с точностью 96,5%.

Кроме того, на базе процессора будут создавать системы киберзащиты. Исследователи из IBM уже предложили концепцию решения True Cyber Security, которое обнаруживает вторжения в компьютерную сеть в 90% случаев (в 80% из них определяет и тип атаки).

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

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



P.S. У нас есть Telegram-канал — там мы пишем про технологии виртуализации и IaaS:

Комментарии (4)


  1. ASTAPP
    18.10.2018 13:29

    А бенчмарки есть?
    И как это соотносится с NVidia TPU, интересно.


    1. rkfg
      18.10.2018 17:26

      Как-то узкоспециализированно выглядит. Только свёрточные слои? А как же LSTM? GAN для генерации данных? Reinforcement learning для обучения агентов поведению во времени? Или вообще свои архитектуры? Понятно, что в железе сделать произвольное конфигурирование сложнее, чем управлять более абстрактными примитивами типа тензоров на TPU. Но для этого ведь всё и делается.


      Посмотрел презентацию:
      Limitations
      • No Unsupervised Learning
      • Limitation of Connectivity
      • Network Scalability
      • Low GSOPS


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


      1. Mad__Max
        19.10.2018 03:19

        Не только сверточные слои:

        [ 0033 ] A deep convolution network of neurosynaptic cores can comprise of multiple layers of cores. It may be a feed — forward network comprising various type of layers such as сonvolution layers, splitter layers, or averaging ( pooling ) layers. Convolution layers perform three — dimensional convolution for a given patch size, stride, and group. In some embodiments, different TrueNorth cores are used for different topographic locations and groups. Such a construct provides natural sparsity in the network with convolution cores. Averaging layers may perform pooling on each feature map for a given patch size and stride. In some embodiments, a single TrueNorth core can pack large number of features from the same feature map, resulting in a densely — connected network. Similarly, in splitter layers, random choice of inputs for splitter cores may generate complex connections in the network "

        Т.е. слои разных типов можно реализовать.
        А так как формальных ограничений на связи между нейронами нет:
        This is the first time we have been able to get a sense of what one of IBM’s neurosynaptic cores with mesh router looks like. Arrays of extremely low power neurosynaptic processing units (the neurosynaptic cores) use spikes to encode information. In a network of neurosynaptic cores, neurons on each core can connect to any axon of any other neurosynaptic core (including itself)

        то можно реализовать и разные разновидности рекурентных нейронных сетей.
        Conversion of Artificial Recurrent Neural Networks to Spiking Neural Networks for
        Low-power Neuromorphic Hardware

        В том числе и LSTM впихнуть можно:
        A spike-based long short-term memory on a neurosynaptic processor

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

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

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


  1. VDG
    19.10.2018 04:07

    структура позволила смоделировать работу миллиона нейронов и 256 миллионов синапсов

    Попробовали бы смоделировать ближе к живому мозгу — полносвязную сеть одного кубического мм — 10К нейронов с 10К синапсами на каждый нейрон.