Что такое нейронный процессор
Данная статья преследует цель доступным языком описать, что такое нейроморфные процессоры и какое место они занимают среди процессорных технологий.
ИИ как мозг мобильного процессора
Компании хотят, чтобы люди верили, что они разработали умный чип — умеющий самостоятельно думать или тот, который может имитировать человеческий мозг.
Как бы они не хотели, сегодняшние даже самые передовые проекты в этой области не так близки к тому, как об этом заявляют. В реальности все намного скучнее, чем можно подумать. По сути, все текущие процессоры со встроенным искусственным интеллектом просто делают программные задачи более эффективными за счет машинного обучения.
Процессоры с искусственным интеллектом делают программные задачи типа машинного обучения более эффективными, не более того.
Существует важное различие между искусственным интеллектом и машинным обучением, о котором стоит рассказать.
Искусственный интеллект (AI) — это очень широкая концепция, используемая для описания машин, которые могут «думать как люди» или иметь какую-то форму искусственного мозга с возможностями, очень похожими на наши собственные.
Машинное обучение, в свою очередь, является лишь частью компьютерной программы, разработанной с целью обработки данных и принятия решения на основе результатов. На основе этих же результатов машинное обучение может даже прогнозировать будущие исходы, но до возможностей настоящего искусственного интеллекта ему очень далеко.
В помощь машинному обучению также приходят нейронные сети. Это компьютерные системы, предназначенные помогать программам на основе машинного обучения сортировать данные и позволяющие компьютерам классифицировать их подобными людям способами. Речь о таких процессах, как определение местоположения по картинке или определение марки и цвета автомобиля. Нейронные сети и машинное обучение умны, но они определенно не разумны.
Что касается искусственного интеллекта, то в данном случае маркетинговые отделы производителей завышают ожидания. ИИ — это не мозг процессора, а только один из его компонентов. Он повышает производительность и эффективность задач, которые сегодня связаны с умными помощниками. В основном работа ИИ в чипе отвечает за качественное распознавание голоса и изображений, но есть и другие варианты использования.
Что в итоге?
Не стоит сомневаться по поводу заявленных возможностей искусственного интеллекта и нейронных сетей в процессорах нового поколения. Они действительно сделают наши смартфоны умнее, но о настоящем искусственном интеллекте внутри мобильного устройства речи не идет.
Например, Huawei уже рекламирует свой следующий флагман Mate 10 не как смартфон, а как «интеллектуальную машину». Без злых шуток в сторону Apple с ее A11 Bionic не обошлось, но что значит это словосочетание? На деле Mate 10 окажется таким же iPhone 8 — флагманским смартфоном с процессором, умеющим работать с искусственным интеллектом. Huawei переигрывает.
В закладки
Начиная с iPhone X, ко всем своим чипам серии A Apple добавляет приставку Bionic. Природная натура этого слова подкрепляется особенным модулем внутри процессора, который называется Neural Engine.
Он состоит из вычислительных блоков, которые помогают iPhone решать задачи, связанные с контекстом.
Перед Neural Engine не стоит задача решить уравнение или отобразить изображение. Это гораздо более тонкая технология, без которой наши смартфоны оставались бы скучными и не умели узнавать нас в лицо.
Ниже расскажу, почему Apple хвалится развитием этого элемента в своих чипах с такой же частотой, как с CPU и GPU. Объясню, зачем именно нужен Neural Engine в том числе в MacBook. А ещё проследим, как нейроядра внутри iPhone стали третьей необходимой силой после вычисления и графики.
Сильные стороны архитектуры нейроморфного процессора
В настоящее время направление нейроморфных процессоров вызывает огромный интерес во всем мире, и такие чипы постепенно становятся доступными для научного и промышленного использования. Параллельно с доступностью чипов ученые в сфере искусственного интеллекта улучшают и открывают новые и более эффективные механизмы обучения импульсных нейросетей.
Под нейроморфными процессорами, как правило, понимают сверхбольшие интегральные схемы (СБИС), предназначенные для моделирования импульсных нейронных сетей. Ключевое отличие архитектуры нейроморфных процессоров от традиционной фон-Неймановской архитектуры заключается в том, что в них память и вычислительные ядра объединены, поэтому расстояния передачи данных сведены к минимуму, что минимизирует задержки и расход энергии при постоянных переносах данных от процессора в память и обратно в ходе вычислений. В то время как системы классической фон-Неймановской архитектуры — это многомодульные системы, состоящие из блоков обработки, ввода/вывода и памяти, которые взаимодействуют друг с другом через различные логические элементы исключительно последовательно [17]. И в силу того, что большинство вычислений в нейронных сетях основано на потоке данных, постоянное переключение между блоками обработки и блоками памяти ястановится крайне узким местом, которое значительно влияет на производительность такой системы в целом [6] [13].
В чём ещё помогает Neural Engine в смартфонах
Многие считают Siri отстающей в развитии по сравнению с другими ассистентами, но на самом деле за этой технологией стоят сложные процессы.
Раньше, когда вы задавали вопрос «Скажи курс доллара к рублю», смартфон записывал данные и отправлял их на сервер с сопроводительными данными вроде обладателя голоса, местоположения, времени суток, чтобы было проще сформулировать ответ. Позже ответ обрабатывался и отправлялся обратно.
Сейчас нейросетевой чип в смартфоне берёт обработку натуральной голосовой модели на себя. Он в реальном времени превращает речь в запрос сам, и в некоторых ситуациях берёт на себя его полную обработку. Он сам понимает, что пользователь хочет узнать и сам же формирует сценарий, по которому будет отвечать.
Например, если вы попросите смартфон сделать сложные расчёты, он справится с ними намного быстрее, чем раньше, потому что сделает это без отправки на сервера. А расчёт начнёт до того, как вы закончите говорить.
Своими рассчётами Neural Engine приближает смартфон к граничным вычислениям . Это метод сложных распределительных вычислений, когда источник информации и вычислительные мощности для их сетевой обработки находятся как можно ближе друг к другу, чтобы ускорить выдачу результата.
Как развивался Neural Engine в iPhone
Каждая презентация Apple не обходится без упоминания сопроцессора и без указания, насколько выросла его производительность.
Ниже будет полный список iPhone начиная с 2017 года, с описанием возможностей, которые добавляла компания вместе с улучшением Neural Engine и его ядер.
Что такое «нейроморфость»
«Нейроморфным» процессор называют потому, что его архитектура и принципы действия имеют сходство с биологическими нейронными сетями. Эта схожесть является одним из направлений развития нейронных процессоров. В широком смысле нейронный процессор — это специализированный класс микропроцессоров, которые используются для аппаратного ускорения работы алгоритмов искусственных нейронных сетей, компьютерного зрения, распознавания голоса и изображений, машинного обучения и других методов искусственного интеллекта. К классу нейронных процессоров могут относиться разные по устройству и специализации типы чипов, в частности, один из них — нейроморфные процессоры. В отличие от традиционных вычислительных архитектур (фон-Неймановских), логика и устройство нейроморфных процессоров изначально узкоспециализирована для работы именно импульсных нейронных сетей.
Для более глубокого понимания стоит отдельно разобраться с развитием нейронных сетей, так как, не вдаваясь в детали, нейроморфный процессор – это и есть реализация искусственной импульсной нейронной сети на аппаратном уровне.
iPhone 11 и iPhone 11 Pro
В A13 внутри iPhone 11 установлен Neural Engine снова из 8 ядер.
Тогда блоку повысили мощность на 20% и снизили потребление на 15% за счёт выборочной подачи энергии на разные области A13.
Вместе с машинным обучением NPU улучшил распознавание речи и стал быстрее справляться с трекингом лицевой мимики в реальном времени.
В этот раз в CPU добавили блоки для ускорения машинного обучения, которые стали в 8 раз быстрее проводить матричные вычисления. Вероятно, именно они дали ускорение нейроядрам.
Производительность: 6 триллионов операций в секунду.
iPhone 13 и iPhone 13 Pro
В A15 из iPhone 13 Neural Engine остался с теми же 16 ядрами. Но они стали заметно мощнее. Даже в новых M1 Pro и M1 Max такого нет.
На этой презентации Apple напомнила, что установленные в Neural Engine элементы для машинного обучения работают эффективно за счёт блоков их ускорения в разделе CPU.
На данный момент это самый мощный NPU среди продуктов Apple. Главной его возможностью стала запись видео с глубоким размытием. Режим в приложении Камера в любом из iPhone 13 называется Киноэффект.
Ещё он помогает Siri распознавать диктовку и корректировать навигатор внутри Apple Maps, делать трекинг предметов в реальном времени, распознавать виды растений и ускорять перевод текста с фотографии в письменный.
Производительность: 15,8 триллионов операций в секунду.
Эффективность — это ключ
Новые чипы с искусственным интеллектом не просто обеспечивают большую вычислительную мощность. Они также создаются для повышения эффективности в трех основных областях: размер кристалла, уровень вычислений и энергоэффективность.
Сегодняшние системы на чипе топового класса комплектуются десятками компонентов, начиная от драйверов для дисплея и заканчивая встроенным модемом связи. Все это должно вписаться в один маленький кристалл без ограничений по мощности, не обходясь при этом в кругленькую сумму (читайте о законе Мура для получения дополнительной информации). Разработчики процессоров должны придерживаться этих правил при внедрении новых возможностей типа обработки нейронными сетями и собственной системы искусственного интеллекта.
Выделенный процессор искусственного интеллекта (NPU) в системе на чипе смартфона разработан для вычислительной энергоэффективности и определенного подмножества математических задач.
Вместо создания новых, более мощных ядер лучше разработать отдельный выделенный компонент, который может эффективно обрабатывать определенный набор задач.
Мы видели подобное уже много раз за всю историю развития процессоров (вспомните дополнительные модули с плавающей точкой в первых чипах и, например, процессор обработки сигналов Hexagon DSP во флагманских моделях Qualcomm). Сейчас DSP не так популярны из-за быстрой смены вычислительной мощности, однако повышение энергоэффективности и машинное обучение восстанавливают этот спрос.
Что такое «нейроморфость»
«Нейромофрным» процессор называется в силу того, что его архитектура и принципы действия имеют умышленное сходство с биологическими нейронными сетями. Данная схожесть является одним из направлений развития нейронных процессоров. В широком смысле нейронный процессор — это специализированный класс микропроцессоров, который используется для аппаратного ускорения работы алгоритмов искусственных нейронных сетей, компьютерного зрения, распознавания голоса и изображений, машинного обучения и других методов искусственного интеллекта. К классу нейронных процессоров могут относиться разные по устройству и специализации типы чипов, в частности, один из них — нейроморфные процессоры. В отличие от традиционных вычислительных архитектур (фон-Неймановских), логика и устройство нейроморфных процессоров изначально узкоспециализирована для работы именно искусственных нейронных сетей.
Для дальнейшего погружение в понимание, что такое нейроморфный процессор стоит отдельно разобраться с развитием нейронных сетей, так как, не вдаваясь в детали, нейроморфный процессор – это и есть реализация искусственной нейронной сети на аппаратном уровне.
Первый Neural Engine использовали исключительно для Face ID
Apple полностью контролирует производство своих процессоров начиная с iPhone 4 и чипа внутри него A4, которые вышли в 2010 году.
Компания среди первых начала внедрять новые технологии в чипы на мобильных устройствах. Например, переход на 64-битную разрядную систему, интеграцию сопроцессора движения и фотографии, использование минимальных техпроцессов (7 нм, 5 нм).
Ключевым стал 2017 год, когда вышел iPhone X. На его презентации впервые пошла речь о небольшом нейросетевом модуле внутри чипа A11, который Apple впервые и до сих пор называет с приставкой Bionic.
Тогда этому маленькому блоку внутри чипа уделили каплю внимания, чтобы рассказать, как он юрко отличает настоящее лицо от искусственной копии в виде театральной маски. Мы узнали о Neural Engine только то, что он способен обучаться по внешнему виду пользователя, и на этом всё.
С каждым новым поколением NPU значительно развивали и обучали новым возможностям.
В 2021 году он помогает искать определённых людей и создавать воспоминания в приложении Фото, анализировать 40 мимических лиц в реальном времени и создавать Киноэффект в iPhone 13.
Эволюция оказалась впечатляющей.
Импульсные нейронные сети и их преимущества
Третье поколение ИНС называется “импульсными нейронными сетями” (Spiking Neural Network, SNN), и появилось оно в конце 1990-х годов 10. Их дизайн стал в большей мере соответствовать биологическому устройству нейронных сетей [13]. В отличие от ИНС первого и второго поколения, нейроны в импульсных сетях обмениваются дискретными импульсами одинаковой амплитуды. Импульс выдаётся, если нейроны собирают достаточно данных, чтобы превысить внутренний порог, то есть работают они не постоянно. Такие нейронные структуры обладают большой параллельностью распространения импульса [14]. Теоретически, благодаря этим двум особенностям импульсные сети потребляют меньше энергии и работают быстрее, чем ИНС второго поколения [15]. Выделим некоторые преимущества SSN перед нейросетями первого и второго поколения [13]:
Эффективное моделирование временных, пространственно-временных или спектрально-временных данных;
Эффективное моделирование процессов в разных временных масштабах;
Соединение функций более высокого уровня с генетикой «более низкого» уровня;
Интеграция модальностей, таких как звук и изображение, в одной системе;
Прогностическое моделирование и прогнозирование событий;
Быстрая и массово-параллельная обработка информации;
Компактная обработка информации;
Масштабируемые структуры (от десятков до миллиардов импульсных нейронов);
Низкое энергопотребление, если модель реализована на нейроморфных чипах.
Крупномасштабные SNN могут быть реализованы как в программном симуляторе, таком как «NEST» с высокопроизводительными вычислениями, так и в нейроморфных чипах [16]. Моделирование SNN, реализованное на классических центральных процессорах (CPU) или графических процессорах (GPU) не является оптимальным для реализации их потенциала с точки зрения энергоэффективности и параллелизма [16]. SNN могут полноценно демонстрировать свои конкурентные преимущества низкого энергопотребления и массовой параллельной работы только тогда, когда они реализованы на нейроморфных чипах.
Зачем Neural Engine в Mac
Огромный кусок главных функций M1 занимает Neural Engine в правом верхнем углу
Apple постепенно переводит компьютеры Mac на свои процессоры. Год назад, в ноябре 2020-го представили чип M1, в октябре 2021-го к ним добавились M1 Pro и M1 Max.
Несмотря на разницу в производительности CPU и GPU, в каждом из них установлен один и тот же NPU из 16 ядер с мощностью 11 триллионов операций в секунду. То есть он дублирует таковой из A14 внутри iPhone 12.
Выделенные нейроядра в Mac ускоряют процессы в работе профессионалов, завязанные на машинном обучении.
Фотографы могут применить их в Pixelmator Pro, который увеличивает разрешение изображения с помощью процессов машинного обучения, которые активирует Neural Engine.
Видеографы могут использовать функцию умного отслеживания объектов в Final Cut Pro X, чтобы быстрее обрезать видео.
Для разработчиков, учёных и инженеров в их специализированных расчётах и преобразованиях данных, постановки виртуальных экспериментов он тоже будет полезен.
Например, на базе машинного обучения работает платформа TensorFlow. Она помогает внедрять в приложения такие технологии, как распознавание жестов, понимание контекста в естественных вопросах, перенос стиля одного изображения на другое. Чем быстрее будет железо, сделанное для него, тем лучше заработают эти функции.
Резюме
Таким образом, нейроморфный процессор — это особый ASIC, архитектура которого максимально приближена к структуре биологических нейронных сетей, и который создавался специально для оптимизации вычислений импульсных нейронных сетей. Целью развития нейроморфной процессорной архитектуры является достижение способности параллельной обработки информации с энергопотреблением, ограниченным десятками ватт. Для этого память и блоки обработки должны быть объединены (in-memory computing). Нейроморфные процессоры в силу заложенной архитектуры больше подходят для когнитивных приложений, основанных на вероятностных моделях, динамическом и самопрограммируемом поведении, чем для точных вычислений [13].
[1] Галушкин А.И. Нейроматематика (проблемы развития). М.: Радиотехника, 2003. – 40 с. (серия «Нейрокомпьютеры и их применение»).
[5] Patterson, J. C., 2012. MANAGING A REAL-TIME MASSIVELY-PARALLEL NEURAL ARCHITECTURE. Phd Thesis ed. Manchester: UNIVERSITY OF MANCHESTER.
[6] Zheng, N. & Mazumder, P., 2020. Learning in energy-efficient neuromorphic computing: algorithm and architecture co-design. s.l.:Wiley-IEEE Press.
[7] Maass W. Networks of Spiking Neurons: The Third Generation of Neural Network Models. // NeuralNetworks. - Vol. 10, No. 9. - 1997. - Pp. 1659-1671.
[8] Gerstner W., Kistler W. M. Spiking Neuron Models. Single Neurons, Populations, Plasticity. - Cambridge University Press, 2002.
[9] Masayasu Atsumi. Sequence Learning and Planning on Associative Spiking Neural Network. // Proceedings of the 2002 International Joint Conference on Neural Networks (IJCNN'02), 2002. - Pp.1649-1654.
[10] Brette R. Spike-based models of neural computation. - 2009.
[11] Филиппов В.А. Кортикоморфная нейросетевая архитектура, моделирование консолидации следа памяти и кибергеномика – перспективные технологии искусственных когнитивных систем. - Научная сессия НИЯУ МИФИ – 2010. Материалы избранных научных трудов по теме: «Актуальные вопросы нейробиологии, нейроинформатики и когнитивных исследований». М.: НИЯУ МИФИ. - 2010. – С. 111-144.
[12] Горбаченко В.И. Нейроморфные вычисления. Состояние и перспективы. // Проблемы информатики в образовании, управлении, экономике и технике: Сб. статей XIV Междунар. научно-техн. конф. – Пенза: ПДЗ, 2014. – С. 73-77.
[13] Kasabov, K. N., 2019. Time-Space, Spiking Neural Networks and Brain-Inspired Artificial Intelligence. Berlin, Germany: Springer.
[14] Sugiarto, I. & Pasila, F., 2018. Understanding a Deep Learning Technique through a Neuromorphic System a Case Study with SpiNNaker Neuromorphic Platform. MATEC Web of Conferences
[15] Maass, W., 1997. Networks of spiking neurons: The third generation of neural network models. Neural Networks, 10(9), pp. 1659-1671.
[16] Knight, J. & Nowotny, T., 2018. GPUs Outperform Current HPC and Neuromorphic Solutions in Terms of Speed and Energy When Simulating a Highly-Connected Cortical Model. Frontiers in Neuroscience
[17] Kasabov, N., Sengupta, N. & Scott, N., 2016. From von neumann, John Atanasoff and ABC to Neuromorphic computation and the NeuCube spatio-temporal data machine. 2016 IEEE 8th International Conference on Intelligent Systems (IS).
Очертив в первой части весь стек технологий, которые попадают в нейроморфные, в этой статье будет доступно объяснено, что такое нейроморфные процессоры, и какое место они занимают среди всех процессорных технологий. Если у вас вдруг возникнет желание углубиться дальше, то вам сюда. Примеры реализации нейроморфных процессоров приведены в следующей статье цикла здесь.
Сильные стороны архитектуры нейроморфного процессора
В настоящее время направление нейроморфных процессоров вызывает огромный интерес во всем мире, и такие чипы постепенно становятся доступными для научного и промышленного использования. Параллельно с доступностью чипов ученые в сфере искусственного интеллекта улучшают и открывают новые и более эффективные механизмы обучения импульсных нейросетей.
Под нейроморфными процессорами, как правило, понимают сверхбольшие интегральные схемы (СБИС), предназначенные для моделирования импульсных нейронных сетей. Ключевое отличие архитектуры нейроморфных процессоров от традиционной фон-Неймановской архитектуры заключается в том, что в них память и вычислительные ядра объединены, поэтому расстояния передачи данных сведены к минимуму, что в свою очередь минимизирует задержки и расход энергии при постоянных переносах данных от процессора в память и обратно в ходе вычислений. В то время как системы классической фон-Неймановской архитектуры — это многомодульные системы, состоящие из блоков обработки, ввода/вывода и памяти, которые взаимодействуют друг с другом через различные логические элементы исключительно последовательно [17]. И в силу того, что большинство вычислений в нейронных сетях основано на потоке данных, постоянное переключение между блоками обработки и блоками памяти является крайне узким местом, ключевым образом влияющим на производительность такой системы в целом [6] [13].
iPhone X
В чипе A11 внутри iPhone X технология появилась первые.
Два ядра, которые служили исключительно для того, чтобы корректно распознавать лица.
Производительность: 600 миллиардов операций в секунду.
Почему GPU, ASIC и FPGA недостаточно хороши при работе с нейронными сетями
Графические процессоры (GPU) обладают высокой параллельной вычислительной мощностью по сравнению с центральными процессорами (CPU) [6], поэтому они довольно быстро стали доминирующими вычислителями для реализации нейронных сетей второго поколения.
В настоящее время центры обработки данных в основном используют миллионы взаимосвязанных графических процессоров для обеспечения параллелизма, но это решение требует повышенного энергопотребления, имеет ограничения по возможностям масштабирования и требует внушительных бюджетов на приобретение таких аппаратных платформ [17]. При этом графические процессоры ускорили исследования глубинных нейронных сетей, и продолжают поддерживать многие интересные направления развития технологий искусственного интеллекта, прочно закрепившись на рынке.
Однако, будущие периферийные приложения, такие как робототехника, носимые устройства или автономные автомобили требуют все более сложных ИНС, работающих в режиме реального времени, с малой задержкой и со значительно более низким энергопотреблением [6]. Это требует появления новых архитектур и их процессорных реализаций, которые будут удовлетворять этим постоянно растущим требованиям.
Так сложилось, что требование энергоэффективности сориентировало промышленность на разработку ускорителей, специально созданных для поддержки задач глубокого обучения. К ним относятся интегральные схемы специального назначения (Application-Specific Integrated Circuit, ASIC) и программируемые пользователем вентильные матрицы (Field-Programmable Gate Array, FPGA). ASIC хорошо оптимизированы для решения задач ИНС, они производительнее и работают с меньшим энергопотреблением, чем FPGA. Однако спроектировать ASIC дорого, и их нельзя реконфигурировать в отличии от FPGA. Поэтому FPGA служат прототипом для дальнейшего проектирования дорогостоящих ASIC с глубоким обучением [6]. Оба решения более энергоэффективны по сравнению с графическими процессорами, но имеют очень ограниченные возможности по масштабированию, меньшую эффективность по энергопотреблению и меньшую производительность в сравнении с нейроморфными процессорами. Это обусловлено архитектурными ограничениями в виде канала передачи данных между процессором и блоками памяти [17], которые сегодня требует новых подходов за пределами традиционной фон-Неймановской архитектуры.
Как выглядит чип изнутри
В своем патенте компания IBM приводит следующую схему:
Принципы работы чипа можно представить на примере сверточных нейросетей для распознавания изображений. Процессор — это слой нейронов. Когда нейрон идентифицирует данные, например, контур фигуры, то формируется импульс. Каждый такой импульс, условно, обозначает один пиксель изображения.
Далее, первый слой нейронов передает данные следующему слою (посредством все тех же импульсов). Так, слой за слоем сеть распознает изображение — сперва контуры и детали, а затем — всю картинку.
Обычные языки не подходят для программирования нейросинаптических ядер. Поэтому в IBM разработали специальный язык Corelet. Он обладает базовыми свойствами ООП: инкапсуляция, наследование и полиморфизм и основан на MATLAB. С его помощью ядра определяют как классы, чтобы управлять их работой было проще. Пример кода разработчики привели в своей презентации (стр. 17).
Что такое нейронные сети и как они развивались
Итак, нейронная сеть (также искусственная нейронная сеть, ИНС) — это математическая модель, а также её программное или аппаратное воплощение, которые строятся по принципу организации и функционирования биологических нейронных сетей, то есть сетей нервных клеток живого организма. Это понятие возникло при изучении процессов, протекающих в мозге, и попытках их смоделировать. Сегодня с помощью ИНС решаются такие классы задач, как распознавание, классификация, прогнозирование, оптимизация и сжатие информации, аппроксимация, ассоциативное управление и многие другие [1]. ИНС обычно делят на три поколения в зависимости от количества их вычислительных элементов и производительности.
Первому поколению ИНС (Artificial Neural Network, ANN) дали старт работы в области нейронных сетей У. Маккалока и У. Питтса [2]. В 1943 году они разработали модель нейронной сети на основе математических алгоритмов и теории деятельности головного мозга. В 1948 году Н. Винер вместе с соратниками опубликовал работу о кибернетике, основной идеей которой является представление сложных биологических процессов при помощи математических моделей. Далее, уже через год, в 1949 году Д. Хебб предложил первый алгоритм обучения.
В 1958 году нейрофизиолог Фрэнк Розенблатт разработал первую нейронную сеть, названную “перцептроном”, а также построил первый нейрокомпьютер Марк-1 [3]. Позже в 1960-х годах их модель была улучшена за счет дополнительных скрытых слоев (Multi-Layer Perceptron) и для большей точности названа “MADALINE” (от "Many ADALINE", многослойная нейронная сеть) профессором Стэнфордского университета в США Бернардом Уидроу и его студентом Хоффом [4]. Однако, ИНС первого поколения были очень далеки от аналогичной биологической модели. По сути, это были бинарные деревья решений — алгоритмы анализа данных и принятия решений, основанные на условиях “if” и “else”.
Второе поколение ИНС добавило в деревья решений первого поколения ИНС вычислительные функции, которые работают между каждым видимым и скрытым слоем. Так сформировалась структура, названная “глубинная нейронная сеть” (Deep Neural Network, DNN) [5].
Модели второго поколения ИНС решали более прикладные задачи (машинное зрение, распознавание речи, и т.д.), что сказалось на их архитектурной реализации не в пользу биологически достоверного дизайна. Их развитие в больше степени было определено математической и компьютерной науками. Они по-прежнему активно исследуются и пользуются большим спросом со стороны рынка и науки. Большинство текущих разработок в области искусственного интеллекта (ИИ) основаны на этих моделях, они успешно доказали свою точность в когнитивных процессах [6].
iPhone XS и iPhone XR
В A12 внутри iPhone XS и iPhone XR поставили 8 нейроядер, к которым добавили машинное обучение в других приложениях кроме Face ID и «умную вычислительную систему».
Эта система распознаёт тип задачи, поступающей в процессор, и решает, на каких блоках её обрабатывать: в Neural Engine, CPU или GPU.
Машинное обучение улучшило:
• Предложения слов в клавиатуре
• Подборку фотографий в Воспоминаниях
• Вывод полезных мест в Картах
• Адаптацию экрана True Tone
• Поиск снимков в Фото.
А ещё Neural Engine второго поколения позволил выполнять машинное обучение в реальном времени .
Это было нужно для портретного режима с одной камерой на iPhone XR и для AR-эффектов камеры. Например, чтобы накладывать сценический свет или отслеживать движение 50-ти мышц лица во время звонка по Face Time.
Именно благодаря обучению «на ходу» режим портрета из iOS 15 в Face Time доступен на смартфонах с процессором A12 Bionic и новее.
Производительность: 5 триллионов операций в секунду.
Зачем в мобильные процессоры вставляют нейронные сети
Виртуальные голосовые ассистенты стали прорывной технологией в мире программного обеспечения. В их основу легли искусственный интеллект, нейронные сети и различные алгоритмы глубокого обучения, позволяющие помощникам самостоятельно обучаться. Теперь искусственный интеллект пришел в процессоры и начинает развиваться на аппаратном уровне. Это выглядит намного более впечатляюще, чем вы можете себе представить.
Компания Apple представила в этом году свой новый флагманский процессор для мобильных устройств — Apple A11 Bionic со встроенной нейронной системой, предназначенной для отдельной работы с искусственным интеллектом.
Технологический гигант Huawei стал первым среди конкурентов после Apple, кто показал аналогичную разработку — Kirin 970 может похвастаться специальным процессором нейронной обработки. По слухам, Samsung тоже ведет работу над подобным чипом. Ожидается, что таким будет следующий флагман линейки Exynos и, возможно, он дебютирует в Galaxy S9.
Другие известные производители, включая Intel, NVIDIA и прочих также работают над процессорами, поддерживающими работу с искусственным интеллектом. Искусственный интеллект быстро набирает популярность и все больше проникает в привычные для нас технологии, выводя их функциональность на новый уровень и в то же время упрощая работу с ними.
Но, как это обычно бывает, производители смартфонов используют различные маркетинговые уловки, чтобы выставить себя в лучшем свете. Сегодня мы разберемся, существует ли искусственный интеллект в мобильных чипах на самом деле и как это работает в действительности.
Резюме
Таким образом, нейроморфный процессор — это особый процессор, архитектура которого максимально приближена к структуре биологических нейронных сетей, и который создавался специально для оптимизации вычислений импульсных нейронных сетей. Целью развития нейроморфной процессорной архитектуры является достижение способности параллельной обработки информации с энергопотреблением, ограниченным десятками ватт. Для этого память и блоки обработки должны быть объединены (in-memory computing). Нейроморфные процессоры в силу заложенной архитектуры больше подходят для когнитивных приложений, основанных на вероятностных моделях, динамическом и самопрограммируемом поведении, чем для точных вычислений [13].
[1] Галушкин А.И. Нейроматематика (проблемы развития). М.: Радиотехника, 2003. – 40 с. (серия «Нейрокомпьютеры и их применение»).
[5] Patterson, J. C., 2012. MANAGING A REAL-TIME MASSIVELY-PARALLEL NEURAL ARCHITECTURE. Phd Thesis ed. Manchester: UNIVERSITY OF MANCHESTER.
[6] Zheng, N. & Mazumder, P., 2020. Learning in energy-efficient neuromorphic computing: algorithm and architecture co-design. s.l.:Wiley-IEEE Press.
[7] Maass W. Networks of Spiking Neurons: The Third Generation of Neural Network Models. // NeuralNetworks. - Vol. 10, No. 9. - 1997. - Pp. 1659-1671.
[8] Gerstner W., Kistler W. M. Spiking Neuron Models. Single Neurons, Populations, Plasticity. - Cambridge University Press, 2002.
[9] Masayasu Atsumi. Sequence Learning and Planning on Associative Spiking Neural Network. // Proceedings of the 2002 International Joint Conference on Neural Networks (IJCNN'02), 2002. - Pp.1649-1654.
[10] Brette R. Spike-based models of neural computation. - 2009.
[11] Филиппов В.А. Кортикоморфная нейросетевая архитектура, моделирование консолидации следа памяти и кибергеномика – перспективные технологии искусственных когнитивных систем. - Научная сессия НИЯУ МИФИ – 2010. Материалы избранных научных трудов по теме: «Актуальные вопросы нейробиологии, нейроинформатики и когнитивных исследований». М.: НИЯУ МИФИ. - 2010. – С. 111-144.
[12] Горбаченко В.И. Нейроморфные вычисления. Состояние и перспективы. // Проблемы информатики в образовании, управлении, экономике и технике: Сб. статей XIV Междунар. научно-техн. конф. – Пенза: ПДЗ, 2014. – С. 73-77.
[13] Kasabov, K. N., 2019. Time-Space, Spiking Neural Networks and Brain-Inspired Artificial Intelligence. Berlin, Germany: Springer.
[14] Sugiarto, I. & Pasila, F., 2018. Understanding a Deep Learning Technique through a Neuromorphic System a Case Study with SpiNNaker Neuromorphic Platform. MATEC Web of Conferences
[15] Maass, W., 1997. Networks of spiking neurons: The third generation of neural network models. Neural Networks, 10(9), pp. 1659-1671.
[16] Knight, J. & Nowotny, T., 2018. GPUs Outperform Current HPC and Neuromorphic Solutions in Terms of Speed and Energy When Simulating a Highly-Connected Cortical Model. Frontiers in Neuroscience
[17] Kasabov, N., Sengupta, N. & Scott, N., 2016. From von neumann, John Atanasoff and ABC to Neuromorphic computation and the NeuCube spatio-temporal data machine. 2016 IEEE 8th International Conference on Intelligent Systems (IS).
Исследователи из IBM опубликовали заявку на патент со структурой нейроморфных чипов TrueNorth. Мы решили взглянуть на этот документ и рассказать, как устроен процессор IBM.
/ Flickr / IBM Research / CC
Для каких задач подойдут нейрочипы
Подобны технологии призваны ускорить обучение сверточных нейронных сетей, «заточенных» под распознавание изображений. Например, в 2017 году исследователи протестировали TrueNorth и DVS-камеру (Dynamic Vision Sensor), принцип действия которой напоминает работу сетчатки глаза. Нейронная сеть распознала десять жестов с точностью 96,5%.
Кроме того, на базе процессора будут создавать системы киберзащиты. Исследователи из IBM уже предложили концепцию решения True Cyber Security, которое обнаруживает вторжения в компьютерную сеть в 90% случаев (в 80% из них определяет и тип атаки).
По замыслу разработчиков нейропроцессоров, системам МО на базе этой технологии не придется постоянно подключаться к сети для обучения, так как все алгоритмы будут реализовываться локально. Это свойство позволит применять чип в смартфонах, ЦОД и умных устройствах на базе систем ИИ.
Исследователям еще предстоит разработать решения, которые позволили бы легко программировать чип для выполнения конкретных задач. Специализированный ЯП является лишь первым шагом для развития всей экосистемы. Потому о масштабном внедрении технологии в пользовательские устройства говорить не приходится.
P.S. У нас есть Telegram-канал — там мы пишем про технологии виртуализации и IaaS:
Нейронные сети — новые типы вычислений (NPU)
Возможно, самый большой вопрос, на который предстоит ответить: почему компании внезапно внедрили искусственный интеллект в АО? В чем заключается работа ИИ в процессоре? Почему именно сейчас?
Наверняка вы заметили, что в этом году популярность нейронных сетей, машинного обучения и гетерогенных вычислений значительно возросла. О них говорят везде и всюду, как о будущем мира технологий.
Все это связано с развитием вариантов использования NPU для пользователей смартфонов. Для них эти технологии помогают расширять уже известные возможности. Обработка аудио, изображений и голоса, прогнозирование человеческой деятельности, обработка языков, ускорение результатов поиска, расширенное шифрование данных — и это еще неполный список того, в чем сегодня задействованы системы ИИ.
Чтобы учесть рост вычислений и новых вариантов использования, имеет смысл разработать процессор нового типа, который лучше подходит для таких задач. Именно поэтому ИИ теперь внедряется в мобильные чипы для смартфонов. Он даст разработчикам базовый уровень для программного обеспечения нового поколения.
Есть CPU, есть GPU, а есть Neural Engine
История началась с процессоров для iPhone, в которые постепенно интегрировались новые элементы. Например, Neural Engine. Он ускоряет умные фишки камеры, помогает лучше анализировать голос для Siri и быстрее распознавать людей на ваших фотографиях.
Чуть позже тем же подходом Apple сделала комплексный чип M1 для своих Mac. Внутри него этих ядер ещё больше, и они ежедневно помогают решать те же задачи, что и в iPhone.
В потребительских устройствах для этих целей отдельный чип не ставили, но за ним постепенно закрепляется похожее название.
NPU расшифровывается как Neural Processing Unit и пока никак общепринято не переводится на русский.
Термин постепенно входит в употребление, но каждый производитель называет его по-своему. Будем опираться на формировку Apple, которая звучит как Neural Engine или «Нейронный процессор».
Он ускоряет распознавание речи, выявление фигур людей и конкретных личностей, точное определение пород кошек или видов цветов, отслеживание объектов в реальном времени и быстро решает операции, заточенные на интеллектуальное распознавание одного среди множества .
Должно соблюдаться условие: система, которую будут запускать на таком типе процессора, должна быть сначала натренирована на других примерах.
Что такое нейронные сети и как они развивались
Итак, нейронная сеть (также искусственная нейронная сеть, ИНС) — это математическая модель, а также её программное или аппаратное воплощение, которые строятся по принципу организации и функционирования биологических нейронных сетей, то есть сетей нервных клеток живого организма. Это понятие возникло при изучении процессов, протекающих в мозге, и попытках их смоделировать. Сегодня с помощью ИНС решаются такие классы задач, как распознавание, классификация, прогнозирование, оптимизация и сжатие информации, аппроксимация, ассоциативное управление и многие другие [1]. ИНС обычно делят на три поколения в зависимости от количества их вычислительных элементов и производительности.
Первому поколению ИНС (Artificial Neural Network, ANN) дали старт работы в области нейронных сетей У. Маккалока и У. Питтса [2]. В 1943 году они разработали модель нейронной сети на основе математических алгоритмов и теории деятельности головного мозга. В 1948 году Н. Винер вместе с соратниками опубликовал работу о кибернетике, основной идеей которой является представление сложных биологических процессов при помощи математических моделей. Далее, уже через год, в 1949 году Д. Хебб предложил первый алгоритм обучения. В 1958 году нейрофизиолог Фрэнк Розенблатт разработал первую нейронную сеть, названную “перцептроном”, а также построил первый нейрокомпьютер Марк-1 [3]. Позже в 1960-х годах их модель была улучшена за счет дополнительных скрытых слоев (Multi-Layer Perceptron) и для большей точности названа “MADALINE” (от "Many ADALINE", многослойная нейронная сеть) профессором Стэнфордского университета в США Бернардом Уидроу и его студентом Хоффом [4]. Однако, ИНС первого поколения были очень далеки от аналогичной биологической модели. По сути, это были бинарные деревья решений — алгоритмы анализа данных и принятия решений, основанные на условиях “if” и “else”.
Второе поколение ИНС добавило в деревья решений первого поколения ИНС вычислительные функции, которые работают между каждым видимым и скрытым слоем. Таким образом формируется структура, названная “глубинная нейронная сеть” (Deep Neural Network, DNN) [5]. Развитие моделей второго поколения ИНС приобрело характер решения более прикладных задач (машинное зрение, распознавание речи, и т.д.), что сказалось на их архитектурной реализации не в пользу биологически достоверного дизайна. Их развитие в больше степени было определено математической и компьютерной науками. Они по-прежнему активно исследуются и пользуются большим спросом со стороны рынка и науки. Большинство текущих разработок в области искусственного интеллекта (ИИ) основаны на этих моделях, они успешно доказали свою точность в когнитивных процессах [6].
Похожие решения
Над нейроморфными процессорами трудятся не только в IBM. Компания Intel с 2017 года разрабатывает чип Loihi. В его составе 130 тысяч искусственных нейронов и 130 млн синапсов. В этом году ИТ-гигант закончил производство экспериментального образца по 14-нм техпроцессу. По результатам первых тестов, чип распознает 3D-данные под разным углом, за пару секунд усваивает набор данных для обучения.
Еще один похожий проект разрабатывает компания Brainchip. Их система Akida содержит 1,2 млн нейронов и 10 млрд синапсов. Процессор оснастили интерфейсами для распознавания изображений, аудиоданных и аналоговых сигналов. Схема устройства системы представлена на сайте проекта.
Часть iPhone, которая делает его iPhone
Apple не устаёт повторять, что её сильная сторона кроется в трепетной связке ПО и железа.
Компания внедряет в свои смартфоны всё больше функций, которые полагаются на заточенные под них ядра. Среди них процессор обработки фото, управления дисплеем, портами и Neural Engine.
«Нейронный движок» помогает смартфону на лету понимать речь, подбирать трогательные Фото в виджете на рабочем столе и выдавать релевантные Воспоминания, отслеживать объекты в кадре Smart HDR, режима портрета и Киноэффекта.
Neural Engine формирует быструю и корректную выдачу данных в Spotlight, распознаёт текст из Камеры, может различать разные виде растений и породы собак.
И в целом он превращает смартфон в устройство, которое с каждым поколением всё лучше распознаёт контекст запроса без подключения к интернету.
Это одна из самых сильных вычислительных сторон iPhone помимо CPU и GPU. И она развивается сумасшедшими темпами из года в год.
Сложно предсказать, на что нейроядра будут способны через 10 лет. Но пока они выполняют свою работу бесшовно и незаметно для пользователя, Apple всё ещё может называть эту технологию магией.
В закладки
Что такое «нейроморфость»
«Нейромофрным» процессор называется в силу того, что его архитектура и принципы действия имеют умышленное сходство с биологическими нейронными сетями. Данная схожесть является одним из направлений развития нейронных процессоров. В широком смысле нейронный процессор — это специализированный класс микропроцессоров, который используется для аппаратного ускорения работы алгоритмов искусственных нейронных сетей, компьютерного зрения, распознавания голоса и изображений, машинного обучения и других методов искусственного интеллекта. К классу нейронных процессоров могут относиться разные по устройству и специализации типы чипов, в частности, один из них — нейроморфные процессоры. В отличие от традиционных вычислительных архитектур (фон-Неймановских), логика и устройство нейроморфных процессоров изначально узкоспециализирована для работы именно искусственных нейронных сетей.
Для дальнейшего погружение в понимание, что такое нейроморфный процессор стоит отдельно разобраться с развитием нейронных сетей, так как, не вдаваясь в детали, нейроморфный процессор – это и есть реализация искусственной нейронной сети на аппаратном уровне.
iPhone 12 и iPhone 12 Pro
В A14 из iPhone 12 Neural Engine стал в два раза больше и состоял из 16 ядер.
NPU стал на 80% быстрее того, который был установлен в A13.
Эти улучшения помогли внедрить Deep Fusion во все камеры iPhone, включая фронтальную и сверхширокоугольную. Последняя, несмотря на то, что физически была идентична прошлому поколению, стала снимать более чёткие фотографии.
Этот же NPU установлен во все чипы серии M1 от Apple для Mac.
Производительность: 11 триллионов операций в секунду.
Почему GPU, ASIC и FPGA недостаточно хороши при работе с нейронными сетями
Графические процессоры (GPU) обладают высокой параллельной вычислительной мощностью по сравнению с центральными процессорами (CPU) [6], поэтому они довольно быстро стали доминирующими вычислителями для реализации нейронных сетей второго поколения. В настоящее время центры обработки данных в основном используют миллионы взаимосвязанных графических процессоров для обеспечения параллелизма, но это решение вызывает повышенное энергопотребление, сталкивается с ограничениями по возможностям масштабирования и требует внушительных бюджетов на приобретение таких аппаратных платформ [17]. При этом графические процессоры ускорили исследования глубинных нейронных сетей, и сейчас также продолжают поддерживать многие интересные направления развития технологий искусственного интеллекта, прочно закрепившись на рынке. Однако, будущие периферийные приложения, такие как робототехника, носимые устройства или автономные автомобили требуют все более сложных ИНС, работающих в режиме реального времени, с малой задержкой и со значительно более низким энергопотреблением [6]. Это требует появления новых архитектур и их процессорных реализаций, которые будут удовлетворять этим постоянно растущим требованиям.
Так сложилось, что требование энергоэффективности сориентировало промышленность на разработку ускорителей, которые будут специально и изначально разработаны для поддержки задач глубокого обучения. К ним относятся интегральные схемы специального назначения (Application-Specific Integrated Circuit, ASIC) и программируемые пользователем вентильные матрицы (Field-Programmable Gate Array, FPGA). ASIC хорошо оптимизированы для решения задач ИНС, они производительнее и работают с меньшим энергопотреблением, чем FPGA. Однако, спроектировать ASIC дорого, и они не могут быть реконфигурируемы в отличии от FPGA. Поэтому FPGA служат прототипом для дальнейшего проектирования дорогостоящих ASIC с глубоким обучением [6]. Оба решения более энергоэффективны по сравнению с графическими процессорами, однако имеют очень ограниченные возможности по масштабированию, имеют меньшую эффективность по энергопотреблению и меньшую производительность в сравнении с нейроморфными процессорами. Данное обстоятельство обусловлено архитектурными ограничениями в виде канала передачи данных между процессором и блоками памяти [17]. Именно это ограничение в настоящее время особенно требует новых подходов за пределами традиционной фон-Неймановской архитектуры.
Импульсные нейронные сети и их преимущества
Третье поколение ИНС “импульсные нейронные сети” (Spiking Neural Network, SNN) появилось в конце 1990-х годов 10. Их дизайн в большей мере соответствовал биологическому устройству нейронных сетей [13]. В отличие от ИНС первого и второго поколения, нейроны в импульсных сетях обмениваются дискретными импульсами одинаковой амплитуды. Импульс выдаётся, если нейроны собирают достаточно данных, чтобы превысить внутренний порог, то есть работают они не постоянно. Такие нейронные структуры обладают большой параллельностью распространения импульса [14]. Теоретически, благодаря этим двум особенностям импульсные сети потребляют меньше энергии и работают быстрее, чем ИНС второго поколения [15]. Выделим некоторые преимущества SSN перед нейросетями первого и второго поколения [13]:
Эффективное моделирование временных, пространственно-временных или спектрально-временных данных;
Эффективное моделирование процессов в разных временных масштабах;
Соединение функций более высокого уровня с генетикой «более низкого» уровня;
Интеграция модальностей, таких как звук и изображение, в одной системе;
Прогностическое моделирование и прогнозирование событий;
Быстрая и массово-параллельная обработка информации;
Компактная обработка информации;
Масштабируемые структуры (от десятков до миллиардов импульсных нейронов);
Низкое энергопотребление, если модель реализована на нейроморфных чипах.
Крупномасштабные SNN могут быть реализованы как в программном симуляторе, таком как NEST с высокопроизводительными вычислениями, так и в нейроморфных чипах [16]. Моделирование SNN, реализованное на классических центральных процессорах (CPU) или графических процессорах (GPU), не оптимально для реализации их потенциала с точки зрения энергоэффективности и параллелизма [16]. SNN могут полноценно демонстрировать свои конкурентные преимущества низкого энергопотребления и массовой параллельной работы только тогда, когда они реализованы на нейроморфных чипах.
О проекте TrueNorth
TrueNorth — это нейроморфный процессор, разработанный в 2014 году компанией IBM при поддержке DARPA. Термин «нейроморфный» обозначает, что архитектура чипа основывается на принципах работы человеческого мозга.
Такое устройство эмулирует работу миллионов нейронов с отростками — дендритами и аксонами. Первые отвечают за восприятие информации, а вторые — за её передачу. При этом все нейроны соединены между собой синапсами — специальными контактами, по которым передаются электрические сигналы (нервные импульсы).
По словам разработчиков из IBM, задачей TrueNorth является ускорение обучения нейросетей. Нейроморфным процессорам, в отличие от классических, не нужно каждый раз обращаться к памяти (или регистрам) и извлекать оттуда данные — вся информация уже хранится в искусственных нейронах.
Как устроены чипы. CPU и GPU на ПК отдельно, у мобильных вместе
В большинстве ПК, особенно домашних, установлены два главных чипа: CPU и GPU. Они физически находятся в разных частях системного блока и в большинстве случаев созданы разными производителями.
CPU расшифровывается как Central Processing Unit и переводится «центральное вычислительное устройство».
Отвечает за сложные и параллельные вычисления инструкций. Без него компьютер не заработает.
GPU расшифровывается как Graphic Processing Unit и переводится «графическое вычислительное устройство».
Формирует и выводит на монитор визуальную информацию, красиво отображает вычисления процессора и его ОС (операционной системы).
Иногда GPU встраивают прямо в CPU, такой элемент слабее и чаще всего служит временной заменой, чтобы вы видели происходящие внутри компьютера размышления, пока ищете замену дискретной видеокарте. Такие поставляются отдельными модулями.
В компактных устройствах железо работает не только на выдачу мощного результата, но и на сохранение энергии. Важно, чтобы устройство не перегрелось из-за избытка тепла от большой вычислительной нагрузки.
Тут встроенная в CPU графика уже главная, дополнительные процессоры, как правило, либо обрезаны в мощности, либо полноценно работают только при подключении к сети. В смартфонах и планшетах дискретного модуля GPU в принципе не бывает.
Единственный управляющий чип становится чем-то больше обычного CPU. Он превращается в комплексную систему.
И Apple уже добилась в этом лидирующей позиции, поэтому стала интегрировать в процессоры новый тип вычислительных транзисторов.
Читайте также: