#утренняяреплика
В последнее время стало появляться слишком много анонсов всевозможных «нейронных сопроцессоров», «процессоров искусственного интеллекта», «AI-ускорителей», и т. д. Практически все производители мобильных SoC заявляют о наличии или готовящемся релизе NPU (neural processing unit) в своих чипах: Qualcomm, Apple, Huawei, MediaTek и т.д.
Пиарщики и некоторые журналисты порой не стесняются называть наличие таких модулей не иначе как «поддержкой технологий искусственного интеллекта». И, конечно же, такое определение некорректно. В целом складывается впечатление, что люди просто повторяют слова из пресс-релизов, иногда для разнообразия дополняя их другими, тоже не вполне точными терминами.
О чем же на самом деле идет речь?
Во-первых, «искусственный интеллект», это очень и очень спорный термин. Можно даже сказать, что искусственного интеллекта не существует. Как минимум, это вопрос очень дискуссионный и во многом связан с определением «интеллект» вообще. Обсуждая его можно уйти далеко в философские и лингвистические дебри. Не стоит забывать и о том, что слова «intelligence» и «intellect» в английском языке имеют разные значения, но не все переводчики пресс-релизов помнят об этом. Нам важно помнить, что это лишь маркетинговое название для широкого спектра приложений использующих машинное обучение и не более того.
В свою очередь, машинное обучение — это, если очень упрощенно, способ создания алгоритмов, позволяющих находить неявные связи между входящими данными и возможными реакциями системы. Логику работы такого алгоритма определяет не «ручное» описание всех возможных ситуаций, а анализ некоего набора прецедентов из обучающей выборки. К примеру, после анализа большого количества образцов, алгоритм способен опередить границы объекта на фотографии или слова в аудиопотоке.
Реализуются такие алгоритмы на программном уровне и могут выполняться на самых разных процессорах. Но, как показывает практика, тензорные вычисления, которые лежат в основе таких алгоритмов, эффективней выполнять на многоядерных системах способных выполнять большое число операций с пониженной (как правило, до 8 бит) точностью. Именно это обстоятельство привело к популярности использования видеокарт (GPU) в сфере машинного обучения. Однако в мобильных устройствах вопрос энергоэффективности стоит намного острее, чем в десктопных и серверных системах, а GPU заметно слабее. Поэтому производители мобильных чипов стали добавлять специализированные сопроцессоры для решения подобных задач. Начался этот процесс много лет назад, с появлением ISP, DSP и т.д. в составе мобильных платформ (например, Qualcomm Hexagon). То, что мы видим в настоящее время — это эволюция железа и отчасти революция в пользовательском ПО.
Для конечного потребителя наличие таких модулей означает лучшую работу голосовых ассистентов и камер при несколько большем времени работы от батареи. Почти все остальные задачи использующие машинное обучение выполняются на серверах и наличие мощного NPU в клиентском смартфоне никак на них не сказывается.
Попытки выдать панель с часто запускаемыми приложениями или тюнинг планировщика задач за «технологии искусственного интеллекта» мы оставим на совести маркетологов.