Содержание:
Бурное развитие ИИ бросило новый вызов производительности и энергоэффективности компьютеров. В этой ситуации многие исследователи обратились к идее нейромофрных вычислительных архитектур, имитирующих принцип работы человеческого мозга. Они позволяют обойти фундаментальные ограничения архитектуры фон-Неймана и вывести процессоры на принципиально иной уровень эффективности. О том, как работают нейроморфные вычисления, что такое мемристор и какое место занимает Россия в мировой «нейрморфной гонке», «Хайтеку» рассказал кандидат физико-математических наук, заместитель руководителя Курчатовского комплекса НБИКС-природоподобных технологий НИЦ «Курчатовский институт» и спикер Международного симпозиума «Создавая будущее», который проходил в Национальном центре «Россия» 4–6 ноября, Вячеслав Демин.
Читайте «Хайтек» в
Основа ИИ-бума
Бум развития технологии искусственного интеллекта, который мы сейчас наблюдаем, связан с внедрением особого аппаратного обеспечения. Оно появилось в 2000-х годах, но стало активно применяться для нейросетевых технологий в 2010-х годах. Как раз тогда мы наблюдали начало бурного развития нейросетевых алгоритмов искусственного интеллекта с применением графических процессоров. Оказалось, что параллельно и массово выполняемая операция так называемого векторно-матричного умножения, то есть по сути операция умножения двух чисел и сложения с третьим числом (MAC, Multiply and Accumulate), выполняется быстро и эффективно в графических процессах. С этого и началось активное развитие направления.
И оно продолжается по сей день, в этой сфере достигнуты грандиозные успехи. Но у таких технологий есть «бутылочное горлышко». Оно связано с тем, что графические системы потребляют огромное количество энергии. А проблема в том, что по-прежнему в архитектуре графических процессоров используется фон-Неймановская парадигма, когда у вас память и вычислительные блоки разделены физически. В графическом процессоре много ядер и есть кэш-память в нескольких уровней, которая приближена к этим ядрам. Это так называемая общая память. И дальше на периферии чипа — динамическая память. В результате получается своеобразная «воронка»: данные поступают все ближе и ближе к вычислительным ядрам, в них производятся вычисления (самая быстрая операция), а затем обратно в память возвращаются результаты, в самих логических ядрах ничего не хранится. И вот на эту передачу данных и затрачивается до 90–95% всей электрической энергии на поддержание работы процессора.
Преимущества нейроморфных вычислительных архитектур
Энергоэффективность
В свою очередь, наш мозг устроен по-другому: там, где обрабатывается информация, там же она и хранится — в нейронах, и память осуществляется в соединениях между нейронами, которые называются синапсами, или синаптическими контактами. В нейросетях это синаптические веса. Идея на поверхности — попробовать реализовать аппаратно подобный подход. Сохраняя многоядерную архитектуру чипа, мы в каждом ядре размещаем аппаратный модуль нейрона, выполняющий функции активации (регистрации) тех или иных признаков в паттернах входных данных. Память также будет расположена прямо в ядре. То есть фактически мы совмещаем вычисления и память. И уже за счет этого сокращаем энергопотребление на несколько порядков величины по сравнению с графическими системами. Именно за счет физического сближения блоков вычислений (нейрональных функций) и хранения информации (ячеек памяти).
Разреженность вычислений
Второе ключевое преимущество нейроморфной архитектуры заключается в разреженности вычислений. Нейроны в биологическом мозге работают на очень низких частотах, это десятки, иногда сотни герц. Никаких ни мега-, ни гигагерц там уж точно не наблюдается. Это же свойство можно эмулировать на нейроморфном чипе. Так, внутри ядра, локально, процессы обработки данных будут происходить на высоких частотах порядка 700 мегагерц. Но между ядрами (то есть на больших расстояниях для передачи данных) коммуникация может быть организована на очень низких частотах, всего лишь около 1-2 килогерц. А 1 килогерц — это в миллион раз меньше, чем 1 гигагерц!
Самые плотные вычисления происходят внутри ядра, физически это очень малые расстояния между памятью и вычислительным блоком (ALU). Коммуникация между ними, обмен пакетами информации происходит на низких частотах, один раз в миллисекунду. На этом основано такое преимущество. И в совокупности оба вышеуказанных свойства нейроморфной архитектуры позволяют даже в полностью цифровых системах, то есть с использованием традиционной кремниевой компонентной базы, получить выигрыш в энергопотреблении в 100–1000 раз! И это уже на практике показано, нами в том числе. По части цифровых нейроморфных систем мы сотрудничаем с компанией «Мотив нейроморфные технологии». Это новосибирский стартап, который изготовил первый в России полнофункциональный нейроморфный процессор «Алтай» (или AltAI, Alternative AI).
Алгоритмы для нейроморфных вычислений
В нейроморфных системах используются не обычные, а так называемые импульсные нейронные сети. Так же, как и в биологической нервной системе, нейроны обмениваются информационными пакетами или импульсами. Это называется «спайковые нейронные сети».
В обычном техпроцессе информация также передается и считывается импульсами напряжения. Разница в том, что в спайковых нейронных сетях появляется дополнительное для кодирования данных измерение — время. Становится важным упорядочивание этих импульсов во времени, а не только в пространстве. Это называется популяционно-временное кодирование информации. В современных нейросетях то, что вы подаете в данный момент времени, то есть то, какие узлы сети активны, полностью определяет информацию на входе.
А в импульсных нейросетях определяющей является активность не только в конкретный момент времени, но и в предыдущий, и в идущий перед ним, и так далее. Фактически мы имеем упорядоченность во времени, которая кодирует релевантную динамическую входную информацию. Это как перейти от плоских изображений к трехмерным.
Происходит либо грандиозное сжатие пространственной информации, обрабатываемой последовательно с использованием временного упорядочения (как, например, при рассматривании незнакомой сцены с переводом взгляда от одного плана к другому), либо, наоборот, существенное обогащение информации за счет анализа динамической сцены целиком за некоторый период времени. Это временное измерение на сегодняшний день эффективно использовать пока удается с трудом. Но то, что спайковые сети работают и даже очень не плохо, мы наблюдаем на примере нас с вами.
Схемы кодирования в нейромофрных вычислениях
Разрабатываются различные схемы временного кодирования. Самое простое — это частотное кодирование, основанное на измерении мгновенной частоты спайкования нейрона.
Но наиболее эффективны схемы так называемого «кодирования временными задержками между импульсами». Здесь уже каждый импульс играет ключевую роль. И задержками между ними можно кодировать дополнительные аспекты входной информации. Это позволяет в полной мере использовать дополнительное измерение для кодирования данных, то есть время.
Еще один важный аспект в подобных нейроморфных алгоритмах — это обучение. Ведь ключевое преимущество нейросетей в том, что они эффективно обучаются решению той или иной плохо поставленной задачи (то есть имеющей множество, возможно неоднозначных, решений). Например, распознаванию визуальных, слуховых и сенсорных образов.
Преимущества спайковых нейросетей на практике
На практике такие импульсные, или спайковые, нейросети, во-первых, будут на несколько порядков более энергоэффективны. Мы уже это видим, когда переносим на импульсный базис обычные формальные нейросети (ANN, Artificial Neural Networks). Спайковые нейронные сети будут более энергоэффективны уже за счет только использования специализированного нейроморфного «железа».
Например, в наших экспериментах с нейропроцессором «Алтай» по распознаванию городских шумов, звуков, определению ключевых слов в голосовых командах и так далее наблюдалось снижение энергопотребления по сравнению с графическими процессорами до тысячи раз.
Это преимущество достигнуто на цифровых нейроморфных системах! Невероятно, но это стало возможным за счет чистого учета двух факторов, о которых мы говорим: сближения памяти с вычислительными модулями и разреженности вычислений. Конечно, мы еще не достигаем энергоэффективности человеческого мозга, — в этом случае нужно преодолеть примерно семь порядков величины по сравнению с графическими картами, но все впереди.
Второе, — низкая задержка вычислений. Ведь как работают современные нейросети, даже большие языковые модели, на основе которых функционируют чат-боты? Вы подаете на вход какой-то набор данных, и пока он полностью через все слои нейросети не пройдет, следующий набор данных на вход подавать нельзя. Это просто базовый принцип работы. В импульсных же нейросетях, как только данные перешли со входного на следующий слой обработки нейросети, то вы сразу можете подавать следующий набор данных! Это называется «потоковая обработка информации». Потоковая обработка — это значит, что информация без разрывов и уплотнений течет, как по сети связанных труб, и непрерывно выдается результат на выходе. А это означает практическую задержку вычислений: от подачи на вход до получения выходного результата — от нуля до нескольких десятков миллисекунд, обычно не больше 40 миллисекунд. А задержки до 40 миллисекунд субъективно не воспринимаются человеком, соответственно, данный тип вычислений обозначается как «в режиме реального времени».
Еще одно потенциальное преимущество с практической точки зрения — это обработка динамических сцен. Если в современную нейросеть для поддержки какого-нибудь чат-бота нужно загрузить длинный запрос, то контекст может составлять несколько тысяч слов. Если вы подробно что-то описываете или вам нужно сгенерировать некое детальное изображение или текст, то вам требуется длинный контекст. Пока вы полностью не сформулируете запрос, то чат-бот не сможет выдать ответ или уточнить запрос.
А в разговоре между людьми информация загружается поточно и интерактивно. Почему? Потому что у человека есть оперативная память. Точно так же спайковые архитектуры за счет использования истинного временного кодирования данных могут воспринимать текущую информацию не только с учетом предыдущего контекста, то есть с учетом истории, но и порядка поступления входных данных. И мы с вами за счет этого можем эффективно общаться, не прерываясь и акцентируя внимание собеседника в любой момент на ключевых аспектах предмета разговора.
Если говорить о нейроморфных архитектурах, то, по сути, это переход к максимально естественному общению с машинами.
Вячеслав Демин
Альтернатива транзисторам — «мемристоры»
В обычном техпроцессе каждый бит информации, особенно близко к вычислительным модулям, исполняется в так называемой статической памяти с произвольным доступом. Она основана на транзисторной логике. Каждая ячейка такой памяти состоит из 6–8 транзисторов и занимает достаточно большую площадь на кристалле чипа. При технологии, например, в 28 нанометров одна такая ячейка занимает площадь в одну десятую квадратного микрона. Это довольно большая область, около 300 x 300 нанометров. Понятно, при 7- и 3-нанометровых нормах занимаемая площадь будет ниже, но сути это не меняет.
Преимущество мемристоров: компактность
Мемристор — это сопротивление с эффектом памяти. То есть резистор, к которому прикладывается напряжение и который может изменять свое резистивное состояние (то есть проводимость) и сохранять его после снятия напряжения. В этом и заключается эффект памяти. Такая ячейка резистивной памяти может масштабироваться вплоть до размеров в 10 нанометров. То есть 10 на 10 нанометров — ее латеральные размеры, и толщина пленочной структуры — обычно от нескольких единиц до десятков нанометров. На сегодняшний день совершенно надежно ее можно сделать с размерами 100 x 100 нанометров. И в этом случае выигрыш по площади составит уже 10-кратное преимущество по сравнению с SRAM-ячейкой, сформированной по 28-нм технологии.
Преимущество мемристоров: энергонезависимая память
Но это не единственное преимущество. Поскольку мемристор сохраняет свое состояние проводимости, то это означает, что он не затрачивает никакой энергии при хранении информации. А для поддержания традиционной цифровой статической памяти надо подавать напряжение. И хотя SRAM-память основана на КМОП-транзисторах (так называемая «комплементарная металлоксидная логика»), токовые утечки все равно присутствуют. Когда транзисторов очень много, миллиарды таких ячеек на чипе, то указанные утечки обуславливают существенное «паразитное» энергопотребление, так называемая потеря на хранении информации. А в мемристорах таких потерь нет, поскольку резистивная память принципиально энергонезависимая.
Преимущество мемристоров: производительность
Далее, поскольку площади мемристорных ячеек существенно меньше, чем у 6–8 транзисторов, значит, меньше емкость. Меньшая емкость — сниженное время чтения такой памяти. А это означает большую производительность, то есть скорость работы такой памяти. Даже по сравнению с современной SRAM, хотя на сегодня она считается одной из самых быстрых. Можно сократить время считывания состояния мемристорной ячейки до периодов, заметно меньших одной наносекунды.
Преимущество мемристоров: вычисления в памяти
Еще одно важное преимущество мемристорной памяти заключается в том, что ее можно использовать не просто как отдельный модуль памяти в каждом ядре нейроморфного процессора, а непосредственно как вычислительное устройство типа ALU. То есть прямо в этом же массиве мемристорных ячеек можно производить операции векторно-матричного умножения. Логика очень простая. Мемристор конструктивно — это, по сути, пленка на пересечении между двумя электродами, размещенными под углом 90 градусов друг к другу. На один из этих электродов (электродных шин) подается входной сигнал в виде определенного уровня напряжения, а с другого считывается уже взвешенное проводимостью мемристора по закону Ома значение тока. Оно и является результатом умножения входного сигнала (напряжения) на весовой синаптический коэффициент (проводимость мемристора). Аппаратная организация таких нейроморфных вычислений в памяти называется аналоговой (мемристорной) кроссбар-архитектурой.
Перспективы нейромофрных архитектур в России и в мире
Надо сказать, что рассматриваемые нейроморфные системы уже давно не фантастика. Отдельные нейросети на кроссбар-массивах мемристорных ячеек продемонстрированы во множестве различных конструктивных вариантов и заметным числом научно-исследовательских групп, включая нашу группу в Курчатовском институте. Данными разработками мы занимаемся с 2013 года благодаря инициативе президента Центра и научного руководителя направления Ковальчука Михаила Валентиновича.
Курчатовский институт является одной из ведущих организаций в области создания мемристорных технологий, или ReRAM, то есть резистивной памяти, и, самое главное, нейроморфных вычислительных систем. Лаборатория технологий искусственного интеллекта Курчатовского комплекса НБИКС-природоподобных технологий, которую мне посчастливилось формировать и возглавить, состоит примерно наполовину из высококлассных программистов (это два десятка человек) и из физиков, инженеров, микроэлектронщиков с другой стороны. Программисты разрабатывают нейроморфные алгоритмы и таким образом формируют технические требования к создаваемому нейроморфному процессору, а физики и инженеры-дизайнеры в области микроэлектроники анализируют возможность разработки стеков материалов и устройств под целевые задачи, формируя обратную связь для алгоритмических разработок. У нас имеется прототип мемристорного ядра нейропроцессора, показана его принципиальная работоспособность. Также продемонстрирована работоспособность нескольких вариантов мемристорных структур. Самая перспективная на текущий момент — на основе нанокомпозитного материала из ниобата лития с наночастицами металлов.
С точки зрения альтернатив разработки нейроморфных устройств мы плодотворно сотрудничаем с Нижегородским университетом им. Н. И. Лобачевского, в котором группа Михайлова Алексея Николаевича разрабатывает свои варианты как мемристивных структур, так и немного отличающийся по архитектуре вариант нейроморфного процессора.
Следует подчеркнуть, что на сегодня все развитые страны или их союзы разработали свои проприетарные варианты нейроморфных чипов, и большинство из этих разработок запрещено к экспорту даже для научных исследований. Это критически важная технология.
У Китая есть уже два варианта таких процессоров, еще два варианта нейропроцессоров есть у США (Loihi от Intel и North Pole от IBM). Разработка австрало-американского стартапа Akida с государственной поддержкой тоже близка к нейромофной архитектуре. В Европейском союзе есть несколько примеров нейроморфных процессоров. В России единственный на сегодня полнофункциональный образец истинно нейроморфного процессора — вышеупомянутый цифровой чип «Алтай» компании «Мотив нейроморфные технологии», и существует несколько прототипов перспективных аналоговых нейропроцессоров пока с более низким уровнем готовности технологий (НИЦ «Курчатовский институт», ННГУ). Если сконцентрировать усилия в этом направлении, Россия может стать как минимум региональным лидером в данной критической области технологий с возможностью поставок наших решений в страны СНГ, Индию, Африку и другие страны.
Обложка: иллюстрация создана в Kandinsky 3.1