Как Qualcomm добилась огромных улучшений в области искусственного интеллекта на Snapdragon 865

Qualcomm добилась огромного скачка в производительности искусственного интеллекта с новым процессором Snapdragon 865 SoC. Анализируем изменения, которые внесла Qualcomm для ускорения машинного обучения.

Кажется, что мы не можем прожить и дня, чтобы не увидеть «искусственный интеллект» в новостях, и прошедшая неделя не стала исключением, во многом благодаря Snapdragon Tech Summit. Каждый год Qualcomm представляет множество улучшений, которые она вносит в свой Hexagon DSP и Qualcomm AI Engine. термин, который они используют для всей своей гетерогенной вычислительной платформы — CPU, GPU и DSP — когда говорят об искусственном интеллекте. рабочие нагрузки. Несколько лет назад настойчивое стремление Qualcomm отвести разговор от традиционных тем для обсуждения, таких как ежегодное улучшение производительности процессора, казалось немного странным. Тем не менее, в 2019 году, благодаря Snapdragon 865, мы видим, что гетерогенные вычисления действительно стоят у руля развития мобильных вычислений, поскольку ИИ а рабочие нагрузки с аппаратным ускорением, кажется, проникают во множество вариантов использования и приложений, от социальных сетей до повседневных задач. услуги.

Snapdragon 865 оснащен механизмом искусственного интеллекта Qualcomm 5-го поколения, а вместе с ним и заметными улучшениями в производительности и энергоэффективности — но этого и следовало ожидать. В море спецификаций, показателей производительности, причудливых инженерных терминов и утомительных маркетинговых словечек легко упустить из виду, что на самом деле означают эти улучшения. Что они описывают? Почему эти обновления так важны для тех, кто сегодня внедряет ИИ в свои приложения, и, что, что еще важнее, для тех, кто хочет сделать это в будущем?

В этой статье мы совершим доступный, но подробный обзор Qualcomm AI Engine, рассмотрев его историю, его компоненты, обновления Snapdragon 865 и, самое главное, почему или как каждый из них внес свой вклад в современное использование смартфонов: от забавных фильтров до цифровых помощников.

Hexagon DSP и Qualcomm AI Engine: когда брендинг имеет значение

Хотя мне не удалось присутствовать на технологическом саммите Snapdragon на этой неделе, я, тем не менее, посетил все остальные, начиная с 2015 года. Если вы помните, что Это был год горячего беспорядка, которым был Snapdragon 810, и поэтому журналисты в лофте Челси в Нью-Йорке стремились узнать, как Snapdragon 820 спасет компанию. И это был отличный набор микросхем, да: он обещал здоровое улучшение производительности (без каких-либо ограничений) за счет возврата к проверенным на тот момент пользовательским ядрам, которыми была известна Qualcomm. Однако я также помню очень тонкое объявление, которому, оглядываясь назад, следовало бы уделить больше внимания: Hexagon 680 DSP второго поколения и его расширения Hexagon Vector Extensions для одной инструкции, нескольких данных (SIMD) или ХВХ. Возможно, если бы инженеры не дали этой функции название, она получила бы то внимание, которого заслуживает.

Этот сопроцессор позволяет аппаратным потокам скалярного блока DSP получать доступ к «контекстам» HVX (регистровым файлам) для широких возможностей векторной обработки. Это позволило перенести значительную вычислительную нагрузку с энергоемкого процессора или графического процессора на компьютер. энергоэффективный DSP, позволяющий выполнять задачи визуализации и компьютерного зрения со значительно более высокой производительностью. на милливатт. Они идеально подходят для применения идентичных операций к смежным векторным элементам (изначально целым числам), что делает их подходящими для рабочих нагрузок компьютерного зрения. Ранее мы написали подробную статью о DSP и HVX., отметив, что архитектура HVX хорошо поддается распараллеливанию и, очевидно, обработке больших входных векторов. В то время Qualcomm рекламировала как DSP, так и HVX почти исключительно, описывая улучшения, которые они привнесет в рабочие нагрузки компьютерного зрения, такие как угловой детектор Харриса и другие скользящие окна. методы.

Лишь с появлением глубокого обучения в потребительских мобильных приложениях DSP, его вектор процессоры (а теперь и тензорный ускоритель) будут сочетаться с искусственным интеллектом и нейронными сетями, в особый. Но, оглядываясь назад, это становится очевидным: архитектура цифрового сигнального процессора (DSP), изначально разработанная для обработки цифровых сигналов, реальные или аналоговые входные сигналы, подходят для многих из тех же рабочих нагрузок, что и многие алгоритмы машинного обучения и нейронные сети. сети. Например, DSP адаптированы для ядер фильтров, операций свертки и корреляции, 8-битных вычислений, множества линейная алгебра (векторные и матричные произведения) и операции умножения-накопления (MAC), которые наиболее эффективны, когда распараллелено. Время работы нейронной сети также сильно зависит от умножения больших векторов, матриц и/или тензоров, поэтому вполне естественно, что преимущества производительности DSP четко передаются в архитектуру нейронных сетей, как хорошо. Вкратце вернемся к этой теме!

В последующие годы Qualcomm продолжала подчеркивать, что предлагает не только чипсеты, но мобильные платформы, и что они фокусируются не только на улучшении отдельных компонентов, но при обеспечении «гетерогенных» вычислений. В 2017 году они выпустили SDK Snapdragon Neural Processing Engine (для ускорения выполнения) в сети разработчиков Qualcomm, а в начале 2018 года объявила о выпуске Qualcomm Artificial Intelligence Engine для консолидации нескольких своих аппаратных средств с поддержкой искусственного интеллекта (ЦП, графический процессор, DSP) и программных компонентов в одном имя. Благодаря этой полезной номенклатуре они смогли аккуратно рекламировать свои улучшения производительности ИИ как на Snapdragon 855, так и на Snapdragon 855. Snapdragon 865, способный удобно указывать количество триллионов операций в секунду (TOPS) и процентное соотношение в годовом исчислении. улучшения. Использование улучшений поколений в процессорах, графических процессорах и DSP, каждый из которых ориентирован на искусственный интеллект. обновления - компания может показывать впечатляющие результаты по сравнению с конкурентами, которые мы рассмотрим. в ближайшее время. Благодаря недавним маркетинговым усилиям компании и унифицированным, последовательным сообщениям о гетерогенных вычислениях, их бренд ИИ наконец-то набирает обороты среди журналистов и энтузиастов технологий.

Демистификация нейронных сетей: обыденная куча линейной алгебры

Чтобы разобраться в большом количестве жаргона, с которым мы столкнемся позже в статье, нам понадобится краткое введение в что такое нейронная сеть и что нужно, чтобы сделать это быстрее. Я хочу очень кратко остановиться на некоторых математических основах нейронных сетей, по возможности избегая жаргона и обозначений. Цель этого раздела — просто определить, что делает нейронная сеть, по сути: арифметические операции он выполняет, а не теоретическую основу, оправдывающую указанные операции (это гораздо сложнее!). Не стесняйтесь переходить к следующему разделу, если вы хотите сразу перейти к обновлениям Qualcomm AI Engine.

«Векторная математика — основа глубокого обучения». – Трэвис Ланье, старший директор по управлению продуктами Qualcomm, на Snapdragon Tech Summit 2017.

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

