Что там по нейроморфным вычислениям

Аж в 2024 году я написала пост про нейроморфные вычисления, и он мне до сих пор нравится. И сама тема нейроморфных вычислений тоже нравится, и сегодня мы про них опять поговорим.

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

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

Авторы статьи “Spiking Neural Networks: The Future of Brain-Inspired Computing” собрали разные варианты импульсных нейросетей, изучили их как следует и рассказали, что там по точности, потреблению энергии и прочим показателям.

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

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

Главная проблема же в том, что на “обычном” компьютере такую нейросеть не запустить — нужны специальные процессоры. Такие делают, например. IBM и Intel, но, насколько я могу судить, это пока экспериментальные проекты. То есть, процессоры такие есть и с ними можно работать, но в промышленных масштабах их пока не выпускают.

Авторы статьи “The road to commercial success for neuromorphic technologies” отмечают, что не только процессор под такую нейросеть создать нужно, но ещё и программы писать для нейроморфных процессоров — задача… нетрадиционная.

Но работа ведётся: новые архитектуры уже придумали и придумали, главное, как их обучать. Осталось, говорят авторы, всего ничего: сделать нейроморфные процессоры такими, чтобы их удобно было встроить в существующие системы. И сделать так, чтобы два одинаковых процессора выдавали одинаковую производительность без сюрпризов. И придумать тесты, по которым можно было бы сравнить “традиционные” нейросети и импульсные.

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

Авторы первой статьи сравнили на разных задачах “традиционные” нейросети с импульсными: у “традиционных” выше точность, но импульсные тратят аж на 90% меньше электричества. В зависимости от подхода к обучению они также могут работать быстрее “традиционных” нейросетей.

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