Що означає «field programmable array»?

Повний термін — Field Programmable Gate Array (FPGA), програмована користувачем вентильна матриця. FPGA реалізує конфігуровану цифрову логіку, а NPU прискорює підтримувані операції нейронних мереж. Вибір залежить від реального тракту сигналу. Обробка сигналів у FPGA може бути корисною для паралельних інтерфейсів або збирання з жорсткими часовими вимогами, тоді як NPU може спростити підтримуване навантаження інференсу.

Від налагоджувальної плати FPGA до спеціалізованого виробу

Плата FPGA підтверджує лише частину системи. Індивідуальний проєкт також потребує послідовності ввімкнення живлення, тактування, інтерфейсів пам’яті, теплового розрахунку й відтворюваної методики випробувань. Порівняйте витрати на проєктування та перевірку FPGA з архітектурою MPU або SoC FPGA. Вартість FPGA включає інженерну роботу, інструменти, складність плати й виробничі тести, а не лише мікросхему.

Що таке AI MPU?

Платформа MPU із підтримкою штучного інтелекту поєднує прикладний мікропроцесор із програмним забезпеченням і ресурсами прискорення, необхідними для робочого навантаження машинного навчання. Почніть із визначення того, які завдання належать ЦП, а для яких – підтримуваний прискорювач.

MPU, або прикладний мікропроцесор, зазвичай є центром програмного забезпечення вбудованої системи Linux. «AI MPU» — це не окрема категорія процесорів, а платформа MPU, яка включає або тісно співпрацює з ресурсами прискорення, такими як NPU, GPU, DSP або FPGA. MPU містить Linux, мережі, сховище, служби безпеки, логіку додатків і середовище виконання, яке координує робочі навантаження ШІ.

Для машинного навчання MPU практичне питання полягає не лише у швидкості ЦП. Пропускна здатність пам’яті, підтримка прискорювача, якість камери та високошвидкісних I/O, Linux BSP, довгострокова доступність, тепловий дизайн і зрілість моделі інструментального ланцюга часто важливіші, ніж заголовне значення TOPS.

Що робить MPU хорошою платформою штучного інтелекту?

Найкращий MPU для штучного інтелекту залежить від робочого навантаження. Візуальний шлюз може надавати пріоритет MIPI CSI, апаратним відеоканалам і NPU. Надійному місійному комп’ютеру може знадобитися PCIe, кілька портів Ethernet, детерміновані супутні ядра та потужніші функції безпеки. Промислова платформа може цінувати довгий термін служби продукту, TSN, CAN-FD і стабільну екосистему Linux.

Порівняйте фактичну модель і повний ланцюжок попередньої обробки. Платформа з нижчим заявленим показником прискорювача може виграти, якщо вона уникає копій пам’яті, підтримує необхідні оператори та зберігає ефективність шляху від датчика до результату.

NPU: ефективний нейронний висновок на краю

Край NPU прискорює оператори нейронної мережі, такі як згортки, матричні операції та загальні функції активації. Зазвичай це найефективніше місце для підтримуваних моделей виявлення, класифікації, сегментації та виділення ознак, коли потужність і пропускна здатність стійкого висновку мають значення.

Продуктивність NPU залежить від компіляції та покриття оператора. Непідтримувані рівні можуть повернутися до ЦП або іншого прискорювача. Вимоги до квантування, розташування тензорів, роздільна здатність введення та переміщення пам’яті також можуть кардинально змінити реальну продуктивність. Завжди порівнюйте графік виробництва, а не покладайтеся лише на теоретичний TOPS.

FPGA: детерміновані конвеєри та штучний інтелект, де гнучкість має значення

FPGA вирізняється детермінованим переміщенням даних, користувацькими інтерфейсами та масивними паралельними конвеєрами. У периферійних системах він може десеріалізувати датчики, вирівнювати мітки часу, фільтрувати дані, генерувати цікаві області, виконувати попередню обробку зображень і подавати прискорювач із передбачуваною затримкою. Штучний висновок FPGA також можливий, коли модель добре відповідає доступному DSP, пам’яті та стеку прискорення постачальника.

