По-человечески: обсуждаем особенности нейропроцессоров

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

«Лаборатория Касперского» анонсировала инвестиции в компанию «Мотив НТ», разработчика первого в России нейроморфного чипа «Алтай».

Недавно «Лаборатория Касперского» объявила об инвестициях в компанию «Мотив НТ», разрабатывающую собственный нейроморфный процессор «Алтай». Давайте разберемся, что же такое нейропроцессоры, чем они отличаются от обычных и почему это очень перспективное направление развития компьютерной техники.

Компьютерный мозг

В любом современном компьютере, планшете, смартфоне, цифровом плеере есть процессор — универсальное устройство, созданное для выполнения программ. Принципы работы традиционного процессора были заложены еще в сороковых годах прошлого века и не особо менялись: CPU считывает команды и выполняет их по очереди. Любая программа на уровне, который понятен процессору, разбита на самые простые задачи. Она состоит из команд вроде «считать из памяти», «записать в память», «сложить два числа», «умножить», «разделить» и так далее. Нюансов работы процессоров много, но для нашей сегодняшней темы важно, что процессоры долгое время могли выполнять только одну операцию за цикл работы. Этих циклов могло быть очень много — сначала сотни тысяч, потом миллионы, а теперь и миллиарды в секунду. Тем не менее до недавнего времени (до середины первого десятилетия XXI века) в типичном домашнем компьютере или ноутбуке было не более одного процессора.

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

Современные процессоры, которые доступны обычному пользователю в магазине, могут иметь 16 или даже 32 вычислительных ядра. Это внушительная цифра, но далеко не максимальная даже в обычной технике для потребителя. Так, в видеокарте Nvidia GeForce 3080Ti установлено 10 240 вычислительных ядер! Почему такая разница? Дело в том, что традиционные процессоры гораздо сложнее вычислительных ядер в видеокарте. Обычные процессоры выполняют ограниченный набор простых функций, но специализированные вычислительные модули в видеокарте еще примитивнее, они способны только на совсем уж элементарные операции. Зато они делают это быстро и особенно выгодны там, где нужно выполнять миллиарды таких операций в секунду. Как в играх, где, например, для расчета освещенности сцены нужно сделать очень много относительно простых вычислений для каждой точки в изображении.

Несмотря на такую специфику, вычислительные устройства обычных центральных процессоров или видеокарт мало чем фундаментально отличаются друг от друга. Нейроморфные процессоры (ура, вот они!) отличаются от них радикально. Они не пытаются реализовать набор элементов для выполнения арифметических операций, последовательно или параллельно. В них исследователи делают попытку воспроизвести структуру человеческого мозга!

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

Нейропроцессоры и нейросети

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

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

Уже давно решена проблема распознавания букв. Камеры на автотрассах распознают номер автомобиля под любым углом, в любое время суток, даже если он заляпан грязью. Типичная задача для нейросети — взять фотоснимок (например, фото стадиона сверху) и посчитать количество людей. У этих задач есть нечто общее: вводные всегда немного нестандартны. Обычная старомодная программа, скорее всего, сможет распознать автомобильный номер, сфотографированный анфас, а вот с фотографией под углом не справится. Нейросети мы выдаем для обучения огромное количество фотографий автомобильных номеров (или чего-то другого), и она учится отличать один объект от другого в любых условиях (букву А от буквы К). И делает это иногда настолько хорошо, что, например, в медицинской сфере может ставить диагноз лучше (или раньше), чем обычный доктор.

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

Результат такой аппаратной реализации выражен в большей эффективности. Нейропроцессор Loihi компании Intel состоит из 131 072 искусственных нейронов, которые соединены между собой на порядок большим количеством синапсов (более 130 миллионов). Важным преимуществом такой схемы является низкое энергопотребление при отсутствии работы, в то время как на обычных графических процессорах энергопотребление остается достаточно высоким даже в простое. Это, плюс теоретически более высокая производительность в задачах обучения нейронной сети, обеспечивает гораздо меньшее энергопотребление. Так, первое поколение процессора «Алтай» потребляет в 1000 раз меньше электроэнергии, чем аналогичная реализация на графическом ускорителе.

Нейросети и безопасность

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

Почему данное направление интересно «Лаборатории Касперского»? Во-первых, мы уже активно применяем нейросети и в целом технологии машинного обучения в своих продуктах. Это, например, технологии обработки большого количества информации о работе корпоративной сети — мониторинга данных, которыми узлы обмениваются между собой и внешним миром. Технология машинного обучения позволяет определить аномалии в потоке трафика, найти необычную активность, которая может быть результатом вторжения или злонамеренных действий инсайдера. Во-вторых, «Лаборатория Касперского» также разрабатывает собственную операционную систему KasperskyOS, задача которой — гарантированно безопасное выполнение задач, возложенных на устройство под ее управлением. Интеграция «аппаратных» нейросетей в устройства под управлением KasperskyOS в будущем также имеет большие перспективы.

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

Советы