Нейронная сеть состоит из последовательных слои, каждый из которых состоит из нескольких «нейронов» (изображенных на диаграмме кружками), соединенных гири (на схеме изображены линиями). В общих чертах существует три типа слоев: входной слой, который принимает необработанные входные данные; скрытые слои, которые вычисляют математические операции из предыдущего слоя, а выходной слой, который дает окончательные прогнозы. В данном случае у нас есть только один скрытый слой с тремя скрытые юниты. вход состоит из вектора, массива или списка чисел определенной размерности или длины. В примере у нас будет двумерный ввод, скажем [1.0, -1.0]. Здесь выход сети состоит из скаляра или одного числа (не списка). Каждый скрытый блок связан с набором гири и термин предвзятости, показанный рядом и под каждым узлом. Чтобы рассчитать взвешенная сумма выход единицы, каждый вес умножается на каждый соответствующий вход, а затем продукты складываются. Затем мы просто добавим смещение к этой сумме произведений, в результате чего получим выходные данные нейрона. Например, с нашим вводом [1.0,-1.0], первый скрытый модуль будет иметь выходной сигнал 1.0*0.3 + (-1.0) * 0.2 + 1.0 = 1.1. Просто, правда?

Следующий шаг на диаграмме представляет собой функция активации, и это то, что позволит нам создать выходной вектор каждого скрытого слоя. В нашем случае мы будем использовать очень популярный и чрезвычайно простой выпрямленный линейный агрегат или РеЛУ, который принимает входное число и выводит либо (i) ноль, если это число отрицательное, либо ноль (ii) само входное число, если число положительное. Например, РеЛУ(-0,1) = 0, но РеЛУ(0,1) = 0,1. Следуя примеру нашего ввода, поскольку он размножается через этот первый скрытый модуль вычисленный нами результат 1.1 будет передан в функцию активации, что даст РеЛУ(1,1)=1,1. Выходной слой в этом примере будет функционировать так же, как скрытый модуль: он будет умножать выходные данные скрытых модулей на их веса, а затем добавлять свой член смещения 0.2. Последняя функция активации, ступенчатая функция, превратит положительные входные значения в 1, а отрицательные значения в 0. Зная, как работает каждая из операций в сети, мы можем записать полное вычисление нашего вывода следующим образом:

Это все, что нужно для наших вычислений нейронной сети прямого распространения. Как вы можете видеть, операции почти полностью состоят из произведений и сумм чисел. Наша функция активации РеЛУ(х) также может быть реализовано очень легко, например, просто вызвав макс (х, 0), так что он возвращает x всякий раз, когда входное значение больше 0, а в противном случае возвращает 0. Обратите внимание, что шаг (х) можно вычислить аналогично. Существует множество более сложных функций активации, таких как сигмоидальная функция или гиперболический тангенс, включающий различные внутренние вычисления и лучше подходящий для разных целей. Еще одна вещь, которую вы уже можете заметить, это то, что мы также может запускать вычисления трех скрытых модулей и их приложения ReLU параллельно, так как их значения не нужны одновременно до тех пор, пока мы не вычислим их взвешенную сумму на выходном узле.

Но нам не нужно останавливаться на достигнутом. Выше вы можете увидеть те же вычисления, но на этот раз вместо них представлены операции умножения матриц и векторов. Чтобы прийти к такому представлению, мы «увеличиваем» наш входной вектор, добавляя к нему значение 1,0 (более светлый оттенок), так что, когда мы помещаем наш веса и нашего смещения (более светлый оттенок) в матрице, как показано выше, результирующее умножение дает ту же самую скрытую единицу выходы. Затем мы можем применить ReLU к выходному вектору поэлементно, а затем «дополнить» выход ReLU, чтобы умножить его на веса и смещение нашего выходного слоя. Такое представление значительно упрощает обозначения, поскольку параметры (веса и смещения) всего скрытого слоя могут быть объединены в одну переменную. Но самое главное для нас, это дает понять, что внутренние вычисления сети по существу представляют собой умножение матриц и векторов или скалярное произведение. Учитывая, как размер этих векторов и матриц масштабируется в зависимости от размерности наших входных данных и количества параметров в нашей сети, большая часть времени выполнения будет потрачена на такого рода вычисления. Куча линейной алгебры!