Компромісом є інженерні зусилля. Проект RTL або HLS, моделювання, час закриття, верифікація та стратегія оновлення повинні бути сплановані. Слід вибрати FPGA, тому що детермінована поведінка або спеціальний паралелізм створює цінність системи, а не просто тому, що він може виконувати арифметику.

NPU проти FPGA для edge AI

Рішення NPU проти FPGA часто є помилковим двійковим кодом. NPU, як правило, є простішим вибором для підтримуваних нейронних мереж і високої продуктивності на ват. FPGA є сильнішим, коли системі потрібні користувацькі інтерфейси датчиків, детермінована попередня обробка, незвичайні формати даних або суворо контрольований конвеєр до і після висновку.

Загальна архітектура використовує обидва: FPGA для прийому даних із датчика та попередньої обробки, NPU для нейронної мережі та MPU для оркестровки Linux. Це зменшує кількість нестандартної роботи, яка виконується будь-яким процесором.

РесурсОптимальне навантаженняОсновні обмеження
FPGAДетерміновані конвеєри, настроювані I/O, часові мітки, попередня обробка, спеціалізоване прискоренняРобота RTL/HLS, перевірка, ресурси пристрою
NPUПідтримується нейронний висновок із хорошою продуктивністю на ватПідтримка оператора, компілятор/виконання, квантування та переміщення пам'яті
MPUПрограми Linux, мережа, сховище, кібербезпека, оркестровкаМенш детерміноване виконання; накладні витрати загального призначення
Ядро MCU / RTКонтури керування, контроль безпеки, послідовність живлення, детермінований I/OОбмежена пам'ять і обчислення високого рівня
FPGAI/O
NPUAI
MPULinux · I/O

Практичний спосіб розділити архітектуру Edge AI

  1. Почніть з дедлайнів: визначити, які сигнали мають жорсткі вимоги до синхронізації та максимальну затримку від датчика до дії.
  2. Швидкість даних карт: обчислити пропускну здатність датчика, проміжні розміри тензора та найгірший трафік пам’яті.
  3. Тримайте детерміноване введення близько до інтерфейсу: FPGA, двигуни DMA або ядра реального часу часто підходять.
  4. Розмістіть підтримувані нейронні моделі на NPU: перевірити охоплення оператора та фактичну скомпільовану продуктивність.
  5. Використовуйте MPU для системи: Мережа, зберігання, оновлення, журналювання, API та політика додатків належать до Linux.
  6. Контроль резерву в режимі реального часу: MCU або детерміноване ядро має контролювати критичне за часом спрацьовування та працездатність платформи, якщо це необхідно.

Пропускна здатність пам'яті часто є прихованим вузьким місцем

Багато розробок периферійного штучного інтелекту зосереджуються на піках обчислення, а пізніше виявляється, що копіювання, перетворення кольорів, переформатування тензорів або спільний DDR домінують у затримці. Шляхи без копіювання або з низьким рівнем копіювання, топологію DMA, поведінку кешу та доступ до пам’яті прискорювача слід оцінити на ранній стадії. Теплове регулювання також може перетворити сильний тест на слабку стійку продуктивність.

Це особливо важливо, коли кілька камер, радарів, датчиків подій або високошвидкісних потоків Ethernet використовують одну підсистему пам’яті.

Приклади еталонної архітектури

Конвеєр бачення/датчика подій

Датчик → FPGA прийом і мітка часу → NPU висновок → MPU служби прийняття рішень → CAN-FD або Ethernet вихід. Це сильний шаблон для сприйняття з низькою затримкою та безпосередньо пов’язаний із нашим .

Вбудований комп’ютер AI

Високошвидкісний I/O → DMA/шлях прискорювача → NPU або висновок GPU → Служби додатків Linux → API зберігання та мережі. наш вбудований обчислювальний модуль і надійний периферійний комп'ютер класи продуктів будуються навколо цього типу розділення.

Промисловий детермінований шлюз

Інтерфейси CAN-FD / послідовний / Ethernet → FPGA або MCU обробка міток часу та протоколу → служби MPU → опціональна аналітика NPU. Тут детермінований I/O і довгострокова ремонтопридатність програмного забезпечення можуть бути важливішими, ніж максимальна пропускна здатність ШІ.

