Intel Loihi 2. Нейроморфный процессор, следующее поколение

Автор: Виктор Гурылев. Спустя несколько десятилетий продвижения вглубь тайн вычислений мы вынуждены констатировать: компьютерные системы по-прежнему не могут соревноваться с биологическими нейронными цепями по эффективности мыслительного процесса. Но нам хочется думать, что когда-нибудь кремниевый мозг сравняется по своим возможностям с настоящим, и мы работаем в этом направлении.

В авангарде прорыва — нейроморфные чипы, как, например, представленный совсем недавно Intel Loihi 2. В активе у новинки — ряд значительно улучшенных основных характеристик (скажем, количество нейронов на чип выросло почти в 10 раз по сравнению с Loihi 1), а также новый фреймворк Lava для удобства использования.

Intel Loihi 2 является логическим продолжением своего предшественника, в то же время список усовершенствований весьма велик. С аппаратной точки зрения техпроцесс стал в два раза тоньше, что повлекло за собой уменьшение площади чипа и уплотнение его упаковки. Функционально выделим следующие основные преимущества.

  • Универсальные сообщения о событиях. Изначально Loihi поддерживал только бинарные импульсные сообщения. Loihi 2 позволяет импульсам нести целочисленное содержимое с небольшими дополнительными затратами в производительности или энергии.
  • Большая программируемость нейронной модели. Loihi специализировался на одной конкретной модели СНН. Loihi 2 может создавать программируемую цепочку нейронных моделей в каждом нейроморфном ядре для поддержки типичных арифметических инструкций, операций сравнения и т.д.
  • Расширенные возможности обучения. Loihi в основном использовал двухфакторные правила обучения для своих синапсов. Loihi 2 позволяет сетям расставить локализованные «третьи факторы» для конкретных синапсов.
  • Многочисленные оптимизации по части плотности и производительности. Как уже говорилось, в Loihi 2 используется предварительная версия техпроцесса Intel 4. Кроме того, полностью переделаны асинхронные цепи, что повысило скорости: обновления состояния нейрона в два раза, синаптических операций — в 5 раз, генерации импульсов — в 10 раз.
  • Улучшения интерфейса. Loihi 2 предлагает большее количество стандартных интерфейсов, чем Loihi. Список предлагаемых интерфейсов указан в таблице ниже.

processor1.pngАрхитектура чипа Intel Loihi 2

Основные характеристики Loihi 2 в сравнении со своим предшественником.

processort.png

В настоящее время уже готово первое базовое устройство для демонстрации возможностей Loihi 2. Оно называется Oheo Gulch и представляет собой плату с одним чипом Loihi 2, а также FPGA Intel Arria 10, предоставляющим интерфейс и удаленный доступ через Ethernet к нейроморфному чипу. Понятно, что в силу своей конфигурации Oheo Gulch — это, скорее, основа для лабораторного тестового стенда, нежели инструмент для решения реальных задач.

processor2.png

Более мощное устройство сейчас находится на подходе, оно называется Kapoho Point и представляет собой стекируемую плату 4×4" с восемью чипами Loihi 2 и портом Ethernet. Kapoho Point предназначен для мобильных применений: робототехники и периферийных систем.

С точки зрения организации работа с новыми нейроморфными устройствами Intel будет устроена по-прежнему. Системы на базе Loihi 2 будут доступны членам Neuromorphic Research Community удаленно через Neuromorphic Research Cloud. Да, пока нейроморфные технологии еще делают свои первые шаги, однако когда-нибудь им суждено выйти «в люди». И очередной шаг на этом пути сделан уже сейчас. Одной из главных проблем в нейроморфных вычисления было отсутствие эффективных программных моделей для подобного рода архитектур. Теперь эта трудность в значительной степени устранена.

processor3.png

Вместе с Loihi 2 вышел первый релиз Lava — фреймворка с открытым исходным кодом для разработки нейро-приложений и развертывании их на нейроморфных платформах. Отметим сразу, что Lava является платформо-независимой, а код структурирован таким образом, чтобы он не был привязан к чипам Intel.

Lava включает в себя Magma, низкоуровневый интерфейс для маппинга и исполнения моделей нейронных сетей на нейроморфных чипах. Этот программный слой включает в себя поддержку кросс-платформенного исполнения, так что приложения могут быть предварительно развернуты на CPU/GPU, а потом перенесены, например, на Loihi 2. Данный слой также содержит профилировщик для измерения и оценки производительности и энергопотребления.

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

Другие возможности Lava.

  • Оффлайновые тренировки. Lava поддерживает такие инструменты как SLAYER, позволяющие различным построенным на событиях нейросетям быть натренированными оффлайн с использованием метода обратного распространения ошибки и интеграцией с другими модулями Lava.
  • Интеграция со сторонними фреймфорками. Lava поддерживает взаимодействие с такими фреймворками как Robotic Operating System (ROS), YARP, TensorFlow, PyTorch, Nengo и другими.
  • Интерфейсы Python. Для простоты усвоения все библиотеки и функции Lava реализованы для Python с оптимизированными библиотеками и нижележащим C/C++/CUDA/OpenCL кодом для улучшения производительности.
  • Открытый исходный код и неограничивающая лицензия. Lava свободно доступна на GitHub и может работать на CPU/GPU без заключения каких-либо соглашений с Intel. ПО распространяется под лицензиями BSD-3 и LGPL-2.1. Низкоуровневые компоненты, необходимые для развертывания приложений на системах Loihi 2 остаются доступными только для членов Intel NRC без какой-либо оплаты.

Нейроморфные вычисления — пока еще неочевидная, но определенно интересная тема, мы постараемся не упускать ее из виду.

Пожалуйста, оцените статью:
Ваша оценка: None Средняя: 4 (4 votes)
Источник(и):

Хабр