Наш игрушечный пример, конечно, очень ограничен по объему. На практике современные модели глубокого обучения могут иметь десятки, если не сотни скрытых слоев и миллионы связанных параметров. Вместо нашего примера двумерного векторного ввода они могут принимать векторы с тысячами элементов: в различных формах, таких как матрицы (например, одноканальные изображения) или тензоры (трехканальные RGB-изображения). изображений). Также ничто не мешает нашему матричному представлению одновременно принимать несколько входных векторов путем добавления строк к исходному входу. Нейронные сети также могут быть «подключены» иначе, чем наша нейронная сеть прямого распространения, или выполнять другие функции активации. Существует огромный зоопарк сетевых архитектур и технологий, но, в конце концов, они по большей части разобьем на те же параллельные арифметические операции, которые мы видим в нашем игрушечном примере, только в гораздо большем масштабе.

Наглядный пример слоев свертки, работающих с тензором. (Изображение предоставлено: На пути к науке о данных)

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

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

Модернизированный механизм искусственного интеллекта на Snapdragon 865 – краткий обзор улучшений

Благодаря этому удобному пониманию компонентов нейронной сети и их математических операций мы можем начать понимать, почему аппаратное ускорение так важно. В последнем разделе мы можем заметить, что распараллеливание жизненно важно для ускорения работы сети. позволяет нам, например, вычислить несколько параллельных скалярных произведений, соответствующих каждому нейрону активация. Каждое из этих скалярных произведений само по себе состоит из операций умножения-сложения чисел, обычно с 8-битной точностью в случае мобильных приложений, которые должны выполняться как можно быстрее. AI Engine предлагает различные компоненты для разгрузки этих задач в зависимости от соображений разработчика о производительности и энергоэффективности.

Схема CNN для популярного набора данных MNIST, показанная на сцене саммита Snapdragon в этом году. Блок векторной обработки хорошо подходит для полносвязных слоев, как в нашем тестовом примере. Тем временем тензорный процессор обрабатывает сверточные слои и слои пула, которые обрабатывают множественные скольжения. ядра параллельно, как на диаграмме выше, и каждый сверточный слой может выводить множество отдельных функций. карты.

Во-первых, давайте посмотрим на графический процессор, о котором мы обычно говорим в контексте 3D-игр. Потребительский рынок видеоигр на протяжении десятилетий стимулировал разработку оборудования для обработки графики, но почему графические процессоры так важны для нейронных сетей? Во-первых, они одновременно просматривают огромные списки трехмерных координат вершин многоугольников, чтобы отслеживать состояние игрового мира. Графический процессор также должен выполнять гигантские операции умножения матриц для преобразования (или отображения) этих 3D-изображений. координаты в плоские 2D-экранные координаты, а также обрабатывать информацию о цвете пикселей в параллельно. В довершение ко всему, они предлагают высокую пропускную способность памяти для обработки огромных буферов памяти для растровых изображений текстур, наложенных на игровую геометрию. Его преимущества в распараллеливании, пропускной способности памяти и, как следствие, возможностях линейной алгебры соответствуют требованиям к производительности нейронных сетей.

Таким образом, линейка графических процессоров Adreno играет большую роль в Qualcomm AI Engine, и на сцене Qualcomm заявила, что этот обновленный компонент Snapdragon 865 позволяет в два раза больше возможностей работы с плавающей запятой и в два раза больше TOPS по сравнению с предыдущим поколением, что удивительно, учитывая, что они продемонстрировали прирост производительности при рендеринге графики всего на 25%. Тем не менее, в этом выпуске компания может похвастаться Увеличение на 50% количества арифметико-логических блоков (АЛУ), хотя, как обычно, они не раскрыли частоты своего графического процессора. Qualcomm также перечислила устройства смешанной точности. инструкции, и это именно то, на что это похоже: различная числовая точность операций в одном вычислительном методе.