Як вибрати між FPGA, NPU і MPU

Виберіть повне робоче навантаження, а не мітку процесора. Якщо домінуючою проблемою є нейронний висновок, почніть із сумісності NPU. Якщо домінують нестандартний I/O і детермінована попередня обробка, оцініть ресурси FPGA. Якщо домінують послуги Linux, мережеве та прикладне програмне забезпечення, почніть із можливостей MPU. Більшість високопродуктивних крайових платформ поєднуватимуть принаймні два з цих ресурсів.

Перш ніж закріпити апаратне забезпечення, запустіть репрезентативні потоки через призначений стек програмного забезпечення та виміряйте наскрізну затримку, потужність, пропускну здатність пам’яті та температуру. Ці докази є більш цінними, ніж загальні рейтинги акселераторів.

Спрацьований приклад: чотири камери та спільний бюджет пам’яті

Розглянемо приклад планування з чотирма потоками 1280 × 720 зі швидкістю 30 кадрів за секунду, представлених як RGB з одним байтом на канал після перетворення зображення. Їх комбіноване корисне навантаження логічного зображення 4 × 1280 × 720 × 30 × 3 = 331,776,000 байт на секунду, приблизно 332 MB/с у десяткових одиницях. Це не бітрейт зв’язку з камерою чи виміряна продуктивність продукту ALVEXIS.

Одна додаткова повнокадрова копія читає та записує це корисне навантаження, додаючи приблизно 664 MB/с трафіку пам’яті перед розглядом поведінки кешу чи інших операцій. Тензори моделі, перетворення кольорів, журналювання та паралельні служби додають власний трафік. Це пояснює, чому дизайн може бути обмежений переміщенням даних, навіть якщо його рейтинг прискорення заголовка здається достатнім.

Робота на місцеВідправна точкаДокази до вчинення
Завантаження камери та синхронізаціяПідтримувані інтерфейси SoC із FPGA або супутнім пристроєм, якщо потрібноОдночасне захоплення потоку, поведінка часових позначок і втрата під навантаженням
Нейронний висновокNPU, якщо підтримуються обраний графік і точністьТочність перетворення та стійкі вимірювання на пристрої
Linux послуги та записРесурсів MPU і чітко передбачений бюджетом шлях зберіганняПоведінка процесора, пам’яті та I/O під час активного висновку
Часовий зовнішній контрольВідповідний контролер реального часу або перевірена детермінована реалізаціяДокази часу відповіді за відповідного найгіршого робочого навантаження

Мета розділення полягає в тому, щоб чітко визначити кожну вимогу до часу та ресурсу. Це не означає, що кожна конструкція потребує чотирьох різних процесорів. Почніть із найпростішої архітектури, яка відповідає вимогам, а потім додайте ресурси, де їх виправдовують вимірювання чи обмеження інтерфейсу.

План перевірки для вибору суміші процесорів

  1. Заморозити вхідний контракт: датчики, формати даних, модель, роздільна здатність і умови роботи.
  2. Перед порівнянням пропускної здатності прискорювача перевірте підтримку моделі та якість виведення.
  3. Окремо виміряйте отримання, попередню обробку, висновок і доставку, а потім виміряйте повний шлях.
  4. Повторіть за тривалого теплового навантаження з записом, мережею та всіма запланованими датчиками.
  5. Записуйте вік черги, втрачені вхідні дані та хвостову затримку, тому висока середня швидкість не приховує періодичних затримок.

Зберігайте версію плати, образ програмного забезпечення, версії інструментів і тестові вхідні дані з результатами. Для реалізації Rockchip, Посібник із розгортання моделі RK3588 розвиває цей робочий процес. Для даних камери події використовуйте посібник з інтеграції програмного забезпечення щоб визначити позначки часу та представлення перед вибором шляху висновку.

Охарактеризувавши навантаження, порівняйте Варіанти інтеграції SoM і SBC. Це рішення пов’язує обчислювальну архітектуру з роз’ємами, живленням, корпус і виробничою роботою.

