- 08.02.2023
- 3119 Просмотров
- Обсудить
Самара Олег Петрович, преподаватель Санкт-Петербургского государственного бюджетного профессионального образовательного учреждения «Колледж метрополитена и железнодорожного транспорта»
Аннотация: актуальность выбранной темы обусловлена необходимостью разобраться что такое Нейроморфные процессоры, разрабатываемые в России и какое место, они занимают среди процессорных технологии.
Ключевые слова: процессоры, Искусственный интеллект, нейроморфный процессор, машинное обучение, нейросети
Почему за нейроморфный процессорами будущее, и насколько серьезно они отличаются от обычных процессоров в современных устройствах.
Недавно «Лаборатория Касперского» объявила об инвестициях в компанию «Мотив НТ», разрабатывающую собственный нейроморфный процессор «Алтай». Давайте разберемся, что же такое нейропроцессоры, чем они отличаются от обычных и почему это очень перспективное направление развития компьютерной техники.
В любом современном компьютере, планшете, смартфоне, цифровом плеере есть процессор — универсальное устройство, созданное для выполнения программ. Принципы работы традиционного процессора были заложены еще в сороковых годах прошлого века и не особо менялись: CPU считывает команды и выполняет их по очереди. Любая программа на уровне, который понятен процессору, разбита на самые простые задачи. Она состоит из команд вроде «считать из памяти», «записать в память», «сложить два числа», «умножить», «разделить» и так далее. Нюансов работы процессоров много, но для нашей сегодняшней темы важно, что процессоры долгое время могли выполнять только одну операцию за цикл работы. Этих циклов могло быть очень много — сначала сотни тысяч, потом миллионы, а теперь и миллиарды в секунду. Тем не менее до недавнего времени (до середины первого десятилетия XXI века) в типичном домашнем компьютере или ноутбуке было не более одного процессора.
Многозадачность, или возможность выполнять одновременно несколько программ на одном процессоре, достигалась за счет распределения ресурсов: несколько циклов или тактов отдаем одной программе, потом передаем ресурсы другой, потом третьей и так далее. Когда в продажу поступили доступные по цене многоядерные процессоры, появилась и возможность более эффективно распределять ресурсы. Не только запускать разные программы на разных ядрах, но и выполнять одну программу на нескольких ядрах одновременно. Поначалу это было нелегкой задачей, многие программы еще некоторое время не были оптимизированы для многоядерных или многопроцессорных систем.
Современные процессоры, которые доступны обычному пользователю в магазине, могут иметь 16 или даже 32 вычислительных ядра. Это внушительная цифра, но далеко не максимальная даже в обычной технике для потребителя. Так, в видеокарте Nvidia GeForce 3080Ti установлено 10 240 вычислительных ядер! Почему такая разница? Дело в том, что традиционные процессоры гораздо сложнее вычислительных ядер в видеокарте. Обычные процессоры выполняют ограниченный набор простых функций, но специализированные вычислительные модули в видеокарте еще примитивнее, они способны только на совсем уж элементарные операции. Зато они делают это быстро и особенно выгодны там, где нужно выполнять миллиарды таких операций в секунду. Как в играх, где, например, для расчета освещенности сцены нужно сделать очень много относительно простых вычислений для каждой точки в изображении.
Несмотря на такую специфику, вычислительные устройства обычных центральных процессоров или видеокарт мало чем фундаментально отличаются друг от друга. Нейроморфные процессоры отличаются от них радикально. Они не пытаются реализовать набор элементов для выполнения арифметических операций, последовательно или параллельно. В них исследователи делают попытку воспроизвести структуру человеческого мозга!
В вычислительной технике самым мелким «кирпичиком» считается транзистор: таких микроскопических элементов в типичном процессоре компьютера или смартфона имеется несколько миллиардов. В человеческом мозге таким базовым элементом является нейрон, или нервная клетка. Между собой нейроны связаны при помощи синапсов. Несколько десятков миллиардов нейронов составляют мозг человека — очень сложную самообучающуюся систему. Дисциплина, известная как нейроморфный инжиниринг, уже несколько десятилетий ставит перед собой задачу воспроизвести, хотя бы частично, структуру человеческого мозга в виде электронных схем. Процессор «Алтай» наряду с другими разработками — это «железная» реализация ткани мозга с его нейронами и синапсами.
Давайте не будем спешить с выводами. Хотя исследователям (в России и за рубежом) и удается воспроизвести некоторые элементы структуры мозга при помощи полупроводников, это не означает, что в обозримом будущем мы сможем сделать цифровую копию человека. Слишком сложна задача, хотя когда-нибудь, возможно, удастся решить и ее. Но современные нейропроцессоры, полупроводниковые копии структур нашего мозга, имеют вполне практическое применение. Они нужны для реализации систем машинного обучения и нейросетей, на базе которых такие системы работают.
Нейросеть, или нейронная сеть, или, еще точнее, Искусственная нейронная сеть (в противопоставление натуральной в нашей голове) представляет собой множество ячеек, которые способны обрабатывать и запоминать информацию. Классическая модель нейросети — перцептрон — была разработана еще в шестидесятых годах прошлого века. Это множество ячеек можно сравнить с матрицей фотокамеры, но еще и способной обучаться, интерпретировать получаемое изображение, находить в нем закономерности. Особые связи между ячейками и разные типы ячеек обрабатывают информацию так, чтобы, например, различать демонстрируемые перед фотокамерой карточки с буквами. Но это все достижения шестидесятилетней давности — за последнее десятилетие крайне популярным стало применение систем машинного обучения и нейросетей в абсолютно повседневных задачах.
Уже давно решена проблема распознавания букв. Камеры на автотрассах распознают номер автомобиля под любым углом, в любое время суток, даже если он заляпан грязью. Типичная задача для нейросети — взять фотоснимок (например, фото стадиона сверху) и посчитать количество людей. У этих задач есть нечто общее: вводные всегда немного нестандартны. Обычная старомодная программа, скорее всего, сможет распознать автомобильный номер, сфотографированный анфас, а вот с фотографией под углом не справится. Нейросети мы выдаем для обучения огромное количество фотографий автомобильных номеров (или чего-то другого), и она учится отличать один объект от другого в любых условиях (букву А от буквы К). И делает это иногда настолько хорошо, что, например, в медицинской сфере может ставить диагноз лучше (или раньше), чем обычный доктор.
Но вернемся к нейросетям. Вычисления, требуемые для реализации одного из алгоритмов нейронной сети, достаточно простые, но таких операций требуется очень много. Это самая подходящая работа не для традиционного процессора, но для видеокарты с тысячами и десятками тысяч вычислительных модулей. Можно сделать еще более специализированный процессор, выполняющий набор вычислений, необходимый только для работы конкретного алгоритма обучения. Он будет чуть дешевле и немного эффективнее. Проблема в том, что нейросеть (в смысле — множество узлов-клеток, воспринимающих и обрабатывающих информацию, связанных множеством связей друг с другом) все эти устройства строят программно. Нейропроцессор реализует схему нейросети на аппаратном уровне.
Результат такой аппаратной реализации выражен в большей эффективности. Нейропроцессор Loihi компании Intel состоит из 131 072 искусственных нейронов, которые соединены между собой на порядок большим количеством синапсов (более 130 миллионов). Важным преимуществом такой схемы является низкое энергопотребление при отсутствии работы, в то время как на обычных графических процессорах энергопотребление остается достаточно высоким даже в простое. Это, плюс теоретически более высокая производительность в задачах обучения нейронной сети, обеспечивает гораздо меньшее энергопотребление. Так, первое поколение процессора «Алтай» потребляет в 1000 раз меньше электроэнергии, чем аналогичная реализация на графическом ускорителе.
130 тысяч нейронов — это гораздо меньше, чем десятки миллиардов в человеческом мозге. Исследования, позволяющие приблизить нас к более полному пониманию того, как работает мозг человека, создать куда более эффективные самообучаемые системы, только начались. Важно, что нейропроцессоры востребованы уже сейчас, так как теоретически позволяют более эффективно решать уже имеющиеся задачи. Вплоть до встроенного в ваш смартфон распознавателя образов, который может определить вид грибов, найденных вами в лесу. Уже сейчас специализированные процессоры для обработки видео и подобных задач массово встраиваются в смартфоны и ноутбуки. Нейропроцессоры развивают идею машинного обучения еще дальше, представляя более эффективное решение.
Почему данное направление интересно «Лаборатории Касперского»? Во-первых, уже активно применяются нейросети в своих продуктах технологии машинного обучения. Это, например, технологии обработки большого количества информации о работе корпоративной сети — мониторинга данных, которыми узлы обмениваются между собой и внешним миром. Технология машинного обучения позволяет определить аномалии в потоке трафика, найти необычную активность, которая может быть результатом вторжения или злонамеренных действий инсайдера. Во-вторых, «Лаборатория Касперского» также разрабатывает собственную операционную систему KasperskyOS, задача которой — гарантированно безопасное выполнение задач, возложенных на устройство под ее управлением. Интеграция «аппаратных» нейросетей в устройства под управлением KasperskyOS в будущем также имеет большие перспективы.
В самом конце всего этого прогресса стоит задача появления настоящего Искусственного Интеллекта — машины, которая не только может решать за нас отдельные задачи, но и, скажем, ставить перед собой новые. Это принесет множество проблем этического плана, да и чисто по-человечески будет нелегко осознавать, что появился «компьютер», который умнее человека. Впрочем, до этого и правда далеко. Лет пять назад все были уверены, что системы автоматического управления автомобилем уже почти готовы, надо только «допилить» пару деталей. Такие системы тоже во многом завязаны на машинное обучение, и в 2023 году в этом направлении по-прежнему столько же возможностей, сколько и проблем. Даже эту узкую задачу, с которой справляется человек, пока нелегко полностью доверить роботу. Именно поэтому важны новые разработки в этой сфере — как на уровне программ и идей, так и на уровне железа. Все это вместе, может, и не приведет к появлению «умных роботов», как фантастических книгах. Но точно сделает нашу жизнь немного удобнее и безопаснее.
Лаборатория Касперского» запустила платформу нейроморфного машинного обучения Kaspersky Neuromorphic Platform (KNP) для создания решений на основе нейроморфных технологий.
Данная платформа сделана для обучения нейронных сетей, исследований в области нейроморфного искусственного интеллекта (далее- ИИ), создания и запуска решений на основе систем ИИ следующего поколения.
Основные компоненты платформы — пакет для разработки и исследования импульсных нейронных сетей (SNN Framework) и нейроморфный процессор «Алтай» для аппаратной реализации исполнения нейронных сетей. На платформе можно создавать и обучать нейронные сети, мониторить их работу, создавать программные и программно-аппаратные решения для нейроморфных систем ИИ, дообучать разработанные модели сетей на вновь поступающих данных, масштабировать модели сетей в зависимости от сложности решаемых задач.
Платформа Kaspersky Neuromorphic Platform работает с импульсными нейронными сетями. В них нейроны асинхронно обмениваются короткими импульсами в ответ на стимулы, а в остальное время межнейронные связи неактивны и не потребляют энергию.
К тому же в таких системах память и функциональное устройство, моделирующее поведение нейрона, составляют единое целое. Благодаря этому нейроморфная архитектура позволяет существенно снизить энергозатраты, которые возникают из-за физического разделения памяти программы и данных. Аппаратные решения, предназначенные для работы импульсных нейронных сетей, потребляют в 1000 раз меньше энергии, чем традиционные искусственные сети для тех же задач при их работе на центральных (CPU) и графических (GPU) процессорах, что было проверено на одинаковых задачах.
Основными областями внедрения нейроморфных систем ИИ могут стать интернет вещей, беспилотные системы, человеко-машинное взаимодействие (VR/AR, речевые интерфейсы, распознавание речи), носимые устройства, робототехника, автоматическое выявление аномалий в сложных технологических процессах.
Платформа будет открытой и ее смогут использовать разработчики в соответствующей области.
Таким образом, запуск платформы Kaspersky Neuromorphic Platform — важный шаг на пути развития инструментов для работы с технологиями искусственного интеллекта нового поколения. Нейроморфные технологии — это перспективная альтернатива существующим сегодня ресурсоемким технологиям машинного обучения. За счет энергоэффективности и высокой адаптивности они позволят не только снизить издержки, но и повысить производительность существующих высокотехнологичных решений. Ожидается, что развитие таких систем уже в ближайшем будущем будет способствовать появлению новых сценариев применения искусственного интеллекта и появлению принципиально новых типов устройств на его основе.
Список литературы:
1. Филиппов В.А. Кортикоморфная нейросетевая архитектура, моделирование консолидации следа памяти и кибергеномика – перспективные технологии искусственных когнитивных систем. - Научная сессия НИЯУ МИФИ – 2010. Материалы избранных научных трудов по теме: «Актуальные вопросы нейробиологии, нейроинформатики и когнитивных исследований». М.: НИЯУ МИФИ, 2010.
2. Горбаченко В.И. Нейроморфные вычисления. Состояние и перспективы. // Проблемы информатики в образовании, управлении, экономике и технике: Сб. статей XIV Междунар. научно-техн. конф. – Пенза: ПДЗ, 2014.
3. https://www.kaspersky.ru/about/press-releases/2022_laboratoriya-kasperskogo-zapuskaet-platformu-dlya-sozdaniya-reshenij-na-osnove-nejromorfnyh-tehnologij.