Hexagon 698 DSP — это то, где мы видим огромный прирост производительности, предлагаемый Snapdragon 865. В этом году компания не сообщила об улучшениях векторных расширений своего DSP (чья производительность увеличилась в четыре раза по сравнению с прошлогодним 855), а также своих скалярных модулей. Тем не менее, они отмечают, что для тензорного ускорителя этого блока они достигли в четыре раза больше ТОПов по сравнению с версией, представленной в прошлом году в Hexagon 695 DSP, и в то же время может предложить Энергоэффективность выше на 35 %. Это очень важно, учитывая распространенность архитектур сверточных нейронных сетей в современных сценариях использования ИИ, начиная от обнаружения объектов изображения и заканчивая автоматическим распознаванием речи. Как объяснялось выше, операция свертки в этих сетях создает двумерный массив выходных матриц для каждого фильтра, а это означает, что при объединении вместе выходные данные слоя свертки представляют собой 3D-массив или тензор.

Qualcomm также продвигала свои «новые и уникальные» сжатие полосы пропускания глубокого обучения техника, которая, по-видимому, может сжимать данные без потерь примерно на 50%, что, в свою очередь, перемещает половину данных и освобождает полосу пропускания для других частей набора микросхем. Он также должен экономить электроэнергию за счет снижения пропускной способности данных, хотя нам не предоставили никаких цифр, и для сжатия данных также должны потребоваться небольшие затраты энергии.

Что касается пропускной способности, Snapdragon 865 поддерживает Память LPDDR5, что также повысит производительность ИИ, поскольку увеличит скорость передачи ресурсов и входных данных. Помимо аппаратного обеспечения, новинка Qualcomm Набор инструментов для повышения эффективности моделей искусственного интеллекта делает легким сжатие модели и, как следствие, экономию энергии, доступную разработчикам. Нейронные сети часто имеют большое количество «избыточных» параметров; например, они могут сделать скрытые слои шире, чем нужно. Таким образом, одна из функций AI Toolkit, обсуждаемая на сцене, такова: сжатие модели, причем двумя из упомянутых методов являются пространственное разложение по сингулярным значениям (SVD) и байесовское сжатие, оба из которых которые эффективно сокращают нейронную сеть, избавляясь от избыточных узлов и корректируя структуру модели как необходимый. Другой метод сжатия модели, представленный на сцене, связан с квантованием и включает в себя изменение числовой точности весовых параметров и вычислений узла активации.

Числовая точность весов нейронной сети зависит от того, сохраняются ли числовые значения, используемые для вычислений, как 64, 32, 16 (половинная точность) или 8-битные значения. Использование более низкой числовой точности (например, INT8 по сравнению с FP32) снижает общее использование памяти и скорость передачи данных, обеспечивая более высокую пропускную способность и более быстрые выводы. Многие современные приложения глубокого обучения перешли на модели с 8-битной точностью для вывода, что может показаться Удивительно: разве более высокая числовая точность не позволит делать более «точные» прогнозы в классификации или регрессии? задания? Не обязательно; более высокая числовая точность, особенно во время вывода, может быть потрачена впустую, поскольку нейронные сети обучены справляться с зашумленными входными данными или в любом случае небольшие нарушения во время обучения, а ошибка в представлении заданного значения (FP) в младших разрядах является равномерно «случайной». достаточно. В каком-то смысле низкая точность вычислений рассматривается сетью как еще один источник шума, и прогнозы остаются пригодными для использования. Помимо эвристических объяснений, вполне вероятно, что вы получите штраф за точность при плохом квантовании модели. без учета некоторых важных соображений, поэтому много исследований посвящено предмет

Вернемся к набору инструментов Qualcomm AI Toolkit: с его помощью они предлагают квантование без данных, что позволяет квантовать модели без точной настройки данных или параметров, сохраняя при этом производительность модели, близкую к исходной, при выполнении различных задач. По сути, он адаптирует весовые параметры для квантования и исправляет ошибку смещения, возникающую при переключении на веса с более низкой точностью. Учитывая преимущества квантования, автоматизация процедуры при вызове API упростит создание и развертывание модели, утверждает Qualcomm. более чем в четыре раза выше производительность на ватт при запуске квантованной модели.

