Открыть сервис

Apple Neural Engine

Apple Neural Engine (ANE) — это специализированный аппаратный модуль (нейронный процессор, NPU), входящий в состав системы на кристалле (SoC) Apple Silicon, предназначенный для ускорения операций машинного обучения и искусственного интеллекта непосредственно на устройстве. ANE обеспечивает высокопроизводительную обработку задач, связанных с нейросетями, в реальном времени, при этом минимизируя энергопотребление и разгрузкая центральный процессор (CPU) и графический процессор (GPU).

История

Предпосылки создания

До появления ANE обработка задач машинного обучения на устройствах Apple (iPhone, iPad, Mac) выполнялась с использованием CPU и GPU. С ростом сложности и количества приложений, использующих искусственный интеллект (распознавание лиц, обработка фотографий, голосовые помощники), возникла необходимость в специализированном аппаратном ускорителе. Это позволило бы повысить производительность и энергоэффективность, а также обрабатывать данные локально, без отправки их на серверы, что улучшает конфиденциальность.

Первое поколение (A11 Bionic)

В 2017 году Apple представила первый процессор с выделенным нейронным блоком — A11 Bionic, установленный в iPhone 8, iPhone 8 Plus и iPhone X. Этот блок, названный Neural Engine, представлял собой двухъядерный процессор, способный выполнять до 600 миллиардов операций в секунду. Его основными задачами были ускорение работы Face ID, анимации Animoji и улучшение обработки изображений в приложении «Камера».

Последующие поколения

С каждым новым поколением SoC Apple производительность ANE значительно возрастала:

  • A12 Bionic (2018): 8-ядерный Neural Engine, производительность — 5 триллионов операций в секунду. Появился в iPhone XS, XR и iPad Pro (3-го поколения).
  • A13 Bionic (2019): 8-ядерный, производительность — 6 триллионов операций в секунду. Улучшена энергоэффективность.
  • A14 Bionic (2020): 16-ядерный Neural Engine, производительность — 11 триллионов операций в секунду. Впервые использован в iPad Air (4-го поколения) и iPhone 12.
  • M1 (2020): Первый процессор для Mac с 16-ядерным Neural Engine, производительность — 11 триллионов операций в секунду. Обеспечил аппаратное ускорение ИИ на настольных и портативных компьютерах.
  • A15 Bionic (2021): 16-ядерный, производительность — 15,8 триллиона операций в секунду.
  • M2 (2022): 16-ядерный, производительность — 15,8 триллиона операций в секунду.
  • A16 Bionic (2022): 16-ядерный, производительность — 17 триллионов операций в секунду.
  • M3 (2023): 16-ядерный, производительность — 18 триллионов операций в секунду. Поддержка динамического кэширования и аппаратного ускорения трассировки лучей.
  • A17 Pro (2023): 16-ядерный, производительность — 35 триллионов операций в секунду. Первый 3-нанометровый процессор Apple.
  • M4 (2024): 16-ядерный Neural Engine, производительность — 38 триллионов операций в секунду. Установлен в iPad Pro (7-го поколения) и MacBook Pro.

Архитектура и принцип работы

Аппаратная реализация

Apple Neural Engine представляет собой специализированную микросхему, спроектированную для эффективного выполнения операций, характерных для нейронных сетей: умножения матриц, сверток, функций активации и пулинга. В отличие от CPU, который оптимизирован для последовательных вычислений общего назначения, и GPU, который предназначен для параллельной обработки графики, ANE имеет архитектуру, ориентированную на обработку потоков данных в нейросетях.

Программный интерфейс

Для разработчиков доступ к ANE осуществляется через фреймворки Core ML и Create ML (входит в состав Xcode). Core ML позволяет разработчикам импортировать обученные модели машинного обучения (в форматах .mlmodel, .mlpackage) и запускать их на устройстве. Фреймворк автоматически определяет, какие операции могут быть выполнены на ANE, и распределяет нагрузку между CPU, GPU и ANE для достижения максимальной производительности и энергоэффективности. Приложения, использующие Core ML, автоматически получают выгоду от аппаратного ускорения на устройствах с ANE.

Совместимость и ограничения

Не все модели машинного обучения могут быть полностью ускорены ANE. Core ML автоматически анализирует модель и распределяет операции по доступным вычислительным блокам. Если модель содержит операции, не поддерживаемые ANE, они выполняются на CPU или GPU. В некоторых случаях, если модель слишком велика или сложна, ANE может не использоваться вовсе. Apple рекомендует разработчикам оптимизировать модели под ANE, используя инструменты, такие как Core ML Tools (для конвертации моделей из других фреймворков, например, TensorFlow или PyTorch).

Применение

Обработка изображений и видео

  • Распознавание лиц и объектов: ANE используется в приложении «Фото» для распознавания лиц, сцен и объектов, а также для автоматической сортировки и поиска.
  • Улучшение качества фотографий: Алгоритмы вычислительной фотографии (Deep Fusion, Smart HDR, ночной режим) активно используют ANE для обработки нескольких кадров, шумоподавления и улучшения детализации.
  • Редактирование видео: Приложения для видеомонтажа, такие как Final Cut Pro, используют ANE для ускорения эффектов, цветокоррекции и анализа содержимого.

Распознавание речи и обработка текста

  • Голосовой помощник Siri: ANE ускоряет локальное распознавание речи, позволяя Siri обрабатывать запросы без отправки данных на серверы Apple.
  • Клавиатура QuickType: ANE используется для предиктивного ввода текста и автокоррекции.
  • Перевод и обработка естественного языка: Приложения для перевода и анализа текста могут использовать ANE для ускорения работы моделей NLP.

