A cosa si riferisce “field programmable array”?
Il termine completo è Field Programmable Gate Array, abbreviato FPGA: una matrice di porte logiche programmabile dopo la produzione. Una FPGA implementa logica digitale configurabile; una NPU accelera le operazioni di rete neurale supportate. La scelta dipende dal percorso effettivo del segnale. L'elaborazione su FPGA può essere utile per interfacce parallele o acquisizione con vincoli temporali, mentre una NPU può semplificare un carico di inferenza compatibile.
Da una scheda di sviluppo FPGA a un prodotto su misura
Una scheda FPGA dimostra soltanto una parte del sistema. Il progetto personalizzato richiede anche sequenziamento dell'alimentazione, clock, interfacce di memoria, progettazione termica e un metodo di prova ripetibile. Confronta lo sforzo di progettazione e verifica della FPGA con un'architettura MPU o SoC FPGA. Il costo comprende ingegneria, strumenti, complessità della scheda e collaudo di produzione, oltre al componente stesso.
Cos'è un AI MPU?
Una piattaforma MPU con funzionalità AI combina un microprocessore applicativo con il software e le risorse di accelerazione necessarie per un carico di lavoro di apprendimento automatico. Inizia identificando quali attività appartengono alla CPU e quali beneficiano di un acceleratore supportato.
Uno MPU, o microprocessore applicativo, è solitamente il centro software di un sistema Linux integrato. Un "AI MPU" non è una categoria di processori separata tanto quanto una piattaforma MPU che include, o lavora a stretto contatto con, risorse di accelerazione come NPU, GPU, DSP o FPGA. MPU ospita Linux, rete, storage, servizi di sicurezza, logica applicativa e runtime che coordina i carichi di lavoro AI.
Per il machine learning MPU, la questione pratica non è solo la velocità della CPU. La larghezza di banda della memoria, il supporto dell'acceleratore, la fotocamera e la qualità I/O, Linux BSP ad alta velocità, la disponibilità a lungo termine, il design termico e la maturità della catena di strumenti spesso contano più di un valore TOPS da titolo.
Cosa rende MPU una buona piattaforma di intelligenza artificiale?
Il miglior MPU per l'intelligenza artificiale dipende dal carico di lavoro. Un gateway di visione può dare priorità a MIPI CSI, pipeline video hardware e NPU. Un computer da missione robusto potrebbe aver bisogno di PCIe, più porte Ethernet, core complementari deterministici e funzionalità di sicurezza più potenti. Una piattaforma industriale può valorizzare la lunga durata del prodotto, TSN, CAN-FD e un ecosistema Linux stabile.
Confronta il modello reale e completa la catena di preelaborazione. Una piattaforma con un acceleratore pubblicizzato inferiore può vincere se evita copie di memoria, supporta gli operatori richiesti e mantiene efficiente il percorso dal sensore al risultato.
NPU: inferenza neurale efficiente localmente sul dispositivo
Un bordo NPU accelera gli operatori di rete neurale come convoluzioni, operazioni di matrice e funzioni di attivazione comuni. Di solito è il luogo più efficiente per i modelli supportati di rilevamento, classificazione, segmentazione ed estrazione delle funzionalità quando la potenza e il throughput di inferenza sostenuto sono importanti.
Le prestazioni di NPU dipendono dalla compilazione e dalla copertura dell'operatore. I livelli non supportati potrebbero ricadere sulla CPU o su un altro acceleratore. Anche i requisiti di quantizzazione, i layout dei tensori, la risoluzione dell'input e lo spostamento della memoria possono modificare drasticamente le prestazioni nel mondo reale. Confronta sempre il grafico di produzione anziché fare affidamento solo sul teorico TOPS.
FPGA: pipeline deterministiche e inferenza AI dove la flessibilità conta
Uno FPGA eccelle nel movimento deterministico dei dati, nelle interfacce personalizzate e nelle pipeline massicciamente parallele. Nei sistemi per l'elaborazione locale può deserializzare sensori, allineare timestamp, filtrare dati, generare regioni di interesse, eseguire la preelaborazione delle immagini e alimentare un acceleratore con latenza prevedibile. FPGA L'inferenza AI è possibile anche quando un modello si associa bene al DSP disponibile, alla memoria e allo stack di accelerazione del fornitore.
Il compromesso è lo sforzo ingegneristico. È necessario pianificare la strategia di progettazione, simulazione, chiusura temporale, verifica e aggiornamento di RTL o HLS. Uno FPGA dovrebbe essere selezionato perché il comportamento deterministico o il parallelismo personalizzato creano valore di sistema, non semplicemente perché può eseguire operazioni aritmetiche.
NPU rispetto a FPGA per Edge AI
La decisione NPU vs FPGA è spesso un falso binario. Uno NPU è generalmente la scelta più semplice per le reti neurali supportate e le elevate prestazioni per watt. Uno FPGA è più potente quando il sistema necessita di interfacce di sensori personalizzate, preelaborazione deterministica, formati di dati insoliti o una pipeline strettamente controllata prima e dopo l'inferenza.
Un'architettura comune utilizza entrambi: FPGA per l'acquisizione e la preelaborazione dei sensori, NPU per la rete neurale e MPU per l'orchestrazione Linux. Ciò riduce la quantità di lavoro irregolare imposto a qualsiasi processore.
| Risorsa | Carichi di lavoro più adatti | Principali vincoli |
|---|---|---|
| FPGA | Pipeline deterministiche, I/O personalizzato, timestamp, preelaborazione, accelerazione specializzata | Lavoro RTL/HLS, verifica, risorse del dispositivo |
| NPU | Inferenza neurale supportata con buone prestazioni per watt | Supporto operatore, compilatore/runtime, quantizzazione e movimento della memoria |
| MPU | Linux applicazioni, reti, archiviazione, sicurezza informatica, orchestrazione | Esecuzione meno deterministica; spese generali per uso generale |
| Nucleo MCU / RT | Anelli di controllo, supervisione di sicurezza, sequenziamento dell'alimentazione, deterministico I/O | Memoria limitata e calcolo di alto livello |
Edge computing
- Inizia con le scadenze: identificare quali segnali hanno requisiti di temporizzazione rigidi e il ritardo massimo dal sensore all'azione.
- Velocità dei dati della mappa: calcolare il throughput del sensore, le dimensioni intermedie dei tensori e il traffico di memoria nel caso peggiore.
- Mantieni l'acquisizione deterministica vicino all'interfaccia: FPGA, motori DMA o core in tempo reale sono spesso appropriati.
- Posiziona i modelli neurali supportati sullo NPU: convalidare la copertura dell'operatore e le effettive prestazioni compilate.
- Utilizzare MPU per il sistema: rete, archiviazione, aggiornamenti, registrazione, API e policy applicative appartengono naturalmente a Linux.
- Prenota il controllo in tempo reale: un MCU o un nucleo deterministico dovrebbe supervisionare l'attuazione critica in termini di tempo e l'integrità della piattaforma, ove richiesto.
La larghezza di banda della memoria è spesso il collo di bottiglia nascosto
Molti progetti Edge AI si concentrano sui picchi di calcolo e scoprono in seguito che copie, conversione del colore, riformattazione del tensore o DDR condiviso dominano la latenza. I percorsi a copia zero o a copia ridotta, la topologia DMA, il comportamento della cache e l'accesso alla memoria dell'acceleratore devono essere valutati in anticipo. Il throttling termico può anche trasformare un benchmark forte in una prestazione debole e sostenuta.
Ciò è particolarmente importante quando più telecamere, radar, sensori di eventi o flussi Ethernet ad alta velocità condividono lo stesso sottosistema di memoria.
Esempi di architetture di riferimento
Pipeline di sensori di visione/eventi
Sensore → Acquisizione e timestamp FPGA → Inferenza NPU → Servizi decisionali MPU → Uscita CAN-FD o Ethernet. Questo è un modello forte per la percezione a bassa latenza e si collega direttamente al nostro .
Computer AI incorporato
I/O ad alta velocità → percorso DMA/acceleratore → NPU o inferenza GPU → servizi applicativi Linux → API di archiviazione e rete. Il nostro modulo di calcolo incorporato e computer robusto per l'elaborazione locale le classi di prodotto sono costruite attorno a questo tipo di partizionamento.
Gateway deterministico industriale
Interfacce CAN-FD / seriale / Ethernet → timestamp FPGA o MCU e gestione del protocollo → Servizi MPU → Analisi NPU opzionale. Qui lo I/O deterministico e la manutenibilità del software a lungo termine possono essere più importanti della massima produttività dell'intelligenza artificiale.
Come scegliere tra FPGA, NPU e MPU
Scegli dal carico di lavoro completo, non dall'etichetta del processore. Se il problema dominante è l'inferenza neurale, inizia dalla compatibilità NPU. Se prevalgono I/O personalizzato e preelaborazione deterministica, valutare le risorse FPGA. Se i servizi Linux, la rete e il software applicativo dominano, inizia con la funzionalità MPU. La maggior parte delle piattaforme ad alte prestazioni per l'elaborazione locale combineranno almeno due di queste risorse.
Prima di impegnare l'hardware, esegui flussi rappresentativi attraverso lo stack software previsto e misura la latenza end-to-end, la potenza, la larghezza di banda della memoria e le temperature. Questa prova è più preziosa delle classifiche generiche degli acceleratori.
Esempio pratico: quattro fotocamere e un budget di memoria condiviso
Considera un esempio di pianificazione con quattro flussi 1280 × 720 a fotogrammi 30 al secondo, rappresentati come RGB con un byte per canale dopo la conversione dell'immagine. Il loro carico utile dell'immagine logica combinata è 4 × 1280 × 720 × 30 × 3 = 331,776,000 byte al secondo, circa 332 MB/s in unità decimali. Questo non è il bitrate del collegamento della fotocamera o le prestazioni misurate di un prodotto ALVEXIS.
Un'ulteriore copia full-frame legge e scrive quel payload, aggiungendo circa 664 MB/s di traffico di memoria prima di considerare il comportamento della cache o altre operazioni. I tensori del modello, la conversione del colore, il logging e i servizi simultanei aggiungono il proprio traffico. Ciò spiega perché un progetto può essere vincolato dallo spostamento dei dati anche quando la valutazione dell’acceleratore principale sembra sufficiente.
| Lavora sul posto | Punto di partenza | Prove prima di impegnarsi |
|---|---|---|
| Acquisizione e sincronizzazione della fotocamera | Interfacce SoC supportate, con FPGA o un dispositivo associato dove richiesto | Acquisizione del flusso simultaneo, comportamento del timestamp e perdita sotto carico |
| Inferenza neurale | NPU quando sono supportati il grafico e la precisione scelti | Precisione della conversione e misurazioni continue delle applicazioni sul dispositivo |
| Servizi e registrazione Linux | Risorse MPU e un percorso di archiviazione preventivato esplicitamente | Comportamento di CPU, memoria e I/O mentre l'inferenza è attiva |
| Controllo esterno con criticità temporale | Un controller in tempo reale adatto o un'implementazione deterministica convalidata | Evidenze relative ai tempi di risposta nel caso peggiore del carico di lavoro pertinente |
Lo scopo del partizionamento è rendere espliciti i requisiti di tempistica e di risorse. Ciò non implica che ogni progetto necessiti di quattro processori diversi. Inizia con l'architettura più semplice che soddisfa i requisiti, quindi aggiungi le risorse laddove le misurazioni o i vincoli dell'interfaccia le giustificano.
Un piano di validazione per la scelta del mix di processori
- Congelare il contratto di input: sensori, formati di dati, modello, risoluzione e condizioni operative.
- Verificare il supporto del modello e la qualità dell'output prima di confrontare la velocità effettiva dell'acceleratore.
- Misura separatamente acquisizione, preelaborazione, inferenza e consegna, quindi misura il percorso completo.
- Ripetere sotto carico termico sostenuto con registrazione, rete e tutti i sensori previsti attivi.
- Registra l'età della coda, gli input persi e la latenza della coda, quindi un tasso medio elevato non nasconde ritardi intermittenti.
Conserva la revisione della scheda, l'immagine del software, le versioni della toolchain e gli input dei test insieme ai risultati. Per un'implementazione Rockchip, il Guida alla distribuzione del modello RK3588 sviluppa questo flusso di lavoro. Per i dati della telecamera per eventi, utilizzare il file guida all'integrazione del software per definire timestamp e rappresentazioni prima di scegliere il percorso di inferenza.
Dopo aver caratterizzato il carico di lavoro, confrontare il Opzioni di integrazione SoM e SBC. Questa decisione collega l'architettura di elaborazione a connettori, alimentazione, custodia e lavoro di produzione.
Dalla selezione del processore a un prodotto realizzabile
Un elenco di processori è utile solo quando si adatta al prodotto completo. Prima di ordinare una scheda personalizzata, trasforma il carico di lavoro in un breve brief tecnico:
- Ingressi: conteggio dei sensori, interfacce, frequenze di campionamento e requisiti di sincronizzazione.
- Carico di lavoro dell'IA: il modello reale, la precisione supportata e la qualità di output accettabile.
- Vincoli fisici: dimensioni, fonte di alimentazione, raffreddamento e ambiente operativo.
- Consegna: quantità di prototipi, volume di produzione, proprietà del software e test di accettazione.
Per una stazione di ispezione, collegare la tubazione della telecamera al trigger di linea, all'identificatore della parte e all'interfaccia dei risultati. Nostro soluzione di visione industriale e controllo qualità spiega come tali requisiti diventano un progetto pilota.
Domande frequenti su MPU, NPU e FPGA Edge AI
Cos'è l'intelligenza artificiale MPU?
MPU AI descrive i carichi di lavoro di intelligenza artificiale distribuiti su una piattaforma con microprocessore incorporato, solitamente con Linux e spesso con accelerazione integrata o complementare come NPU, GPU o FPGA. MPU gestisce comunemente applicazioni, rete, storage, sicurezza e orchestrazione attorno alla pipeline di inferenza.
Uno MPU può eseguire l'apprendimento automatico?
Sì. I carichi di lavoro di machine learning MPU possono essere eseguiti su core della CPU o utilizzare acceleratori integrati. Per i sistemi di produzione, il supporto del modello, la larghezza di banda della memoria, le temperature sostenute e la latenza end-to-end contano più del solo titolo TOPS.
NPU vs FPGA: quale è meglio per Edge AI?
Uno NPU è solitamente la scelta più semplice per l'inferenza di rete neurale supportata con elevate prestazioni per watt. Uno FPGA è preferibile quando interfacce di sensori personalizzate, preelaborazione deterministica, formati di dati insoliti o pipeline specializzate sono fondamentali per la progettazione. Molti sistemi li utilizzano entrambi.
È possibile eseguire un carico di lavoro NPU su uno FPGA?
Uno FPGA può implementare acceleratori di reti neurali o pipeline di inferenza, ma non è automaticamente equivalente a uno NPU dedicato. Il commercio coinvolge risorse logiche programmabili, memoria, maturità della toolchain, supporto del modello, sforzo di verifica e potenza.
Quando ha senso l'inferenza AI FPGA?
FPGA L'inferenza AI è interessante quando l'inferenza deve essere strettamente collegata alla preelaborazione deterministica, alle interfacce personalizzate o allo spostamento di dati specializzato. È particolarmente utile quando un runtime NPU standard non si adatta al percorso del sensore o ai vincoli di latenza.
Riferimenti tecnici
- Rockchip: componenti software RKNN e strumenti di distribuzione
- Rockchip: esempi di conversione del modello ed inferenza
- Gallego et al.: Visione basata sugli eventi: un sondaggio
L'esempio della larghezza di banda è un calcolo esplicito, non un benchmark del prodotto. Convalida l'architettura selezionata sul carico di lavoro previsto.
Suddividi il tuo carico di lavoro reale Edge AI.
Invia le interfacce dei sensori, il tipo di modello, la velocità dei dati, l'inviluppo di potenza e i vincoli di implementazione. Possiamo mapparli su un'architettura MPU/NPU/FPGA e su una classe di moduli di calcolo adatta.