Но опять же, это не шокирует: модели квантования могут предложить огромные преимущества в пропускной способности и хранилище. Преобразование модели в INT8 не только дает вам четырехкратное сокращение пропускной способности, но и дает преимущество в более быстрых целочисленных вычислениях (в зависимости от оборудования). Таким образом, совершенно очевидно, что аппаратно-ускоренные подходы как к квантованию, так и к численным вычислениям дадут огромный прирост производительности. В своем блогеНапример, Пит Уорден из Google написал, что сотрудничество между командами Qualcomm и Tensorflow позволяет 8-битным моделям работать до в семь раз быстреена HVX DSP, чем на ЦП. Трудно переоценить потенциал простого в использовании квантования, особенно учитывая, насколько Qualcomm сосредоточилась на производительности INT8.

Процессор Kryo на базе ARM Snapdragon 865 по-прежнему является важным компонентом механизма искусственного интеллекта. Несмотря на то, что аппаратное ускорение, обсуждаемое в предыдущих параграфах, предпочтительнее, иногда мы невозможно избежать приложений, которые не используют эти блоки должным образом, что приводит к перегрузке ЦП. отступать. В прошлом ARM вводила специальные наборы инструкций, направленные на ускорение матричных и векторных вычислений. В процессорах ARMv7 мы увидели появление ARM NEON, расширения архитектуры SIMD, позволяющего выполнять инструкции, подобные DSP. А с микроархитектурой ARMv8.4-A мы увидели введение инструкции специально для точечных произведений.

Все эти заявленные приросты производительности относятся ко многим рабочим нагрузкам, которые мы описали в предыдущем разделе, но также стоит иметь в виду, что эти обновления Snapdragon 865 только самые последние улучшения возможностей искусственного интеллекта Qualcomm. В 2017 году мы задокументировали утроение возможностей искусственного интеллекта с помощью Hexagon 685 DSP и других обновлений чипсета. В прошлом году они представили свой тензорный ускоритель и интегрированную поддержку функций нелинейности (вроде вышеупомянутого ReLU!) на аппаратном уровне. Они также удвоили количество векторных ускорителей и улучшили производительность скалярного процессора на 20%. Сочетая все это с улучшениями на стороне ЦП, такими как более быстрые операции скалярного произведения благодаря ARM и дополнительные ALU в графическом процессоре, Qualcomm в конечном итоге утроился а также необработанные возможности искусственного интеллекта.

Практические выгоды и расширенные варианты использования

Все эти обновления привели к увеличению возможностей искусственного интеллекта на Snapdragon 865 в пять раз по сравнению с тем, что было всего два года назад. возможно, самое главное, улучшения также привели к повышению производительности на милливатт, важнейшем показателе для мобильных устройств. устройства. На Snapdragon Summit 2019 компания Qualcomm предоставила нам несколько тестов, сравнивающих их AI Engine с двумя конкурентами в различных классификационных сетях. Эти цифры, судя по всему, были собраны с помощью AIMark, кроссплатформенного приложения для сравнительного анализа, которое позволяет сравнивать процессоры Apple A-серии и HiSilicon от Huawei. Qualcomm утверждает, что в этих результатах используется весь механизм искусственного интеллекта, и нам придется подождать, пока появятся новые результаты. тщательный сравнительный анализ, чтобы правильно определить влияние каждого компонента и определить, насколько эти тесты были эффективными. проведенный. Например, указывают ли результаты компании B на резервный процессор? Насколько мне известно, AIMark в настоящее время не использует преимущества NPU Kirin 990, например, на наших устройствах Mate 30 Pro. Но он поддерживает механизм нейронной обработки Snapdragon, поэтому он наверняка воспользуется преимуществами механизма искусственного интеллекта Qualcomm; поскольку это внутреннее тестирование, неясно, правильно ли в тесте используются нужные библиотеки или SDK для конкурентов.

Следует также сказать, что Qualcomm эффективно сравнивает возможности обработки искусственного интеллекта Snapdragon 865 с ранее анонсированными или выпущенными чипсетами. Весьма вероятно, что его конкуренты принесут столь же впечатляющие улучшения производительности в следующем цикле, и если это В этом случае Qualcomm будет удерживать корону всего около полугода с того момента, как устройства Snapdragon 865 появятся на прилавках. Тем не менее, это по-прежнему указывает на то, какие удары мы можем ожидать от Snapdragon 865. Qualcomm в целом очень точна, сообщая об улучшениях производительности и результатах тестов предстоящих выпусков.

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

Что касается энергопотребления, Qualcomm предложила расчетные значения на ватт, чтобы продемонстрировать объем обработки ИИ, возможный при заданном объеме мощности. В лучшем случае (MobileNet SSD) Snapdragon AI Engine может обеспечить удвоенное количество логических выводов при том же бюджете мощности.

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

Во второй день саммита Snapdragon старший технический директор Snapchat Юрий Монастыршин вышел на сцену, чтобы показать, как их новейшие фильтры на основе глубокого обучения значительно ускоряются с помощью Hexagon Direct NN с использованием Hexagon 695 DSP на Snapdragon 865.

Более того, поскольку разработчики получают доступ к более простым реализациям нейронных сетей и все больше приложений начнут использовать методы искусственного интеллекта, варианты использования параллелизма будут уделять больше внимания, поскольку смартфону придется обрабатывать несколько параллельные конвейеры искусственного интеллекта одновременно (либо для одного приложения, обрабатывающего входные сигналы из разных источников, либо для нескольких приложений, работающих отдельно на устройстве). Несмотря на то, что мы видим значительный прирост эффективности энергопотребления в вычислительных процессорах DSP, графическом процессоре и центральном процессоре, Qualcomm Sensing Hub постоянно обрабатывает сценарии использования, прослушивая триггерные слова при очень низком энергопотреблении. Он позволяет контролировать аудио, видео и сигналы датчиков при токе менее 1 мА, позволяя устройству распознавать определенные звуковые сигналы (например, плач ребенка) помимо знакомых ключевых слов цифрового помощника. При этом Snapdragon 865 позволяет распознавать не только ключевое слово, но и того, кто его произносит, чтобы идентифицировать авторизованного пользователя и действовать соответствующим образом.

Больше искусственного интеллекта на периферийных устройствах

Эти улучшения могут в конечном итоге привести к ощутимым преимуществам для вашего пользовательского опыта. Услуги, включающие перевод, распознавание и маркировку объектов, прогнозирование использования или рекомендации по предметам, понимание естественного языка, анализ речи и т. д. позволят работать быстрее и потреблять меньше ресурсов. власть. Наличие более высокого вычислительного бюджета также позволяет создавать новые варианты использования и возможности, а также переносить процессы, которые раньше выполнялись в облаке, на ваше устройство. Хотя в прошлом термин «ИИ» использовался сомнительными, обманчивыми и даже ошибочными способами (даже OEM-производителями), Многие из ваших услуг, которыми вы пользуетесь сегодня, в конечном итоге в той или иной форме полагаются на алгоритмы машинного обучения. другой.

Но помимо Qualcomm, другие производители чипсетов также быстро совершенствуются в этом направлении. Например, 990 5G имеет конструкцию ядра NPU 2+1, что обеспечивает производительность до 2,5 раз выше, чем у Kirin 980, и вдвое выше, чем у Apple A12. Когда процессор был анонсирован, было показано, что он обеспечивает вдвое больше кадров (выводов) в секунду. Snapdragon 855 на INT8 MobileNet, что трудно сопоставить с результатами, предоставленными Qualcomm. С другой стороны, Apple A13 Bionic, как сообщается, обеспечила в шесть раз более быстрое умножение матриц по сравнению со своим предшественником и улучшила конструкцию восьмиядерного нейронного двигателя. Нам придется подождать, пока мы не сможем должным образом протестировать Snapdragon 865 на коммерческих устройствах против его нынешних и будущих конкурентов, но это ясно, что конкуренция в этой сфере никогда не остается на месте, поскольку три компании вкладывают массу ресурсов в улучшение своего ИИ. производительность.