Kaj pomeni izraz »field programmable array«?
Celoten izraz je Field Programmable Gate Array (FPGA), programirljivo polje logičnih vrat. FPGA izvaja nastavljivo digitalno logiko, NPU pa pospešuje podprte operacije nevronskih mrež. Izbira je odvisna od dejanske signalne poti. Obdelava signalov s FPGA je lahko koristna za vzporedne vmesnike ali časovno občutljiv zajem, NPU pa lahko poenostavi podprto obremenitev sklepanja.
Od razvojne plošče FPGA do izdelka po meri
Plošča FPGA potrdi le del sistema. Zasnova po meri potrebuje tudi zaporedje vklopa napajanja, ure, pomnilniške vmesnike, toplotno zasnovo in ponovljivo preskusno metodo. Primerjajte razvoj in preverjanje FPGA z arhitekturo MPU ali sistemom SoC FPGA. Strošek FPGA poleg čipa vključuje inženirsko delo, orodja, zahtevnost plošče in proizvodno testiranje.
Kaj je AI MPU?
Platforma MPU, ki podpira AI, združuje aplikacijski mikroprocesor s programsko opremo in viri pospeševanja, potrebnimi za delovno obremenitev strojnega učenja. Začnite tako, da ugotovite, katera opravila pripadajo CPU in katerim koristi podprt pospeševalnik.
MPU ali aplikacijski mikroprocesor je običajno središče programske opreme vgrajenega sistema Linux. »AI MPU« ni ločena kategorija procesorjev toliko kot platforma MPU, ki vključuje ali tesno sodeluje z viri pospeševanja, kot so NPU, GPU, DSP ali FPGA. MPU gosti Linux, mreženje, shranjevanje, varnostne storitve, logiko aplikacij in izvajalno okolje, ki usklajuje delovne obremenitve AI.
Za strojno učenje MPU praktično vprašanje ni le hitrost procesorja. Pasovna širina pomnilnika, podpora za pospeševalnik, kamera in visoka hitrost I/O, Linux BSP kakovost, dolgoročna razpoložljivost, toplotna zasnova in zrelost verige modelov orodja so pogosto pomembnejši od glavne vrednosti TOPS.
Zakaj je MPU dobra platforma umetne inteligence?
Najboljši MPU za umetno inteligenco je odvisen od delovne obremenitve. Vizualni prehod lahko daje prednost MIPI CSI, strojnim video cevovodom in NPU. Robusten službeni računalnik morda potrebuje PCIe, več vrat Ethernet, deterministična spremljevalna jedra in močnejše varnostne funkcije. Industrijska platforma lahko ceni dolgo življenjsko dobo izdelka, TSN, CAN-FD in stabilen ekosistem Linux.
Primerjajte dejanski model in celotno verigo predprocesiranja. Platforma z nižjo oglaševano številko pospeševalnika lahko zmaga, če se izogiba kopijam pomnilnika, podpira zahtevane operaterje in ohranja učinkovito pot od senzorja do rezultata.
NPU: učinkovito nevronsko sklepanje na robu
Edge NPU pospešuje operaterje nevronske mreže, kot so konvolucije, matrične operacije in običajne aktivacijske funkcije. Običajno je najučinkovitejše mesto za podprto odkrivanje, razvrščanje, segmentacijo in modele za ekstrakcijo funkcij, kadar sta moč in prepustnost trajnega sklepanja pomembna.
Učinkovitost NPU je odvisna od prevajanja in pokritosti operaterja. Nepodprte plasti se lahko vrnejo na CPE ali drug pospeševalnik. Kvantizacijske zahteve, postavitve tenzorjev, vhodna ločljivost in premikanje pomnilnika lahko dramatično spremenijo tudi zmogljivost v realnem svetu. Vedno primerjajte graf proizvodnje, namesto da se zanašate samo na teoretični TOPS.
FPGA: deterministični cevovodi in sklepanje z umetno inteligenco, kjer je prožnost pomembna
FPGA se odlikuje po determinističnem gibanju podatkov, vmesnikih po meri in množično vzporednih cevovodih. V robnih sistemih lahko deserializira senzorje, poravna časovne žige, filtrira podatke, ustvari območja zanimanja, izvede predhodno obdelavo slike in napaja pospeševalnik s predvidljivo zakasnitvijo. FPGA Umetno sklepanje je možno tudi, ko se model dobro preslika na razpoložljiv DSP, pomnilnik in pospeševalni sklad prodajalca.
Kompromis je inženirski trud. Načrtovanje RTL ali HLS, simulacijo, časovno zapiranje, preverjanje in strategijo posodobitve je treba načrtovati. FPGA je treba izbrati, ker deterministično vedenje ali vzporednost po meri ustvarja sistemsko vrednost – ne le zato, ker lahko izvaja aritmetiko.
NPU proti FPGA za edge AI
Odločitev NPU proti FPGA je pogosto napačna binarna. NPU je na splošno lažja izbira za podprte nevronske mreže in visoko zmogljivost na vat. FPGA je močnejši, ko sistem potrebuje vmesnike senzorjev po meri, deterministično predprocesiranje, nenavadne formate podatkov ali strogo nadzorovan cevovod pred in po sklepanju.
Običajna arhitektura uporablja oboje: FPGA za zajem senzorja in predprocesiranje, NPU za nevronsko mrežo in MPU za orkestracijo Linux. To zmanjša količino nepravilnega dela, ki je vsiljeno enemu procesorju.
| Vir | Najbolj primerne delovne obremenitve | Glavne omejitve |
|---|---|---|
| FPGA | Deterministični cevovodi, I/O po meri, časovni žig, predprocesiranje, specializirano pospeševanje | Prizadevanje RTL/HLS, preverjanje, viri naprave |
| NPU | Podprto nevronsko sklepanje z dobro zmogljivostjo na vat | Operaterska podpora, prevajalnik/izvajalni čas, kvantizacija in premikanje pomnilnika |
| MPU | Linux aplikacije, mreženje, shranjevanje, kibernetska varnost, orkestracija | Manj deterministična izvedba; režijski stroški za splošne namene |
| MCU / RT jedro | Krmilne zanke, varnostni nadzor, zaporedje moči, deterministični I/O | Omejen pomnilnik in računanje na visoki ravni |
Edge computing
- Začnite z roki: ugotovite, kateri signali imajo stroge časovne zahteve in največjo zakasnitev senzorja do dejanja.
- Hitrost podatkov zemljevida: izračuna prepustnost senzorja, vmesne velikosti tenzorjev in najslabši možni pomnilniški promet.
- Naj bo deterministično zaužitje blizu vmesnika: FPGA, motorji DMA ali jedra v realnem času so pogosto primerni.
- Namestite podprte nevronske modele na NPU: potrdi pokritost operaterja in dejansko prevedeno zmogljivost.
- Uporabite MPU za sistem: povezovanje v omrežje, shranjevanje, posodobitve, beleženje, API-ji in politika aplikacij sodijo naravno v Linux.
- Rezervirajte nadzor v realnem času: MCU ali deterministično jedro bi moralo po potrebi nadzorovati časovno kritično aktiviranje in zdravje platforme.
Pasovna širina pomnilnika je pogosto skrito ozko grlo
Številni dizajni robne umetne inteligence se osredotočajo na računalniške vrhove in pozneje odkrijejo, da prevladujejo zakasnitve kopije, pretvorba barv, preoblikovanje tenzorjev ali skupni DDR. Poti brez kopiranja ali nizko kopiranje, topologijo DMA, obnašanje predpomnilnika in dostop do pomnilnika pospeševalnika je treba oceniti zgodaj. Toplotno dušenje lahko močno merilo uspešnosti spremeni tudi v šibko trajno zmogljivost.
To je še posebej pomembno, kadar več kamer, radarjev, senzorjev dogodkov ali hitrih tokov Ethernet deli isti pomnilniški podsistem.
Primeri referenčne arhitekture
Cev za vid/senzor dogodkov
Senzor → FPGA vnos in časovni žig → NPU sklepanje → MPU storitve odločanja → CAN-FD ali Ethernet izhod. To je močan vzorec za zaznavanje z nizko zakasnitvijo in je neposredno povezan z našim .
Vgrajen računalnik z umetno inteligenco
I/O visoke hitrosti → DMA / pot pospeševalnika → NPU ali sklepanje GPU → Linux aplikacijske storitve → API-ji za shranjevanje in omrežje. Naš vgrajeni računalniški modul in robusten robni računalnik razredi izdelkov so zgrajeni okoli te vrste particioniranja.
Industrijski deterministični prehod
Vmesniki CAN-FD / serijski / Ethernet → časovni žig FPGA ali MCU in obravnavanje protokola → storitve MPU → izbirna analitika NPU. Tu sta lahko deterministični I/O in dolgoročna vzdržljivost programske opreme pomembnejša od največje zmogljivosti umetne inteligence.
Kako izbrati med FPGA, NPU in MPU
Izberite celotno obremenitev, ne oznako procesorja. Če je prevladujoča težava nevronsko sklepanje, začnite z združljivostjo NPU. Če prevladujeta I/O po meri in deterministična predprocesiranje, ocenite vire FPGA. Če prevladujejo storitve, omrežja in aplikacijska programska oprema Linux, začnite z zmogljivostjo MPU. Večina visoko zmogljivih robnih platform bo združevala vsaj dva od teh virov.
Pred vključitvijo strojne opreme zaženite reprezentativne tokove skozi predvideni sklad programske opreme in izmerite zakasnitev od konca do konca, moč, pasovno širino pomnilnika in toploto. Ti dokazi so bolj dragoceni kot generične uvrstitve pospeševalcev.
Delujoč primer: štiri kamere in proračun za skupni pomnilnik
Razmislite o primeru načrtovanja s štirimi tokovi 1280 × 720 pri 30 sličicah na sekundo, predstavljenih kot RGB z enim bajtom na kanal po pretvorbi slike. Njihova kombinirana logična slikovna obremenitev je 4 × 1280 × 720 × 30 × 3 = 331,776,000 bajtov na sekundo, približno 332 MB/s v decimalnih enotah. To ni bitna hitrost povezave kamere ali izmerjena zmogljivost izdelka ALVEXIS.
Ena dodatna kopija polnega formata bere in zapisuje to koristno obremenitev ter doda približno 664 MB/s pomnilniškega prometa, preden razmisli o delovanju predpomnilnika ali drugih operacijah. Tenzorji modelov, pretvorba barv, beleženje in sočasne storitve dodajo svoj promet. To pojasnjuje, zakaj je lahko zasnova omejena s premikanjem podatkov, tudi če se zdi, da je ocena pospeševalnika naslova zadostna.
| Delo na mesto | Izhodišče | Dokazi pred storitvijo |
|---|---|---|
| Zajem kamere in sinhronizacija | Podprti vmesniki SoC, z FPGA ali spremljevalno napravo, kjer je to potrebno | Istočasno zajemanje toka, obnašanje časovnega žiga in izguba pod obremenitvijo |
| Nevronsko sklepanje | NPU, ko sta podprta izbrani graf in natančnost | Natančnost pretvorbe in trajne meritve aplikacij v napravi |
| Linux storitve in snemanje | Viri MPU in izrecno predvidena pot shranjevanja | Vedenje procesorja, pomnilnika in I/O, medtem ko je sklepanje aktivno |
| Časovno kritičen zunanji nadzor | Ustrezen krmilnik v realnem času ali potrjena deterministična izvedba | Dokazi o odzivnem času pri ustrezni najslabši možni delovni obremenitvi |
Namen particioniranja je, da je vsaka časovna razporeditev in zahteva po virih eksplicitna. To ne pomeni, da vsaka zasnova potrebuje štiri različne procesorje. Začnite z najpreprostejšo arhitekturo, ki izpolnjuje zahteve, nato pa dodajte vire, kjer jih meritve ali omejitve vmesnika opravičujejo.
Potrditveni načrt za izbiro mešanice procesorjev
- Zamrzni vhodno pogodbo: senzorji, formati podatkov, model, ločljivost in pogoji delovanja.
- Preverite podporo modela in kakovost izhoda, preden primerjate prepustnost pospeševalnika.
- Ločeno izmerite pridobitev, predprocesiranje, sklepanje in dostavo, nato izmerite celotno pot.
- Ponovite pri trajni toplotni obremenitvi s snemanjem, povezovanjem v omrežje in aktivnimi vsemi predvidenimi senzorji.
- Beležite starost čakalne vrste, izgubljene vnose in zakasnitev repa, tako da visoka povprečna hitrost ne prikrije občasnih zamud.
Hranite revizijo plošče, sliko programske opreme, različice orodne verige in preskusne vnose z rezultati. Za izvedbo Rockchip je Vodnik za uvajanje modela RK3588 razvija ta potek dela. Za podatke kamere za dogodke uporabite vodnik za integracijo programske opreme da določite časovne žige in predstavitve, preden izberete pot sklepanja.
Ko je delovna obremenitev opredeljena, primerjajte Možnosti integracije SoM in SBC. Ta odločitev povezuje računalniško arhitekturo s priključki, napajanjem, ohišje in proizvodnim delom.
Od izbire procesorja do izdelka, ki ga je mogoče sestaviti
Ožji izbor procesorjev je uporaben le, če ustreza celotnemu izdelku. Preden naročite ploščo po meri, spremenite delovno obremenitev v kratek inženirski opis:
- Vhodi: število senzorjev, vmesniki, stopnje vzorčenja in zahteve glede sinhronizacije.
- Delovna obremenitev AI: dejanski model, podprto natančnost in sprejemljivo kakovost izpisa.
- Fizične omejitve: dimenzije, vir energije, hlajenje in delovno okolje.
- Dostava: količina prototipa, obseg proizvodnje, lastništvo programske opreme in sprejemljivi testi.
Za inšpekcijsko postajo povežite cevovod kamere s sprožilcem linije, identifikatorjem dela in vmesnikom za rezultate. Naš industrijski strojni vid in rešitev za nadzor kakovosti pojasnjuje, kako te zahteve postanejo pilotni projekt.
MPU, NPU in FPGA edge AI Pogosta vprašanja
Kaj je MPU AI?
MPU AI opisuje delovne obremenitve umetne inteligence, ki so nameščene na vgrajeni mikroprocesorski platformi, običajno z Linux in pogosto z integriranim ali spremljevalnim pospeškom, kot je NPU, GPU ali FPGA. MPU običajno upravlja aplikacije, mreženje, shranjevanje, varnost in orkestracijo okoli sklepnega cevovoda.
Ali lahko MPU izvaja strojno učenje?
ja Delovne obremenitve strojnega učenja MPU se lahko izvajajo na jedrih CPU ali uporabljajo integrirane pospeševalnike. Za produkcijske sisteme so podpora za model, pasovna širina pomnilnika, trajna termika in zakasnitev od konca do konca pomembnejši od samega naslova TOPS.
NPU proti FPGA: kaj je boljše za edge AI?
NPU je običajno enostavnejša izbira za podprto sklepanje nevronske mreže z visoko zmogljivostjo na vat. FPGA je bolj priporočljiv, kadar so vmesniki senzorjev po meri, deterministična predobdelava, neobičajni formati podatkov ali specializirani cevovodi osrednjega pomena za načrtovanje. Veliko sistemov uporablja oboje.
Ali lahko izvajate delovno obremenitev NPU na FPGA?
FPGA lahko izvaja pospeševalnike nevronskih omrežij ali cevovode sklepanja, vendar ni samodejno enakovreden namenskemu NPU. Trgovina vključuje programabilne logične vire, pomnilnik, zrelost orodne verige, podporo modelu, prizadevanja za preverjanje in moč.
Kdaj je sklepanje FPGA AI smiselno?
FPGA Umetno sklepanje je privlačno, kadar mora biti sklepanje tesno povezano z determinističnim predprocesiranjem, vmesniki po meri ali specializiranim premikanjem podatkov. Še posebej je uporabno, kadar standardno izvajalno okolje NPU ne ustreza omejitvam poti senzorja ali zakasnitve.
Kjer se TinyML prilega robno računalništvo
robno računalništvo opisuje obdelavo blizu vira podatkov; edge AI tam uporablja sklepanje strojnega učenja. TinyML obravnava bolj omejen razred uvajanja, pogosto na mikrokontrolerjih z omejenim pomnilnikom in močjo. Majhen klasifikator vibracij in cevovod zaznavanja z več kamerami zato potrebujeta zelo različne proračune za strojno opremo, čeprav sta lahko oba robna umetna inteligenca.
Za cilj mikrokrmilnika preverite velikost modela, izvajalni pomnilnik, podprte operaterje in stroške pridobivanja. Za načrt, ki temelji na NPU ali FPGA, ocenite tudi gibanje pomnilnika in razdelitev med pospešenim in nepospešenim delom. Izberite najmanjšo arhitekturo, ki izpolnjuje izmerjeno nalogo in zahteve po obnovitvi, namesto da izberete tehnologijo samo iz njene kratice.
Tehnične reference
- Rockchip: programske komponente RKNN in orodja za uvajanje
- Rockchip: pretvorba modela in primeri sklepanja
- Gallego et al.: Vizija na podlagi dogodkov – Anketa
- TensorFlow Lite Micro: sklepanje o napravah z omejenim pomnilnikom
Primer pasovne širine je ekspliciten izračun in ne merilo uspešnosti izdelka. Potrdite izbrano arhitekturo glede na predvideno delovno obremenitev.
Razdelite svojo dejansko robno obremenitev AI.
Pošljite vmesnike senzorjev, vrsto modela, hitrost prenosa podatkov, ovojnico moči in omejitve uvajanja. Lahko jih preslikamo v arhitekturo MPU/NPU/FPGA in ustrezen razred računalniških modulov.