Дополненная реальность (AR)

  • Отслеживание объектов и сцен: ANE обеспечивает быстрое и точное отслеживание движения и распознавание поверхностей в AR-приложениях.
  • Распознавание жестов: ANE используется для распознавания жестов рук и лица в ARKit.

Другие области

  • Здоровье и фитнес: Приложения для мониторинга здоровья, такие как Apple Health, используют ANE для анализа данных с датчиков (например, ЭКГ, акселерометр) и выявления аномалий.
  • Музыка и звук: ANE может использоваться для обработки звука, шумоподавления и создания эффектов в реальном времени.
  • Безопасность: Face ID и Touch ID (в некоторых реализациях) используют ANE для обработки биометрических данных.

Сравнение с конкурентами

Qualcomm Hexagon DSP

Qualcomm, ведущий производитель модемов и SoC для Android-устройств, использует Hexagon DSP (Digital Signal Processor) для ускорения задач машинного обучения. Современные версии Hexagon DSP (начиная с Snapdragon 8 Gen 1) имеют специализированные блоки для нейросетей. Однако архитектура Hexagon DSP отличается от ANE: она основана на векторных процессорах и может быть менее эффективна для некоторых типов нейросетей. Apple ANE, как правило, демонстрирует более высокую производительность на операциях сверточных нейросетей (CNN) и рекуррентных нейросетей (RNN).

Google Tensor Processing Unit (TPU) и Edge TPU

Google разрабатывает TPU для облачных вычислений и Edge TPU для периферийных устройств. Edge TPU используется в Google Pixel и других устройствах на Android. В отличие от ANE, который интегрирован в SoC Apple, Edge TPU часто является отдельным чипом. Google также активно развивает Tensor SoC (например, в Google Pixel 6 и более новых), который включает блок для машинного обучения, аналогичный ANE. Производительность и функциональность этих решений сопоставимы, но экосистема Apple (Core ML, Metal Performance Shaders) обеспечивает более тесную интеграцию с операционной системой и приложениями.

Huawei Kirin NPU

Huawei использует собственный Neural Processing Unit (NPU) в своих SoC Kirin (например, Kirin 990, Kirin 9000). NPU Huawei также предназначен для ускорения ИИ-задач. Производительность NPU Huawei в некоторых тестах была сопоставима или превосходила ANE того же поколения. Однако из-за санкций США, Huawei потеряла доступ к производству современных чипов, что привело к снижению конкурентоспособности.

Критика и ограничения

Зависимость от экосистемы

Основным ограничением ANE является его тесная интеграция с экосистемой Apple. Разработчики, использующие другие фреймворки (например, TensorFlow Lite, PyTorch Mobile), могут столкнуться с трудностями при оптимизации моделей для ANE. Хотя Core ML поддерживает конвертацию моделей, не все операции могут быть эффективно перенесены.

Ограниченная гибкость

ANE спроектирован для выполнения строго определенного набора операций, характерных для нейронных сетей. Он не может выполнять произвольные вычисления, как CPU или GPU. Это означает, что для некоторых задач машинного обучения (например, обучение моделей, работа с графами) ANE может быть неэффективен или вовсе не использоваться.

Отсутствие поддержки обучения на устройстве

В отличие от некоторых конкурентов (например, Google Tensor SoC, который поддерживает обучение на устройстве через TensorFlow Lite), ANE в основном используется для вывода (inference) — выполнения уже обученных моделей. Обучение моделей на устройстве (on-device training) в экосистеме Apple ограничено и в основном выполняется на CPU/GPU. Это ограничение связано с архитектурными особенностями ANE и политикой Apple в отношении конфиденциальности.

Проприетарность

Архитектура ANE является закрытой и не документируется Apple публично. Разработчики не имеют прямого доступа к управлению ANE, а полагаются на Core ML, который автоматически распределяет нагрузку. Это ограничивает возможности тонкой настройки и оптимизации для конкретных задач.

Будущее развитие

Ожидается, что Apple продолжит наращивать производительность ANE в будущих поколениях SoC. Возможные направления развития включают:

  • Увеличение количества ядер и производительности: С каждым новым поколением ANE удваивает или утраивает производительность.
  • Поддержка обучения на устройстве: Внедрение аппаратной поддержки для обучения моделей непосредственно на устройстве.
  • Интеграция с новыми технологиями: Улучшение поддержки моделей трансформеров (например, для больших языковых моделей) и генеративных нейросетей.
  • Улучшение энергоэффективности: Дальнейшее снижение энергопотребления для работы в фоновом режиме и на устройствах с батарейным питанием.

Источники

  • Apple Inc. (2017). «iPhone X — A11 Bionic». Пресс-релиз.
  • Apple Inc. (2020). «Apple M1 — Neural Engine». Техническая документация.
  • Apple Inc. (2021). «Core ML — Machine Learning on Apple Platforms». Документация разработчика.
  • Apple Inc. (2023). «A17 Pro — Neural Engine». Техническая спецификация.
  • AnandTech. (2018). «The Apple A12 Bionic SoC Review: Neural Engine Performance».
  • iFixit. (2020). «Apple M1 Teardown: Neural Engine Die Shot».
  • SemiAnalysis. (2023). «Apple Neural Engine Architecture Deep Dive».

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →