La ce se referă „field programmable array”?
Termenul complet este Field Programmable Gate Array, prescurtat FPGA: o matrice de porți logice programabilă după fabricație. Un FPGA implementează logică digitală configurabilă; un NPU accelerează operațiile de rețele neuronale pe care le suportă. Alegerea depinde de traseul real al semnalului. Procesarea pe FPGA poate fi utilă pentru interfețe paralele sau achiziție cu cerințe stricte de temporizare, în timp ce un NPU poate simplifica o sarcină de inferență compatibilă.
De la o placă de dezvoltare FPGA la un produs personalizat
O placă FPGA validează doar o parte a sistemului. Un proiect personalizat necesită și secvențierea alimentării, distribuția semnalelor de ceas, interfețe de memorie, proiectare termică și o metodă de testare repetabilă. Comparați efortul de proiectare și verificare FPGA cu o arhitectură MPU sau SoC FPGA. Costul FPGA include ingineria, instrumentele, complexitatea plăcii și testarea în producție, pe lângă cip.
Ce este un AI MPU?
O platformă MPU compatibilă cu AI combină un microprocesor de aplicație cu software-ul și resursele de accelerare necesare pentru o sarcină de lucru de învățare automată. Începeți prin a identifica ce sarcini aparțin procesorului și care beneficiază de un accelerator suportat.
Un MPU, sau un microprocesor de aplicație, este de obicei centrul software al unui sistem Linux încorporat. Un „AI MPU” nu este o categorie separată de procesoare, ci o platformă MPU care include sau lucrează îndeaproape cu resurse de accelerare, cum ar fi un NPU, GPU, DSP sau FPGA. MPU găzduiește Linux, rețele, stocare, servicii de securitate, logica aplicației și timpul de execuție care coordonează sarcinile de lucru AI.
Pentru MPU machine learning, întrebarea practică nu este doar viteza procesorului. Lățimea de bandă a memoriei, suportul pentru accelerator, camera și calitatea I/O de mare viteză, Linux BSP, disponibilitatea pe termen lung, designul termic și maturitatea lanțului de modele contează adesea mai mult decât o valoare TOPS de titlu.
Ce face un MPU o platformă bună de inteligență artificială?
Cel mai bun MPU pentru inteligența artificială este specific sarcinii de lucru. Un gateway de viziune poate acorda prioritate MIPI CSI, conducte video hardware și un NPU. Un computer de misiune robust poate avea nevoie de PCIe, mai multe porturi Ethernet, nuclee însoțitoare deterministe și caracteristici de securitate mai puternice. O platformă industrială poate aprecia durata lungă de viață a produsului, TSN, CAN-FD și un ecosistem stabil Linux.
Comparați modelul real și completați lanțul de preprocesare. O platformă cu o cifră de accelerație mai mică poate câștiga dacă evită copiile de memorie, sprijină operatorii necesari și menține eficient calea de la senzor la rezultat.
NPU: inferență neuronală eficientă local pe dispozitiv
O margine NPU accelerează operatorii rețelei neuronale, cum ar fi convoluțiile, operațiile cu matrice și funcțiile comune de activare. De obicei, este cel mai eficient loc pentru modelele de detectare, clasificare, segmentare și extragere a caracteristicilor acceptate atunci când puterea și debitul susținut de inferență contează.
Performanța NPU depinde de compilare și de acoperirea operatorului. Straturile neacceptate pot reveni la CPU sau la alt accelerator. Cerințele de cuantizare, aspectul tensorului, rezoluția de intrare și mișcarea memoriei pot schimba, de asemenea, performanța din lumea reală în mod dramatic. Evaluați întotdeauna graficul de producție în loc să vă bazați numai pe TOPS teoretic.
FPGA: conducte deterministe și inferență AI unde flexibilitatea contează
Un FPGA excelează la mișcarea deterministă a datelor, interfețele personalizate și conductele masiv paralele. În sistemele de procesare locală, poate deserializa senzorii, alinia marcajele temporale, poate filtra datele, poate genera regiuni de interes, poate efectua preprocesare a imaginii și poate alimenta un accelerator cu o latență previzibilă. FPGA Inferența AI este posibilă și atunci când un model se mapează bine la DSP-ul disponibil, la memorie și la stiva de accelerare a furnizorului.
Schimbul este efortul de inginerie. Proiectarea RTL sau HLS, simularea, închiderea temporală, verificarea și strategia de actualizare trebuie planificate. Un FPGA ar trebui să fie selectat deoarece comportamentul determinist sau paralelismul personalizat creează valoare de sistem - nu doar pentru că poate rula aritmetica.
NPU vs FPGA pentru Edge AI
Decizia NPU vs FPGA este adesea un binar fals. Un NPU este, în general, alegerea mai ușoară pentru rețelele neuronale acceptate și performanță puternică pe watt. Un FPGA este mai puternic atunci când sistemul are nevoie de interfețe personalizate cu senzori, preprocesare deterministă, formate de date neobișnuite sau o conductă strâns controlată înainte și după inferență.
O arhitectură comună folosește ambele: FPGA pentru asimilarea și preprocesarea senzorilor, NPU pentru rețeaua neuronală și MPU pentru orchestrarea Linux. Acest lucru reduce cantitatea de muncă neregulată forțată pe orice procesor.
| resursă | Sarcinile de lucru cele mai potrivite | Principalele constrângeri |
|---|---|---|
| FPGA | Conducte deterministe, I/O personalizate, marcare temporală, preprocesare, accelerare specializată | Efort RTL/HLS, verificare, resurse dispozitiv |
| NPU | Inferență neuronală acceptată cu performanțe bune pe watt | Suport operator, compilator/runtime, cuantizare și mișcare în memorie |
| MPU | Aplicații Linux, rețele, stocare, securitate cibernetică, orchestrare | Execuție mai puțin deterministă; general de uz general |
| Miez MCU / RT | Buclele de control, supravegherea siguranței, secvențierea puterii, I/O deterministă | Memorie limitată și calcul la nivel înalt |
Edge computing
- Începeți cu termenele limită: identificați ce semnale au cerințe de sincronizare grele și întârzierea maximă a senzorului la acțiune.
- Rate de date pe hartă: calculați debitul senzorului, dimensiunile tensoarelor intermediare și traficul de memorie în cel mai rău caz.
- Păstrați asimilarea deterministă aproape de interfață: FPGA, motoarele DMA sau nucleele în timp real sunt adesea potrivite.
- Plasați modele neuronale acceptate pe NPU: validați acoperirea operatorului și performanța reală compilată.
- Utilizați MPU pentru sistem: rețelele, stocarea, actualizările, înregistrarea în jurnal, API-urile și politica aplicațiilor aparțin în mod natural Linux.
- Rezervați controlul în timp real: un MCU sau un nucleu determinist ar trebui să supravegheze acționarea critică în timp și sănătatea platformei acolo unde este necesar.
Lățimea de bandă a memoriei este adesea blocajul ascuns
Multe modele Edge AI se concentrează pe vârfurile de calcul și descoperă mai târziu că copiile, conversia culorilor, reformatarea tensorului sau DDR partajat domină latența. Căile zero-copy sau low-copy, topologia DMA, comportamentul cache-ului și accesul la memoria acceleratorului ar trebui evaluate din timp. De asemenea, accelerarea termică poate transforma un punct de referință puternic într-o performanță susținută slabă.
Acest lucru este deosebit de important atunci când mai multe camere, radare, senzori de evenimente sau fluxuri Ethernet de mare viteză împart același subsistem de memorie.
Exemple de arhitectură de referință
Conducta de senzori de viziune/eveniment
Senzor → FPGA asimilare și marcare temporală → Inferență NPU → Servicii de decizie MPU → Ieșire CAN-FD sau Ethernet. Acesta este un model puternic pentru percepția cu latență scăzută și se conectează direct la nostru .
Computer AI încorporat
I/O de mare viteză → cale DMA / accelerator → NPU sau inferență GPU → Servicii de aplicație Linux → API-uri de stocare și rețea. Al nostru modul de calcul încorporat şi computer robust pentru procesare locală clasele de produse sunt construite în jurul acestui tip de partiţionare.
Gateway deterministă industrială
CAN-FD / interfețe seriale / Ethernet → FPGA sau MCU marcaj temporal și gestionarea protocolului → Servicii MPU → analiză opțională NPU. Aici I/O deterministă și mentenabilitatea software pe termen lung pot fi mai importante decât debitul maxim de AI.
Cum să alegi între FPGA, NPU și MPU
Alegeți din volumul de lucru complet, nu eticheta procesorului. Dacă problema dominantă este inferența neuronală, începeți de la compatibilitatea NPU. Dacă I/O personalizat și preprocesarea deterministă domină, evaluați resursele FPGA. Dacă serviciile Linux, rețelele și aplicațiile software domină, începeți cu capacitatea MPU. Majoritatea platformelor de înaltă performanță pentru procesarea locală vor combina cel puțin două dintre aceste resurse.
Înainte de a utiliza hardware-ul, rulați fluxuri reprezentative prin stiva de software destinată și măsurați latența, puterea, lățimea de bandă a memoriei și temperatura de la capăt la capăt. Aceste dovezi sunt mai valoroase decât clasamentele generice ale acceleratoarelor.
Exemplu funcțional: patru camere și un buget de memorie partajat
Luați în considerare un exemplu de planificare cu patru fluxuri 1280 × 720 la 30 cadre pe secundă, reprezentate ca RGB cu un octet pe canal după conversia imaginii. Sarcina lor utilă de imagine logică combinată este 4 × 1280 × 720 × 30 × 3 = 331,776,000 octeți pe secundă, aproximativ 332 MB/s în unități zecimale. Acesta nu este rata de biți a conexiunii camerei sau performanța măsurată a unui produs ALVEXIS.
O copie suplimentară full-frame citește și scrie acea sarcină utilă, adăugând aproximativ 664 MB/s de trafic de memorie înainte de a lua în considerare comportamentul cache-ului sau alte operațiuni. Tensorii de model, conversia culorilor, jurnalizarea și serviciile concurente adaugă propriul trafic. Acest lucru explică de ce un design poate fi constrâns de mișcarea datelor chiar și atunci când ratingul său de accelerare de titlu pare suficient.
| Lucru la loc | Punctul de plecare | Dovezi înainte de a comite |
|---|---|---|
| Ingerarea și sincronizarea camerei | Interfețe SoC acceptate, cu FPGA sau un dispozitiv însoțitor acolo unde este necesar | Captură simultană a fluxului, comportamentul marcajului de timp și pierderea sub sarcină |
| Inferență neuronală | NPU când graficul și precizia alese sunt acceptate | Precizia conversiei și măsurători susținute de aplicații pe dispozitiv |
| Linux servicii și înregistrare | resurse MPU și o cale de stocare bugetată în mod explicit | Comportamentul CPU, memorie și I/O în timp ce inferența este activă |
| Control extern critic în timp | Un controler adecvat în timp real sau o implementare deterministă validată | Dovezi privind timpul de răspuns în cadrul volumului de lucru relevant în cazul cel mai rău caz |
Scopul partiționării este de a face explicit fiecare cerință de timp și resurse. Nu înseamnă că fiecare design are nevoie de patru procesoare diferite. Începeți cu cea mai simplă arhitectură care îndeplinește cerințele, apoi adăugați resurse acolo unde măsurătorile sau constrângerile de interfață le justifică.
Un plan de validare pentru alegerea mixului de procesoare
- Înghețați contractul de intrare: senzori, formate de date, model, rezoluție și condiții de funcționare.
- Verificați suportul modelului și calitatea ieșirii înainte de a compara debitul acceleratorului.
- Măsurați achiziția, preprocesarea, inferența și livrarea separat, apoi măsurați calea completă.
- Repetați sub sarcină termică susținută cu înregistrarea, conectarea în rețea și toți senzorii preconizați activi.
- Înregistrează vârsta cozii, intrări pierdute și latență de coadă, astfel încât o rată medie ridicată nu ascunde întârzierile intermitente.
Păstrați revizuirea plăcii, imaginea software-ului, versiunile lanțului de instrumente și intrările de testare cu rezultatele. Pentru o implementare Rockchip, Ghid de implementare a modelului RK3588 dezvoltă acest flux de lucru. Pentru datele camerei de evenimente, utilizați ghid de integrare software pentru a defini marcaje temporale și reprezentări înainte de a alege calea de inferență.
După ce volumul de lucru este caracterizat, comparați Opțiuni de integrare SoM și SBC. Această decizie conectează arhitectura de calcul la conectori, alimentare, carcasă și munca de producție.
De la selecția procesorului la un produs construit
O listă scurtă de procesoare este utilă numai atunci când se potrivește întregului produs. Înainte de a comanda o placă personalizată, transformați volumul de lucru într-un scurt rezumat de inginerie:
- Intrări: număr de senzori, interfețe, rate de eșantionare și cerințe de sincronizare.
- Sarcina de lucru AI: modelul real, precizia susținută și calitatea de ieșire acceptabilă.
- Constrângeri fizice: dimensiuni, sursa de alimentare, mediu de răcire și operare.
- Livrare: cantitatea de prototipuri, volumul de producție, proprietatea software-ului și testele de acceptare.
Pentru o stație de inspecție, conectați conducta camerei la declanșatorul liniei, la identificatorul piesei și la interfața rezultatului. Noastre soluție industrială de viziune artificială și control al calității explică modul în care aceste cerințe devin pilot.
Întrebări frecvente MPU, NPU și FPGA Edge AI
Ce este MPU AI?
MPU AI descrie sarcinile de lucru cu inteligență artificială implementate pe o platformă cu microprocesor încorporat, de obicei cu Linux și adesea cu accelerare integrată sau însoțitoare, cum ar fi un NPU, GPU sau FPGA. MPU gestionează în mod obișnuit aplicațiile, rețelele, stocarea, securitatea și orchestrarea în jurul conductei de inferență.
Poate un MPU să ruleze machine learning?
Da. Sarcinile de lucru MPU de învățare automată pot rula pe nuclee CPU sau pot folosi acceleratoare integrate. Pentru sistemele de producție, suportul pentru modele, lățimea de bandă a memoriei, termica susținută și latența de la capăt la capăt contează mai mult decât titlul TOPS.
NPU vs FPGA: care este mai bun pentru Edge AI?
Un NPU este, de obicei, alegerea mai simplă pentru inferența rețelei neuronale acceptate cu performanțe puternice pe watt. Un FPGA este de preferat atunci când interfețele cu senzori personalizate, preprocesarea deterministă, formatele de date neobișnuite sau conductele specializate sunt esențiale pentru proiectare. Multe sisteme folosesc ambele.
Puteți rula o sarcină de lucru NPU pe un FPGA?
Un FPGA poate implementa acceleratoare de rețea neuronală sau conducte de inferență, dar nu este automat echivalent cu un NPU dedicat. Comerțul implică resurse logice programabile, memorie, maturitate lanț de instrumente, suport pentru modele, efort de verificare și putere.
Când are sens inferența AI FPGA?
FPGA Inferența AI este atractivă atunci când inferența trebuie să fie strâns cuplată cu preprocesarea deterministă, interfețele personalizate sau mișcarea datelor specializate. Este util în special atunci când un timp de rulare standard NPU nu se potrivește cu calea senzorului sau constrângerile de latență.
Referințe tehnice
- Rockchip: RKNN componente software și instrumente de implementare
- Rockchip: conversie de model și exemple de inferență
- Gallego și colab.: Viziunea bazată pe evenimente — Un sondaj
Exemplul de lățime de bandă este un calcul explicit, nu un punct de referință pentru produs. Validați arhitectura selectată în funcție de volumul de lucru prevăzut.
Partiționați volumul de lucru real Edge AI.
Trimiteți interfețele senzorilor, tipul de model, ratele de date, pachetul de putere și constrângerile de implementare. Le putem mapa la o arhitectură MPU/NPU/FPGA și o clasă de modul de calcul adecvată.
