Как Dsp-процессоры ускоряют задачи машинного обучения во встроенных системах

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

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

Понимание DSP процессоров

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

Ключевые архитектурные особенности, которые определяют современный DSP, включают:

Эти конструктивные решения позволяют DSP достигать высокой производительности при доле тактовой частоты процессора, потребляя значительно меньше энергии. Например, типичный DSP, работающий на частоте 500 МГц, может превзойти 2 ГГц процессор для определенного набора задач обработки сигналов при рисовании всего нескольких сотен милливатт. Эта эффективность является основной причиной того, что DSP были внедрены в миллиарды устройств на протяжении десятилетий, от слуховых аппаратов до сотовых базовых станций.

Роль DSP в рабочих нагрузках машинного обучения

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

DSP могут обрабатывать арифметику с фиксированной точкой, что является основным преимуществом для встроенных ML. Квантированные нейронные сети - те, которые используют целые или фиксированные представления вместо плавающей точки - резко уменьшают пропускную способность памяти и энергопотребление при сохранении приемлемой точности. Многие современные DSP включают выделенную аппаратную поддержку целочисленных операций MAC, что делает их идеальными для запуска квантованных моделей из таких фреймворков, как TensorFlow Lite для микроконтроллеров или ONNX Runtime.

Кроме того, DSP часто включают в себя специализированные инструкции, которые непосредственно реализуют общие примитивы нейронных сетей, такие как сверточные фильтры с шагом и расширением, глубинные извилины и приближения функции активации. Это уменьшает количество циклов, необходимых для каждого слоя, и упрощает путь оптимизации программного обеспечения.

Основные преимущества DSP для ML на краю

Архитектурные инновации, в частности, для машинного обучения

В то время как традиционные DSP уже подходят для рабочих нагрузок ML, последние поколения явно включили функции для ускорения глубокого обучения. Эти инновации размывают грань между DSP и блоком нейронной обработки (NPU).

Очень длинные слова (VLIW)

Многие современные DSP, такие как семейство C6000 от TI или серия NeuPro от CEVA, используют конструкции VLIW. Несколько независимых слотов для работы в одной инструкции позволяют компилятору планировать MAC, загружать / хранить и управлять операциями параллельно. В сочетании с глубокими трубопроводами VLIW DSP могут достигать параллелизма на высоком уровне инструкций без сложной внепорядковой логики процессоров, экономя мощность.

Глубокое обучение Coprocessors

Некоторые DSP интегрируют плотно связанные аппаратные ускорители для сверточных нейронных сетей. Например, Cadence Tensilica Vision 5 DSP включает в себя тензорный вычислительный массив для матричных операций, выделенный механизм свертки и аппаратную поддержку функций активации и объединения. Эти блоки работают в сочетании с ядром DSP, разгружая наиболее вычислительные петли, в то время как DSP обрабатывает задачи предварительной обработки и постобработки.

Поддержка квантовых и спаренных моделей

Эффективный ML на DSP в значительной степени зависит от квантования. Новые DSP предоставляют слитые инструкции с множественным добавлением для 8-битных или даже 4-битных целых чисел, удваивая или четырехкратно увеличивая пропускную способность по сравнению с 16-битными или 32-битными операциями. Они также поддерживают оптимизацию с пропущенным нулем, где операции с множественным накоплением, которые включают нулевой вход, полностью пропускаются — распространенный случай в сетях с активацией ReLU, где многие активации становятся нулевыми. Эта эксплуатация с разрежением может значительно уменьшить эффективную задержку.

Сравнение DSP с другими ускорителями ML

Чтобы понять, где подходят DSP, полезно сравнить их с другими популярными аппаратными опциями для встроенного ML: процессоры, графические процессоры, FPGA и NPU.

DSP vs. CPU

ЦП общего назначения являются гибкими, но неэффективными для повторяющихся операций MAC нейронных сетей. ЦП может требовать десятки циклов на MAC из-за опасностей трубопровода и узких мест памяти. DSP выполняют MAC в одном цикле и часто включают SIMD-инструкции для нескольких MAC за цикл. Для непрерывных рабочих нагрузок обработки сигналов DSP может превзойти ЦП на 10-50 ×, потребляя при этом меньше энергии.

DSP vs. GPU

GPU превосходят по массированному параллелизму с сотнями ядер, но они вытягивают десятки на сотни ватт. Для встраиваемых систем с бюджетом мощности в несколько ватт GPU обычно непрактичны. Кроме того, драйверы GPU вводят задержку, которая неприемлема для управления в реальном времени. DSP предлагают гораздо лучшее соотношение производительности на ватт для типичных задач вывода краев, хотя они не могут соответствовать сырой пропускной способности GPU для большой пакетной обработки.

DSP vs. FPGA

FPGA могут быть перенастроены для создания пользовательских паттернов данных для ML, предлагая очень высокую эффективность для конкретной модели. Однако разработка FPGA требует опыта в языках описания аппаратного обеспечения и менее портативна. DSP, будучи процессорами с фиксированной функцией, легче программировать (C/C++ или даже графический дизайн на основе модели) и имеют более богатую программную экосистему. Для быстрого развертывания ML на существующем оборудовании DSP часто более практичны.

DSP vs. NPU (Neural Processing Unit)

NPU - это специализированные ускорители, предназначенные исключительно для вывода нейронных сетей. Они обычно достигают максимальной эффективности для фиксированного набора типов слоев. Однако NPU могут не иметь возможности обработки сигналов общего назначения DSP. Многие встроенные системы должны выполнять не только вывод ML, но и предварительную обработку (например, фильтрацию, FFT, извлечение аудиофункций) и постобработку (например, формирование луча, подавление шума). Один DSP может обрабатывать все эти задачи плюс вывод ML, упрощая аппаратное обеспечение и снижая стоимость BOM.

Приложения во встроенных системах

Универсальность DSP делает их пригодными для широкого спектра встроенных приложений ML в различных отраслях промышленности. Следующие примеры использования иллюстрируют, как DSP ускоряют задачи машинного обучения на практике.

Голосовая и аудио обработка

Умные динамики, слуховые аппараты и системы автомобилей без помощи рук полагаются на DSP для определения ключевых слов, голосовых команд и улучшения звука. Типичный конвейер включает в себя формирование луча (многомикрофонная обработка), снижение шума (адаптивная фильтрация), извлечение функций (MFCC или спектрограммы), а затем небольшую нейронную сеть для обнаружения вейк-слов. DSP обрабатывают весь путь с точностью до микросекунды, позволяя всегда включенным голосовым помощникам, которые потребляют менее 10 мВт. Например, серия TMS320C55x от Texas Instruments широко используется в слуховых аппаратах для запуска классификации шума в реальном времени и сжатия динамического диапазона.

Компьютерное зрение на краю

DSP интегрированы в модули камеры для обнаружения объектов, распознавания лиц и управления жестами в интеллектуальных камерах, дронах и промышленных роботах. Vision DSP от Cadence и CEVA включают в себя специальное оборудование для обработки сигналов изображения (ISP) - демозаика, баланс белого, гамма-коррекция - в сочетании с ускорителем глубокого обучения. Это позволяет одному чипу обрабатывать необработанные данные датчиков вплоть до вывода результатов без отдельного GPU. Например, система Ambarella CV25 на чипе использует процессор видения на основе DSP для запуска нейронных сетей для интеллектуальных камер безопасности со скоростью 30 кадров в секунду при рисовании под 2 Вт.

Слияние датчиков в автономных системах

Автономные транспортные средства и передовые системы помощи водителю (ADAS) объединяют данные с камер, радаров, лидаров и инерционных датчиков. Слияние датчиков включает в себя тяжелую обработку сигналов (фильтрацию, выравнивание времени, калибровку) и обнаружение/отслеживание объектов на основе ML. DSP обеспечивают детерминированные вычисления с низкой задержкой, необходимые для критически важных функций безопасности. Процессор автомобильного зрения NXP S32V234 сочетает четырехъядерный процессор с DSP и ускорителем обработки изображений, что позволяет обнаруживать полосы движения в реальном времени и распознавать пешеходов.

Прогнозное обслуживание в промышленном IoT

При производстве датчики вибрации и температуры контролируют здоровье машин. DSP анализируют FFT и данные временных рядов для обнаружения аномалий с использованием легких моделей обнаружения аномалий (например, автокодеров). Возможность локального запуска вывода на узле датчика уменьшает загрузку данных и позволяет немедленно предупреждать. Серия ADSP-CM40x Analog Devices используется в управлении двигателем и мониторинге состояния, интегрируя как обработку сигналов, так и вывод ML на одном чипе.

Портативные медицинские устройства

Мониторы ЭКГ, носимые фитнес-трекеры и портативные ультразвуковые устройства используют DSP для анализа биосигналов в реальном времени. Модели ML могут классифицировать аритмии, обнаруживать апноэ во сне или оценивать вариабельность сердечного ритма. Низкое потребление энергии и небольшой след имеют решающее значение - DSP позволяют устройствам работать в течение нескольких недель на батарее монетного элемента при выполнении непрерывного вывода. Например, микроконтроллеры MSP430 от Texas Instruments с интегрированными расширениями DSP используются в носимых сердечных пластырях.

Интеграция DSP в встроенные трубопроводы ML

Развертывание модели машинного обучения на DSP включает в себя сквозной конвейер, который выходит за рамки движка вывода. Типичный рабочий процесс включает в себя:

  1. Приобретение данных — датчики (микрофоны, камеры, ИМУ) подают исходные данные через ADC или параллельный интерфейс. DSP часто включают выделенные периферийные устройства, такие как I2S для аудио или MIPI CSI для камер.
  2. Предварительная обработка — Сырье данных обусловлено: фильтрация для удаления шума, оконное отображение для FFT, нормализация или извлечение признаков (например, mel спектрограммы для аудио, изменение размера кадров для зрения). DSP здесь превосходят благодаря своим собственным инструкциям по обработке сигналов.
  3. Inference — Предварительно обработанные данные передаются в нейронную сеть. DSP запускают квантованную модель, слой за слоем, используя аппаратное ускорение для извилин и полностью подключенных слоев.
  4. Постобработка — тензоры вывода преобразуются в осмысленные результаты: softmax для классификации, декодирование ограничивающих коробок для обнаружения объектов, пороговое значение для обнаружения аномалий.
  5. Действие/сообщение — результат запускает привод (например, включает свет, посылает предупреждение) или передается по беспроводной сети.

Многие производители полупроводников предоставляют программные наборы инструментов, которые автоматизируют большую часть этого конвейера. Например, набор инструментов CDNN (Deep Neural Network) от CEVA берет модели от TensorFlow или PyTorch, применяет квантование и генерирует оптимизированный код C для своих ядер DSP. Аналогично библиотека Neural Network for Processors (NNP) от Texas Instruments предлагает оптимизированные ядра для архитектуры C6000.

Проблемы и соображения

Несмотря на свои преимущества, DSP не являются серебряной пулей для каждого встроенного сценария МО. Инженеры должны решать несколько задач:

Будущие тенденции

Эволюция DSP для машинного обучения ускоряется. Несколько тенденций будут формировать следующее поколение встроенного ИИ:

Заключение

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

Поскольку встроенный ML продолжает распространяться в различных отраслях от бытовой электроники до здравоохранения и автомобилестроения, роль DSP будет только расширяться. Инженеры, которые понимают, как использовать архитектуры DSP для рабочих нагрузок ML - включая квантование, оптимизацию памяти и интеграцию с конвейерами обработки сигналов - будут хорошо расположены для создания передовых продуктов, которые расширяют границы того, что возможно на краю. С постоянными инновациями в RISC-V, гетерогенных вычислениях и поддержке редкости, скромный DSP готов оставаться краеугольным камнем встроенного искусственного интеллекта на долгие годы.