Від вибору процесора до готового продукту

Короткий список процесорів корисний лише тоді, коли він відповідає повному продукту. Перш ніж замовляти спеціальну плату, перетворіть навантаження на короткий інженерний опис:

  • входи: кількість датчиків, інтерфейси, частоти вибірки та вимоги до синхронізації.
  • Робоче навантаження AI: фактична модель, підтримувана точність і прийнятна якість друку.
  • Фізичні обмеження: розміри, джерело живлення, охолодження та робоче середовище.
  • Доставка: кількість прототипу, обсяг виробництва, право власності на програмне забезпечення та приймальні випробування.

Для станції перевірки підключіть трубопровід камери до тригера лінії, ідентифікатора частини та інтерфейсу результату. наш промислове машинний зір і рішення для контролю якості пояснює, як ці вимоги стають пілотний проєкт.

MPU, NPU і FPGA edge AI FAQ

Що таке MPU AI?

MPU AI описує робочі навантаження штучного інтелекту, розгорнуті на вбудованій мікропроцесорній платформі, як правило, з Linux і часто з інтегрованим або супутнім прискоренням, таким як NPU, GPU або FPGA. MPU зазвичай керує додатками, мережею, сховищем, безпекою та оркестровкою навколо конвеєра висновку.

Чи може MPU запускати машинне навчання?

так Робочі навантаження машинного навчання MPU можуть працювати на ядрах ЦП або використовувати вбудовані прискорювачі. Для виробничих систем підтримка моделей, пропускна здатність пам’яті, постійні температурні параметри та наскрізна затримка важливіші, ніж лише заголовок TOPS.

NPU проти FPGA: що краще для edge AI?

NPU зазвичай є простішим вибором для підтримуваної нейронної мережі з високою продуктивністю на ват. FPGA є кращим, якщо центральним елементом дизайну є спеціальні інтерфейси датчиків, детермінована попередня обробка, незвичайні формати даних або спеціалізовані конвеєри. Багато систем використовують обидва.

Чи можна запустити робоче навантаження NPU на FPGA?

FPGA може реалізувати прискорювачі нейронних мереж або конвеєри висновків, але він не є автоматичним еквівалентом спеціального NPU. Торгівля передбачає програмовані логічні ресурси, пам'ять, зрілість інструментального ланцюга, підтримку моделі, зусилля з перевірки та потужність.

Коли висновок FPGA AI має сенс?

FPGA Штучний висновок привабливий, коли висновок має бути тісно пов’язаний із детермінованою попередньою обробкою, користувацькими інтерфейсами або спеціалізованим переміщенням даних. Це особливо корисно, коли стандартне середовище виконання NPU не відповідає маршруту датчика або обмеженням затримки.

Де TinyML вписується в периферійні обчислення

периферійні обчислення описує обробку поблизу джерела даних; edge AI застосовує там висновки машинного навчання. TinyML стосується більш обмеженого класу розгортання, часто на мікроконтролерах з обмеженою пам’яттю та потужністю. Таким чином, невеликий класифікатор вібрації та конвеєр сприйняття з кількома камерами потребують дуже різних апаратних бюджетів, навіть якщо обидва можуть бути периферійним ШІ.

Для цільового мікроконтролера перевірте розмір моделі, робочу пам’ять, підтримувані оператори та накладні витрати на отримання. Для дизайну на основі NPU або FPGA також оцініть рух пам’яті та розподіл між прискореною та неприскореною роботою. Виберіть найменшу архітектуру, яка задовольняє виміряне завдання та вимоги до відновлення, а не вибирайте технологію лише з її абревіатури.

Технічні довідки

Приклад пропускної здатності є явним обчисленням, а не тестом продукту. Перевірте вибрану архітектуру для запланованого робочого навантаження.

Розділіть своє справжнє робоче навантаження Edge.

Надішліть інтерфейси датчиків, тип моделі, швидкість передачі даних, конверт потужності та обмеження розгортання. Ми можемо зіставити їх з архітектурою MPU/NPU/FPGA і відповідним класом обчислювального модуля.