Нейронный процессор в смартфоне что это такое
Сейчас во все мобильные процессоры впихивают нейронные модули. Neural Engine в процессорах Apple, DaVinci NPU у HUAWEI, AI Engine в Snapdragon'ах. Но что полезного они делают реально непонятно. Обычно всё сводится к всевозможным безумным бьютификациям и улучшайзерам.
Но нейронки сейчас могут творить абсолютно невероятную дичь! И могут нехило прокачать возможности наших смартфонов.
Сегодня мы покажем для чего в будущем будет использоваться нейронный модуль внутри вашего смартфона и какие крутые фишки можно делать уже сейчас!
Что в итоге?
Не стоит сомневаться по поводу заявленных возможностей искусственного интеллекта и нейронных сетей в процессорах нового поколения. Они действительно сделают наши смартфоны умнее, но о настоящем искусственном интеллекте внутри мобильного устройства речи не идет.
Например, Huawei уже рекламирует свой следующий флагман Mate 10 не как смартфон, а как «интеллектуальную машину». Без злых шуток в сторону Apple с ее A11 Bionic не обошлось, но что значит это словосочетание? На деле Mate 10 окажется таким же iPhone 8 — флагманским смартфоном с процессором, умеющим работать с искусственным интеллектом. Huawei переигрывает.
Алгоритм, таскающий картинки
Но мы то с вами что в кадре может мешать не только забор или человек. В кадре может быть лишним вообще всё! В этом случае поможет вот эта волшебная нейросеть.
Как это чудо работает? В нейронную загружается две вещи, изображение и разбивка на объекты в виде масок. То есть немного руками всё равно придётся поработать, но зато потом начинается настоящая услада.
Сначала нейронка определяет порядок объектов. Потом додумавает форму перегороженных объектов. А щзатем достраивает их!
Дальше остается только наслаждаться: можно передвигать объекты по кадру, менять их порядок, удалить всё что хочешь, и даже добавлять на снимок что-то новое.
Ну что тут скажешь, ждем когда алгоритм научат самостоятельно определять границы объектов и можно заворачивать в мобильное приложение. Революция фотожаб не за горами.
Что такое нейронные сети и как они развивались
Итак, нейронная сеть (также искусственная нейронная сеть, ИНС) — это математическая модель, а также её программное или аппаратное воплощение, которые строятся по принципу организации и функционирования биологических нейронных сетей, то есть сетей нервных клеток живого организма. Это понятие возникло при изучении процессов, протекающих в мозге, и попытках их смоделировать. Сегодня с помощью ИНС решаются такие классы задач, как распознавание, классификация, прогнозирование, оптимизация и сжатие информации, аппроксимация, ассоциативное управление и многие другие [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].
Для чего нужны блоки нейронной обработки
Блоки нейронной обработки уже вовсю внедряют в системы на чипах. Нейронные процессоры служат для обработки математических алгоритмов, расчетов и служат для работы нейронный сетей. NPU разработаны так, чтобы выполнять задачи связанные нейронными сетями намного быстрее чем классический ЦП. Они используют собственную память, не обращаясь в оперативную, для того чтобы ускорить выполнение работы.
Во-первых, нейронные сети в смартфонах используются для обучения операционной системы, ОС учится запоминая поведение (использование смартфона) пользователя. Смартфон учится, запоминая ваше поведение, какие приложения вы используете, как часто вы запускаете ту или иную программу. Во-вторых, машинное обучение используется для достижения лучшего качества фотографии. Это еще одна причина по которой флагманы Huawei стали так круто фотографировать, все благодаря прокаченному NPU в Kirin 990.
Импульсные нейронные сети и их преимущества
Третье поколение ИНС “импульсные нейронные сети” (Spiking Neural Network, SNN) появилось в конце 1990-х годов 10. Их дизайн в большей мере соответствовал биологическому устройству нейронных сетей [13]. В отличие от ИНС первого и второго поколения, нейроны в импульсных сетях обмениваются дискретными импульсами одинаковой амплитуды. Импульс выдаётся, если нейроны собирают достаточно данных, чтобы превысить внутренний порог, то есть работают они не постоянно. Такие нейронные структуры обладают большой параллельностью распространения импульса [14]. Теоретически, благодаря этим двум особенностям импульсные сети потребляют меньше энергии и работают быстрее, чем ИНС второго поколения [15]. Выделим некоторые преимущества SSN перед нейросетями первого и второго поколения [13]:
Эффективное моделирование временных, пространственно-временных или спектрально-временных данных;
Эффективное моделирование процессов в разных временных масштабах;
Соединение функций более высокого уровня с генетикой «более низкого» уровня;
Интеграция модальностей, таких как звук и изображение, в одной системе;
Прогностическое моделирование и прогнозирование событий;
Быстрая и массово-параллельная обработка информации;
Компактная обработка информации;
Масштабируемые структуры (от десятков до миллиардов импульсных нейронов);
Низкое энергопотребление, если модель реализована на нейроморфных чипах.
Крупномасштабные SNN могут быть реализованы как в программном симуляторе, таком как NEST с высокопроизводительными вычислениями, так и в нейроморфных чипах [16]. Моделирование SNN, реализованное на классических центральных процессорах (CPU) или графических процессорах (GPU), не оптимально для реализации их потенциала с точки зрения энергоэффективности и параллелизма [16]. SNN могут полноценно демонстрировать свои конкурентные преимущества низкого энергопотребления и массовой параллельной работы только тогда, когда они реализованы на нейроморфных чипах.
Кекфейс
И напоследок, из того что можно пощупать прямо сейчас! Есть масса нейросетей, оживляющих фотки. Но чтобы поиграться с ними нужно копаться на GitHub или в лучшем случае веб-интерфейсе, короче неудобно.
Но вот недавно появился бот в Телеграм @EORA_kekface_bot, который из любой фотки делает прикольные анимированные гифки. Зачем нужны анимоджи? Если можно свой набор стикеров на все случаи жизни.
Как думаете кто из крупных компаний первый догадается что-то такое сделать? Я ставлю на Samsung, не всё же им за Apple повторять.
Real Time Person Removal
Кстати, уже есть нейронка которая убирает людей из видео! В реалтайме! Вот тебе и кибер версия социального дистанцирования.
Процессор — за что он отвечает и для чего нужен
Центральный процессор или же система на чипе в простонародье называют просто процессором. Он разработан и спроектирован так, чтобы выполнять гибкий круг задач. Процессор в первую очередь отвечает за работу системы Android и приложений внутри ОС.
Кроме того, он отвечает за синхронную работу других чипов на печатной плате. ЦП на борту для обработки данных имеет блоки прогнозирования, регистров и исполнительных блоков. Грубо говоря они отвечают за просчет сложных математических алгоритмов. Регистры содержат биты данных или указатели на память, часто в 64-битных форматах данных.
Мобильные процессоры сейчас по большей части построены на архитектуре ARM, эта платформа сейчас занимает огромный рынок и семимильными шагами вытесняет архитектуру x86. Всеми известная компания Apple уже вовсю начинает переход на своих знаменитых компьютерах Mac и ультрабуков MacBook на собственные процессоры Apple Silicone, которые в свою очередь основаны на ARM архитектуре.
Процессоры на архитектуре ARM на данный момент выпускаются либо с восемью ядрами, из которых чаще всего два производительных и шесть энергоэффективных ядер, предназначенных для повседневных задач. Например в Snapdragon 865 используется схема 1+3+4, из которых первое ядро Cortex-A77 на частоте 2.84 ГГц, три ядра Cortex-A77 на частоте 2.42 ГГц и четыре ядра Cortex-A55 на частоте 1.8 ГГц. В обновленной версии Snapdragon 865+ инженерам удалось достигнуть 3,4 ГГц на старшем ядре.
Заключение
Разделяй и властвуй
Нейронные сети, как правило, имеют многослойную структуру и каждый слой содержит большое количество обрабатывающих узлов. На начальном этапе обработки данные приходят и распределяются между узлами нижнего слоя. После обработки полученных данных каждым из узлов результат передается для обработки узлам следующего слоя. На выходе последнего слоя формируется результат решения поставленной задачи. Соответственно, для решения масштабных задач по описанному алгоритму потребуются значительные вычислительные ресурсы.
Требования, изначально предъявленные к чипу самими разработчиками поставили их в достаточно жесткие рамки: с одной стороны решение должно оказаться энергоэффективным, с другой – оперировать простыми блоками информации. Наконец, чип должен располагать возможностью моделирования различных типов нейронных сетей с учетом поставленных перед ним текущих задач. Все эти требования были успешно реализованы в процессоре Eyeriss.
Ключ к эффективности Eyeriss — минимизация частоты обмена данными между ядрами и внешними банками памяти, операции, связанной с большим энергопотреблением и временными затратами. В то время как ядра традиционных GPU завязаны на один общий банк памяти, каждое ядро Eyeriss располагает собственной памятью. Помимо этого, данные, перед оправкой на соседние ядра проходят процедуру сжатия.
Еще одно достоинство реализуемого алгоритма — возможность ядер “общаться” друг с другом напрямую, минуя “посредника” в виде шины системной памяти. Это критически важная особенность для имитации работы «сверточной нейронной сети» (Convolutional Neural Network – CNN). Вся вычислительная работа, необходимая для распознавания образов и речи, выполняется в Eyeriss локально, без необходимости обращения к сетевым ресурсам, что позволяет обеспечить возможность эффективного функционирования устройства даже в условиях отсутствия внешней сети.
Наконец, еще одним достоинством Eyeriss становится принцип “умного” распределения отдельных вычислительных задач между ядрами в рамках единой решаемой задачи. В своей локальной памяти ядро должно хранить не только данные обрабатываемые узлами, но и данные, описывающие сами узлы. С целью обеспечения максимальной производительности процесса обработки данных, а также для загрузки Eyeriss максимальным объемом данных из основной памяти алгоритм распределения данных обоих типов оптимизируется специально предназначенной для этой цели микросхемой в режиме реального времени с учетом особенностей актуальной нейронной сети.
На мероприятии International Solid State Circuits Conference в Сан-Франциско команда разработчиков, использовав возможности чипа Eyeriss «пользовательского» уровня, продемонстрировала реализацию алгоритма распознавания образов в пределах локальной нейронной сети. Аналогичная задача – отмечается в пресс релизе – была реализована ранее, но на уровне государственных проектов самых современных из созданных нейронных сетей.
«Эта работа очень важна, поскольку демонстрирует, насколько эффективно встроенные процессоры для глубокого изучения способны обеспечить требуемую мощность и производительность оптимизации и принести сложные вычислительные процессы из облака на мобильные устройства» — говорит Майк Полли, старший вице-президент лаборатории мобильных процессоров Innovations Lab Samsung, дополняя: «В дополнение к инновационному комплексу аппаратных решений, исследование специалистов MIT наглядно демонстрирует, как можно сделать встроенное ядро полезным для разработчиков приложений с использованием стандартной сетевой архитектуры AlexNet и Caffe».
Финансирование проекта Eyeriss, начиная с создания подразделения на базе лаборатории MIT, частично осуществлялось на средства американского оборонного ведомства DARPA. Не удивительно, что первым, кто откликнулся на анонс процессора внушительным редакционным материалом, стал известный военный аналитик Патрик Такер (Patrick Tucker). Новые процессоры Eyeriss, установленные на мобильные девайсы солдат США, по его убеждению, будут способны решать сложнейшие вычислительные задачи, связанные с обработкой колоссальных объемов информации без подключения к общей сети.
Так, в настоящее время ВВС США ежесуточно получают с дронов, парящих над Афганистаном, до 1500 часов HD-видео и до 1500 фотографий сверхвысокого разрешения. Причем весь этот нескончаемый поток информации приходится по старинке визуально анализировать операторам, поскольку существующее компьютерное ПО не в состоянии отличить крестьянина, бредущего с палкой по горной тропинке, от террориста с пусковой установкой для управляемых ракет. Для решения подобных задач изначально и начинали создаваться методы машинного обучения, основанные на репрезентационном обучении.
Процессоры Eyeriss идеально подойдут для установки на беспилотные военные дроны, поскольку позволят проводить интеллектуальную обработку массива изображений и видео с применением технологий «глубокого обучения» непосредственно на борту летательного аппарата. При этом отсеянные полезные данные можно было бы отсылать непосредственно в боевые подразделения, действующие в указанном регионе минуя центр анализа оперативной информации.
Краткое резюме
В ходе экспериментов чип Eyeriss продемонстрировал уровень энергоэффективности, в десять раз превосходящий показатели современных мобильных графических чипов. При этом с его помощью оказывается технологически возможно обеспечить работу алгоритмов искусственного интеллекта на устройствах, обладающих компактными размерами – от смартфонов и планшетов — до носимой электроники. Задержки, создаваемые сетями при обмене данными для такого процессора оказываются сводятся к минимуму, поскольку большинство вычислений чип сможет выполнить локально. На базе Eyeriss можно будет создавать не только всевозможные «умные устройства», но и роботов, обладающих некоторой степенью самостоятельности в принятии решений.
Конкретных временных интервалов в течение которых Eyeriss сможет трансформироваться в коммерческий продукт и во всей мощи раскрыть свои возможности на уровне потребителя разработчики из MIT пока не называют. Определенный оптимизм внушает причастность к разработке ведущих специалистов NVIDIA и живой интерес ответственных научных сотрудников из Samsung.
Очертив в первой части весь стек технологий, которые попадают в нейроморфные, в этой статье будет доступно объяснено, что такое нейроморфные процессоры, и какое место они занимают среди всех процессорных технологий. Если у вас вдруг возникнет желание углубиться дальше, то вам сюда. Примеры реализации нейроморфных процессоров приведены в следующей статье цикла здесь.
ИИ как мозг мобильного процессора
Компании хотят, чтобы люди верили, что они разработали умный чип — умеющий самостоятельно думать или тот, который может имитировать человеческий мозг.
Как бы они не хотели, сегодняшние даже самые передовые проекты в этой области не так близки к тому, как об этом заявляют. В реальности все намного скучнее, чем можно подумать. По сути, все текущие процессоры со встроенным искусственным интеллектом просто делают программные задачи более эффективными за счет машинного обучения.
Процессоры с искусственным интеллектом делают программные задачи типа машинного обучения более эффективными, не более того.
Существует важное различие между искусственным интеллектом и машинным обучением, о котором стоит рассказать.
Искусственный интеллект (AI) — это очень широкая концепция, используемая для описания машин, которые могут «думать как люди» или иметь какую-то форму искусственного мозга с возможностями, очень похожими на наши собственные.
Машинное обучение, в свою очередь, является лишь частью компьютерной программы, разработанной с целью обработки данных и принятия решения на основе результатов. На основе этих же результатов машинное обучение может даже прогнозировать будущие исходы, но до возможностей настоящего искусственного интеллекта ему очень далеко.
В помощь машинному обучению также приходят нейронные сети. Это компьютерные системы, предназначенные помогать программам на основе машинного обучения сортировать данные и позволяющие компьютерам классифицировать их подобными людям способами. Речь о таких процессах, как определение местоположения по картинке или определение марки и цвета автомобиля. Нейронные сети и машинное обучение умны, но они определенно не разумны.
Что касается искусственного интеллекта, то в данном случае маркетинговые отделы производителей завышают ожидания. ИИ — это не мозг процессора, а только один из его компонентов. Он повышает производительность и эффективность задач, которые сегодня связаны с умными помощниками. В основном работа ИИ в чипе отвечает за качественное распознавание голоса и изображений, но есть и другие варианты использования.
Obstructional Removal
Начнем с камеры! Сейчас в приложении камеры на любом телефоне, есть масса бесполезных и “интеллектуальных” фич, типа определение сцены. Вот собачка, а вот цветочек говорит нам искусственный интеллект. И что? Мы это и так знаем!
Но вот чего не хватает, так это вот этой штуки: нейросеть удаляет с фотографий мешающие отражения и различные преграды, типа сетчатых заборов. Незаменимая вещь для любителей пофотографировать стройки и зоопарки.
Работает это очень интересно. Рассмотрим пример с отражением.
Во-первых, для того чтобы всё получилось нужно несколько кадров. Зачем? Чтобы вычислить оптический поток пикселей, т.е. движение в кадре. Дальше нейронка понимает, ага вот эти пиксели движутся что-то совсем не туда. Значит это отражение.
А дальше начинается настоящая магия. На основе данных о движении, нейронка восстанавливает два изображения: фон и отражение. Дальше вычитает отражение из фона и готово!
Думаете, такие фичи в смартфонах появятся еще не скоро. Обрадую вас, например в HUAWEI P40 Pro уже показали подобную функцию. Назвали это всё очень по-азиатски - Golden Snap.
Она умеет удалять отражения и даже лишних людей из кадра! По-моему неплохо, ждём теперь реализацию от Гугла а потом и всё подтянутся!
Нейронные сети — новые типы вычислений (NPU)
Возможно, самый большой вопрос, на который предстоит ответить: почему компании внезапно внедрили искусственный интеллект в АО? В чем заключается работа ИИ в процессоре? Почему именно сейчас?
Наверняка вы заметили, что в этом году популярность нейронных сетей, машинного обучения и гетерогенных вычислений значительно возросла. О них говорят везде и всюду, как о будущем мира технологий.
Все это связано с развитием вариантов использования NPU для пользователей смартфонов. Для них эти технологии помогают расширять уже известные возможности. Обработка аудио, изображений и голоса, прогнозирование человеческой деятельности, обработка языков, ускорение результатов поиска, расширенное шифрование данных — и это еще неполный список того, в чем сегодня задействованы системы ИИ.
Чтобы учесть рост вычислений и новых вариантов использования, имеет смысл разработать процессор нового типа, который лучше подходит для таких задач. Именно поэтому ИИ теперь внедряется в мобильные чипы для смартфонов. Он даст разработчикам базовый уровень для программного обеспечения нового поколения.
Графика и все что с ней связано
За графику и отрисовки графического интерфейса в свою очередь отвечает графический ускоритель (графический процессор). В смартфонах по понятным причинам он не такой же, как в привычных ПК.
Графический адаптер служит для тех задач, под которые центральный процессор либо не предназначен, либо для для тех, где ГП справится в разы быстрее. Например, в параллельных задачах, в то время как ЦП подходит для последовательных, ГП способен обработать огромное количество информации выводимое на экран смартфона.
На данный момент существует два основных графических процессора — это Mali от ARM и Adreno от Qualcomm. Также существует ГП PowerVR от Imagination Technologies , который до недавнего времени устанавливался в смартфоны и планшеты от Apple.
Резюме
Таким образом, нейроморфный процессор — это особый процессор, архитектура которого максимально приближена к структуре биологических нейронных сетей, и который создавался специально для оптимизации вычислений импульсных нейронных сетей. Целью развития нейроморфной процессорной архитектуры является достижение способности параллельной обработки информации с энергопотреблением, ограниченным десятками ватт. Для этого память и блоки обработки должны быть объединены (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).
Что такое «нейроморфость»
«Нейроморфным» процессор называют потому, что его архитектура и принципы действия имеют сходство с биологическими нейронными сетями. Эта схожесть является одним из направлений развития нейронных процессоров. В широком смысле нейронный процессор — это специализированный класс микропроцессоров, которые используются для аппаратного ускорения работы алгоритмов искусственных нейронных сетей, компьютерного зрения, распознавания голоса и изображений, машинного обучения и других методов искусственного интеллекта. К классу нейронных процессоров могут относиться разные по устройству и специализации типы чипов, в частности, один из них — нейроморфные процессоры. В отличие от традиционных вычислительных архитектур (фон-Неймановских), логика и устройство нейроморфных процессоров изначально узкоспециализирована для работы именно импульсных нейронных сетей.
Для более глубокого понимания стоит отдельно разобраться с развитием нейронных сетей, так как, не вдаваясь в детали, нейроморфный процессор – это и есть реализация искусственной импульсной нейронной сети на аппаратном уровне.
Чем лучше процессор тем лучше фотографии
Ни для кого не секрет, что качество фотографии зависит не только от сенсора, линз и софта, но и от мощности процессора и блока обработки изображения. Вспомним Google Pixel 4, этот смартфон получил всего одну камеру, но при этом за счет флагманского процессора и фирменного гугловского процессора обработки фото, качество фотографий до сих пор на голову выше чем у многих смартфонов.
В последних смартфонах Huawei (Mate 30 Pro, P40 Pro) работающие на процессорах Kirin 990 являются лучшими фотофлагманами за счет доработанного блока ISP, который позволил улучшить шумоподавление в фото и видео. Это стало возможным благодаря технологии 3D-фильтрацией (BM3D) , обычно она используется в цифровых фотоаппаратах, исходя из этого становится понятно почему флагманы Huawei лучше по части фото чем все конкуренты.
Obstructional Removal
Начнем с камеры! Сейчас в приложении камеры на любом телефоне, есть масса бесполезных и “интеллектуальных” фич, типа определение сцены. Вот собачка, а вот цветочек говорит нам искусственный интеллект. И что? Мы это и так знаем!
Но вот чего не хватает, так это вот этой штуки: нейросеть удаляет с фотографий мешающие отражения и различные преграды, типа сетчатых заборов. Незаменимая вещь для любителей пофотографировать стройки и зоопарки.
Работает это очень интересно. Рассмотрим пример с отражением.
Во-первых, для того чтобы всё получилось нужно несколько кадров. Зачем? Чтобы вычислить оптический поток пикселей, т.е. движение в кадре. Дальше нейронка понимает, ага вот эти пиксели движутся что-то совсем не туда. Значит это отражение.
А дальше начинается настоящая магия. На основе данных о движении, нейронка восстанавливает два изображения: фон и отражение. Дальше вычитает отражение из фона и готово!
Думаете, такие фичи в смартфонах появятся еще не скоро. Обрадую вас, например в HUAWEI P40 Pro уже показали подобную функцию. Назвали это всё очень по-азиатски - Golden Snap.
Она умеет удалять отражения и даже лишних людей из кадра! По-моему неплохо, ждём теперь реализацию от Гугла а потом и всё подтянутся!
Почему 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], которые сегодня требует новых подходов за пределами традиционной фон-Неймановской архитектуры.
Зачем в мобильные процессоры вставляют нейронные сети
Виртуальные голосовые ассистенты стали прорывной технологией в мире программного обеспечения. В их основу легли искусственный интеллект, нейронные сети и различные алгоритмы глубокого обучения, позволяющие помощникам самостоятельно обучаться. Теперь искусственный интеллект пришел в процессоры и начинает развиваться на аппаратном уровне. Это выглядит намного более впечатляюще, чем вы можете себе представить.
Компания Apple представила в этом году свой новый флагманский процессор для мобильных устройств — Apple A11 Bionic со встроенной нейронной системой, предназначенной для отдельной работы с искусственным интеллектом.
Технологический гигант Huawei стал первым среди конкурентов после Apple, кто показал аналогичную разработку — Kirin 970 может похвастаться специальным процессором нейронной обработки. По слухам, Samsung тоже ведет работу над подобным чипом. Ожидается, что таким будет следующий флагман линейки Exynos и, возможно, он дебютирует в Galaxy S9.
Другие известные производители, включая Intel, NVIDIA и прочих также работают над процессорами, поддерживающими работу с искусственным интеллектом. Искусственный интеллект быстро набирает популярность и все больше проникает в привычные для нас технологии, выводя их функциональность на новый уровень и в то же время упрощая работу с ними.
Но, как это обычно бывает, производители смартфонов используют различные маркетинговые уловки, чтобы выставить себя в лучшем свете. Сегодня мы разберемся, существует ли искусственный интеллект в мобильных чипах на самом деле и как это работает в действительности.
Система на чипе — сердце вашего смартфона
Подобная схема объединения важных компонентов на одной печатной плате значительно помогает в удешевление производства смартфона, а также способствует наилучшему энергопотреблению. К процессору (SoC) впоследствии подключаются остальные компоненты смартфона.
Приведу небольшой список модулей, которые установлены в системе на кристалле.
- Центральный процессор (ЦП) — «сердце» SoC. Выполняет основные инструкции и алгоритмы операционной системы и приложений
- Графический процессор (GPU) — выполняет задачи, связанные с графикой, отрисовка графической оболочки операционной системы, пользовательский интерфейс в приложениях, а также обрабатывают 2D и 3D графику.
- Блок обработки изображений (ISP) — преобразует данные полученные с камеры смартфона в фотографии и видео.
- Цифровой сигнальный процессор (DSP) — выполняет более сложные математические функции, чем центральный процессор. Производит распаковку музыкальных файлов и анализ данных датчика гироскопа.
- Блок нейронной обработки (NPU) — широко применяемый модуль, используемый в смартфонах среднего и высшего сегмента. Служит для аппаратного ускорения работы алгоритмов нейронных сетей, компьютерного зрения, распознавания по голосу, машинного обучения и других методов искусственного интеллекта.
- Видеокодер / декодер — обеспечивает энергоэффективное преобразование видеофайлов и форматов.
- Модемы — преобразует беспроводные сигналы в данные, понятные вашему телефону. Компоненты включают модемы сотовой связи, WiFi и Bluetooth.
Также важно знать, что система на чипе, как и любой другой чип производится по определенному техпроцессу. Техпроцесс — это технологический процесс изготовления полупроводниковых материалов. Совершенствование технологии позволяет улучшить характеристики полупроводников (размеры, энергопотребление, рабочие частоты, стоимость) .
На сегодняшний день, мобильные процессоры построенные на архитектуре ARM, выполнены по 7-нм техпроцессу, но уже сейчас ведется освоение производства полупроводников по 5-нм техпроцессу.
Итоги
Естественно, то о чём мы рассказали - это капля в море. В плене нейронок, что-то интересное происходит каждый день.
Например недавно Google показал чат-бот, который умеет осознанно общаться на любые темы! И его не отличить от человека.
Ребята сделали дипфейк Илона Маска в Zoom'е. То есть можно им стать, общаясь с друзьями в видеочате.
А еще, добрые люди омолодили, Мону Лизу и, “наше всё” Александра Сергеевича Пушкина.
Приветствуем наших читателей на страницах блога iCover! На прошедшей в начале февраля в Сан-Франциско Международной конференции International Solid State Circuits Conference (ISSCC-2016) группа разработчиков из MIT (Massachusetts Institute of Technology) продемонстрировала действующий прототип чипа нового поколения Eyeriss, создававшегося как концептуальное решение, позволяющее воссоздавать возможности алгоритмов нейронных сетей в широком спектре устройств малой мощности.
Одной из объективных причин, по которой искусственные нейронные сети не получили должного развития в наших смартфонах или планшетах – отсутствие компактного источника питания достаточной мощности. Ведь так называемые brain-like, “мозгоподобные” системы искусственного интеллекта, по крайне мере в том виде, в котором они представлены современными технологиями зависят в своей работе от мощных многоядерных процессоров, потребляющих в сравнении с нашим мозгом, невероятное количество энергии. Представить себе подобные решения на уровне устройств пользовательского класса во всяком случае до недавнего времени возможным не представлялось. Вместе с тем, идея “миниатюризации” искусственного интеллекта будоражит умы разработчиков достаточно давно и, как выясняется, уже приносит свои достаточно ощутимые плоды.
Нейронные сети оказались в центре внимания ученых с первых дней исследования искусственного интеллекта, но в 1970-х, они были несколько забыты. В последнее десятилетие, технологии, связанные с использованием возможностей нейронных сетей изучаются на уровне программ «глубокого обучения» (Deep learning).
«Глубокое обучение имеет множество сфер применения, таких как распознавание объекта, речи или лиц» — отмечают Вивьен Зи (Vivienne Sze) и Эмануэль Е. Ландсман (Emanuel E. Landsman) — доцент кафедры Массачусетского технологического института электротехники и компьютерных наук, группа которого разработала новый чип. «Сейчас, нейронные сети довольно сложны и, работают, в основном, на мощных чипах. Представьте себе, что вы сможете перенести эту функциональность на свой мобильный телефон или встроенное устройство и затем обрабатывать колоссальные массивы информации не используя Wi-Fi — соединение. Обработка больших массивов данных на вашем смартфоне позволит избежать задержки, возникающей за счет обмена данных с сетью, что, в свою очередь, позволит многим приложениям работать значительно эффективнее. А кроме того, предложенное решение позволит обеспечить новое качество защиты конфиденциальной информации».
Новый чип, названный разработчиками «Eyeriss», может найти широкое применение в «Интернете вещей», носимой электронике, самоуправляемых транспортных средствах, производственном оборудовании, и даже в сельском хозяйстве, помогая с решением и координацией текущих задач. С алгоритмами искусственного интеллекта на борту мобильные устройства смогут принимать решения на локальном уровне, предоставив пользователю в качестве руководства к действию уже готовый результат, а не набор “сырых” данных из сети интернет. И, конечно, одно из применений локальных нейронных сетей – их использование при создании автономных роботов самого разного назначения.
Эффективность — это ключ
Новые чипы с искусственным интеллектом не просто обеспечивают большую вычислительную мощность. Они также создаются для повышения эффективности в трех основных областях: размер кристалла, уровень вычислений и энергоэффективность.
Сегодняшние системы на чипе топового класса комплектуются десятками компонентов, начиная от драйверов для дисплея и заканчивая встроенным модемом связи. Все это должно вписаться в один маленький кристалл без ограничений по мощности, не обходясь при этом в кругленькую сумму (читайте о законе Мура для получения дополнительной информации). Разработчики процессоров должны придерживаться этих правил при внедрении новых возможностей типа обработки нейронными сетями и собственной системы искусственного интеллекта.
Выделенный процессор искусственного интеллекта (NPU) в системе на чипе смартфона разработан для вычислительной энергоэффективности и определенного подмножества математических задач.
Вместо создания новых, более мощных ядер лучше разработать отдельный выделенный компонент, который может эффективно обрабатывать определенный набор задач.
Мы видели подобное уже много раз за всю историю развития процессоров (вспомните дополнительные модули с плавающей точкой в первых чипах и, например, процессор обработки сигналов Hexagon DSP во флагманских моделях Qualcomm). Сейчас DSP не так популярны из-за быстрой смены вычислительной мощности, однако повышение энергоэффективности и машинное обучение восстанавливают этот спрос.
Краткий экскурс об устройстве процессоров современных смартфонов
Процессор или же чипсет, иначе говоря система на чипе (SoC), неотъемлемая часть любого устройства, будь то робот пылесос или умные колонки. В этой статье мы более подробно разберем, что такое система на чипе, но при этом постараемся рассказать так, чтобы было понятно любому рядовому пользователю.
На рынке мобильных устройств существует десятки различных процессоров. И это не привычные процессоры, которые устанавливаются в ПК. SoC или же система на чипе содержит в себе память, различные блоки обработки, модемы и многое другое и все это распаяно на одной небольшой плате.
Сильные стороны архитектуры нейроморфного процессора
В настоящее время направление нейроморфных процессоров вызывает огромный интерес во всем мире, и такие чипы постепенно становятся доступными для научного и промышленного использования. Параллельно с доступностью чипов ученые в сфере искусственного интеллекта улучшают и открывают новые и более эффективные механизмы обучения импульсных нейросетей.
Под нейроморфными процессорами, как правило, понимают сверхбольшие интегральные схемы (СБИС), предназначенные для моделирования импульсных нейронных сетей. Ключевое отличие архитектуры нейроморфных процессоров от традиционной фон-Неймановской архитектуры заключается в том, что в них память и вычислительные ядра объединены, поэтому расстояния передачи данных сведены к минимуму, что минимизирует задержки и расход энергии при постоянных переносах данных от процессора в память и обратно в ходе вычислений. В то время как системы классической фон-Неймановской архитектуры — это многомодульные системы, состоящие из блоков обработки, ввода/вывода и памяти, которые взаимодействуют друг с другом через различные логические элементы исключительно последовательно [17]. И в силу того, что большинство вычислений в нейронных сетях основано на потоке данных, постоянное переключение между блоками обработки и блоками памяти ястановится крайне узким местом, которое значительно влияет на производительность такой системы в целом [6] [13].
Кто производит мобильные процессоры
На сегодняшний день главным производителем мобильных процессоров является Qualcomm. Следом идет Mediatek и Samsung, а также Huawei, которые в скором времени из-за санкций США прекратят разработку и производство фирменных процессоров Kirin.
Итак, Qualcomm выпускает мобильные процессоры для флагманов, среднячков и бюджетных смартфонов. Флагманские процессоры представляют линейку Snapdragon 8xx. Процессоры среднего сегмента входят в 600-ю и 700-ю серию. Некоторые из этих чипов могут иметь постфикс с 5G или с буквой “G”, первое обозначение означает поддержку сетей пятого поколения, буква “G” в название чипа означает что он заточен под игры. Процессоры начального уровня относятся к 400-й серии.
Samsung также производит чипсеты для различных сегментов. Флагманская серия относится к 900-й серии, последний процессор Exynos 990, он установлен в Galaxy S20/ Note 20. В бюджетных смартфонах устанавливают процессоры с номером Exynos 7904 и Exynos 9610
Помимо вышеперечисленных процессоров существуют чипы от всем известной компании Mediatek. Их решения чаще всего можно встретить в бюджетных и среднебюджетных смартфонах, например в OPPO Reno 3. Mediatek производит платформы с именем Helio, существует основная линейка “P”, линейка нацеленная на игры под индексом “G”, а совсем недавно были представлены процессоры под именем Dimensity с поддержкой 5G .
Читайте также: