Što znači izraz „field programmable array”?

Puni naziv je Field Programmable Gate Array (FPGA), programirljivo polje logičkih vrata. FPGA ostvaruje konfigurabilnu digitalnu logiku, dok NPU ubrzava podržane operacije neuronskih mreža. Izbor ovisi o stvarnom putu signala. FPGA obrada signala može koristiti paralelnim sučeljima ili vremenski osjetljivom prikupljanju, a NPU može pojednostavniti podržano inferencijsko opterećenje.

Od razvojne FPGA ploče do proizvoda po mjeri

FPGA ploča dokazuje samo dio sustava. Projekt po mjeri treba i slijed uključivanja napajanja, taktove, memorijska sučelja, toplinski projekt i ponovljivu metodu ispitivanja. Usporedite napor projektiranja i provjere FPGA-a s MPU ili SoC FPGA arhitekturom. Trošak FPGA-a uključuje inženjerski rad, alate, složenost ploče i proizvodna ispitivanja, a ne samo čip.

Što je AI MPU?

MPU platforma sposobna za AI kombinira aplikacijski mikroprocesor sa softverom i resursima za ubrzanje potrebnima za radno opterećenje strojnog učenja. Započnite identificiranjem koji zadaci pripadaju CPU-u, a koji imaju koristi od podržanog akceleratora.

MPU, ili aplikacijski mikroprocesor, obično je softversko središte ugrađenog Linux sustava. “AI MPU” nije zasebna kategorija procesora koliko MPU platforma koja uključuje ili blisko surađuje s resursima za ubrzanje kao što su NPU, GPU, DSP ili FPGA. MPU ugošćuje Linux, umrežavanje, pohranu, sigurnosne usluge, logiku aplikacije i vrijeme izvođenja koje koordinira radna opterećenja umjetne inteligencije.

Za MPU strojno učenje praktično pitanje nije samo brzina procesora. Propusnost memorije, podrška za akcelerator, kamera i I/O, Linux BSP kvaliteta, dugoročna dostupnost, toplinski dizajn i zrelost lanca alata često su važniji od naslovne vrijednosti TOPS.

Što MPU čini dobrom platformom za umjetnu inteligenciju?

Najbolji MPU za umjetnu inteligenciju specifičan je za radno opterećenje. Vision gateway može dati prioritet MIPI CSI, hardverskim video cjevovodima i NPU. Robusno misijsko računalo možda će trebati PCIe, višestruke Ethernet priključke, determinističke popratne jezgre i jače sigurnosne značajke. Industrijska platforma može cijeniti dug životni vijek proizvoda, TSN, CAN-FD i stabilan Linux ekosustav.

Usporedite stvarni model i kompletan lanac predprocesiranja. Platforma s nižom oglašenom brojkom akceleratora može pobijediti ako izbjegava memorijske kopije, podržava potrebne operatore i održava učinkovit put od senzora do rezultata.

NPU: učinkovito neuralno zaključivanje na rubu

Rub NPU ubrzava operatore neuronske mreže kao što su konvolucije, matrične operacije i uobičajene aktivacijske funkcije. To je obično najučinkovitije mjesto za podržano otkrivanje, klasifikaciju, segmentaciju i modele ekstrakcije značajki kada su snaga i propusnost održivog zaključivanja važni.

Performanse NPU ovise o kompilaciji i pokrivenosti operatera. Nepodržani slojevi mogu se vratiti na CPU ili drugi akcelerator. Zahtjevi za kvantizacijom, izgled tenzora, ulazna rezolucija i kretanje memorije također mogu dramatično promijeniti performanse u stvarnom svijetu. Uvijek usporedite proizvodni grafikon umjesto da se oslanjate samo na teoretski TOPS.

FPGA: deterministički cjevovodi i AI zaključivanje gdje je fleksibilnost važna

FPGA se ističe u determinističkom kretanju podataka, prilagođenim sučeljima i masivnim paralelnim cjevovodima. U rubnim sustavima može deserijalizirati senzore, poravnati vremenske oznake, filtrirati podatke, generirati područja od interesa, izvršiti pretprocesiranje slike i hraniti akcelerator s predvidljivom latencijom. FPGA AI zaključivanje također je moguće kada se model dobro preslikava na dostupni DSP, memoriju i stog ubrzanja dobavljača.

Kompromis je inženjerski napor. RTL ili HLS dizajn, simulacija, vrijeme zatvaranja, verifikacija i strategija ažuriranja moraju se planirati. Treba odabrati FPGA jer determinističko ponašanje ili prilagođeni paralelizam stvara vrijednost sustava—a ne samo zato što može izvoditi aritmetiku.

NPU protiv FPGA za edge AI

Odluka NPU protiv FPGA često je lažna binarna. NPU općenito je lakši izbor za podržane neuronske mreže i snažnu izvedbu po vatu. FPGA je jači kada sustav treba prilagođena senzorska sučelja, determinističku predprocesiranje, neobične formate podataka ili strogo kontrolirani cjevovod prije i poslije zaključivanja.

Uobičajena arhitektura koristi oboje: FPGA za unos senzora i pretprocesiranje, NPU za neuronsku mrežu i MPU za Linux orkestraciju. Ovo smanjuje količinu nepravilnog rada koji je prisiljen na bilo koji procesor.

IzvorOpterećenja koja najbolje odgovarajuGlavna ograničenja
FPGADeterministički cjevovodi, prilagođeni I/O, vremensko žigosanje, pretprocesiranje, specijalizirano ubrzanjeRTL/HLS trud, verifikacija, resursi uređaja
NPUPodržano neuralno zaključivanje s dobrim performansama po vatuOperaterska podrška, kompajler/vrijeme izvođenja, kvantizacija i pomicanje memorije
MPULinux aplikacije, umrežavanje, pohrana, kibernetička sigurnost, orkestracijaManje determinističko izvršenje; režijski troškovi opće namjene
MCU / RT jezgraRegulacijske petlje, sigurnosni nadzor, sekvenciranje snage, deterministički I/OOgraničena memorija i računanje visoke razine
FPGAI/O
NPUAI
MPULinux · I/O

Edge computing

  1. Počnite s rokovima: identificirati koji signali imaju stroge zahtjeve za vremenski raspored i maksimalno kašnjenje od senzora do akcije.
  2. Brzine podataka karte: izračunati propusnost senzora, međuveličine tenzora i promet memorije u najgorem slučaju.
  3. Držite deterministički unos blizu sučelja: FPGA, DMA motori ili jezgre u stvarnom vremenu često su prikladni.
  4. Postavite podržane neuralne modele na NPU: potvrditi pokrivenost operatera i stvarnu kompiliranu izvedbu.
  5. Koristite MPU za sustav: umrežavanje, pohrana, ažuriranja, bilježenje, API-ji i politika primjene prirodno pripadaju Linux-u.
  6. Rezervirajte kontrolu u stvarnom vremenu: MCU ili deterministička jezgra trebala bi nadzirati vremenski kritičnu aktivaciju i zdravlje platforme gdje je to potrebno.

Memorijska propusnost često je skriveno usko grlo

Mnogi dizajni rubne umjetne inteligencije usredotočuju se na vrhunce računanja i kasnije otkrivaju da kopije, pretvorba boja, ponovno formatiranje tenzora ili dijeljeni DDR dominiraju kašnjenjem. Zero-copy ili low-copy staze, DMA topologiju, ponašanje predmemorije i akceleratorski pristup memoriji treba procijeniti rano. Toplinsko prigušivanje također može pretvoriti jaku referentnu vrijednost u slabu održivu izvedbu.

Ovo je posebno važno kada više kamera, radara, senzora događaja ili Ethernet tokova velike brzine dijele isti memorijski podsustav.

Primjeri referentne arhitekture

Vizija / cjevovod senzora događaja

Senzor → FPGA unos i vremensko žigosanje → NPU zaključivanje → MPU usluge odlučivanja → CAN-FD ili Ethernet izlaz. Ovo je snažan obrazac za percepciju niske latencije i izravno je povezan s našim .

Ugrađeno AI računalo

I/O velike brzine → DMA / staza akceleratora → NPU ili GPU zaključak → Linux aplikacijske usluge → pohrana i mrežni API-ji. Naš ugrađeni računalni modul i robusno rubno računalo klase proizvoda izgrađene su oko ove vrste podjele.

Industrijski deterministički pristupnik

CAN-FD / serijska / Ethernet sučelja → FPGA ili MCU vremensko žigosanje i rukovanje protokolom → MPU usluge → izborna NPU analitika. Ovdje deterministički I/O i dugoročna mogućnost održavanja softvera mogu biti važniji od maksimalne AI propusnosti.

Kako odabrati između FPGA, NPU i MPU

Odaberite između cjelokupnog radnog opterećenja, a ne oznake procesora. Ako je dominantni problem neuronsko zaključivanje, počnite od NPU kompatibilnosti. Ako dominiraju prilagođeni I/O i deterministička predobrada, procijenite resurse FPGA. Ako Linux usluge, umrežavanje i aplikacijski softver dominiraju, počnite sa MPU mogućnošću. Većina rubnih platformi visokih performansi kombinirat će najmanje dva od ovih resursa.

Prije postavljanja hardvera, pokrenite reprezentativne streamove kroz predviđeni softverski skup i izmjerite latenciju od kraja do kraja, snagu, propusnost memorije i temperaturu. Taj je dokaz vrjedniji od generičkog rangiranja akceleratora.

Uspješni primjer: četiri kamere i proračun zajedničke memorije

Razmotrimo primjer planiranja s četiri toka 1280 × 720 pri 30 okvira u sekundi, predstavljenih kao RGB s jednim bajtom po kanalu nakon pretvorbe slike. Njihovo kombinirano korisno opterećenje logičke slike je 4 × 1280 × 720 × 30 × 3 = 331,776,000 bajtova u sekundi, približno 332 MB/s u decimalnim jedinicama. Ovo nije bitrate veze kamere ili izmjerena izvedba proizvoda ALVEXIS.

Jedna dodatna kopija punog okvira čita i zapisuje taj korisni teret, dodajući otprilike 664 MB/s memorijskog prometa prije razmatranja ponašanja predmemorije ili drugih operacija. Tenzori modela, pretvorba boja, bilježenje i istodobne usluge dodaju vlastiti promet. To objašnjava zašto dizajn može biti ograničen kretanjem podataka čak i kada se njegova ocjena akceleratora naslova čini dovoljnom.

Rad do mjestaPolazna točkaDokazi prije počinjenja
Unos kamere i sinkronizacijaPodržana SoC sučelja, sa FPGA ili pratećim uređajem prema potrebiSimultano snimanje toka, ponašanje vremenske oznake i gubitak pod opterećenjem
Neuralno zaključivanjeNPU kada su odabrani grafikon i preciznost podržaniPreciznost pretvorbe i kontinuirana mjerenja aplikacije na uređaju
Linux usluge i snimanjeMPU resursa i eksplicitno proračunat put pohraneCPU, memorija i ponašanje I/O dok je zaključivanje aktivno
Vremenski kritična vanjska kontrolaPrikladan kontroler u stvarnom vremenu ili potvrđena deterministička implementacijaDokazi o vremenu odgovora pod relevantnim radnim opterećenjem u najgorem slučaju

Svrha particioniranja je da se svaki zahtjev vremena i resursa učini eksplicitnim. To ne znači da svaki dizajn treba četiri različita procesora. Započnite s najjednostavnijom arhitekturom koja ispunjava zahtjeve, zatim dodajte resurse tamo gdje ih mjerenja ili ograničenja sučelja opravdavaju.

Plan provjere valjanosti za odabir kombinacije procesora

  1. Zamrzni ulazni ugovor: senzori, formati podataka, model, rezolucija i radni uvjeti.
  2. Provjerite podršku modela i kvalitetu izlaza prije usporedbe propusnosti akceleratora.
  3. Odvojeno izmjerite akviziciju, pretprocesiranje, zaključivanje i isporuku, a zatim izmjerite cijeli put.
  4. Ponovite pod trajnim toplinskim opterećenjem uz aktivno snimanje, umrežavanje i sve predviđene senzore.
  5. Bilježite starost čekanja, izgubljene ulaze i latenciju repa, tako da visoka prosječna stopa ne skriva povremena kašnjenja.

Čuvajte reviziju ploče, sliku softvera, verzije lanca alata i testne unose s rezultatima. Za implementaciju Rockchip, Vodič za implementaciju modela RK3588 razvija ovaj tijek rada. Za podatke kamere za događaje koristite vodič za integraciju softvera za definiranje vremenskih oznaka i prikaza prije odabira puta zaključka.

Nakon što je radno opterećenje karakterizirano, usporedite Mogućnosti integracije SoM i SBC. Ta odluka povezuje računalnu arhitekturu s konektorima, napajanjem, kućište i proizvodnim radom.

Od odabira procesora do proizvoda koji se može graditi

Uži izbor procesora koristan je samo ako odgovara kompletnom proizvodu. Prije nego što naručite ploču po narudžbi, pretvorite posao u kratki inženjerski sažetak:

  • Unosi: broj senzora, sučelja, stope uzorkovanja i zahtjevi za sinkronizaciju.
  • Radno opterećenje umjetne inteligencije: stvarni model, podržana preciznost i prihvatljiva kvaliteta ispisa.
  • Fizička ograničenja: dimenzije, izvor napajanja, hlađenje i radno okruženje.
  • Dostava: količina prototipa, obujam proizvodnje, vlasništvo softvera i testovi prihvaćanja.

Za stanicu za inspekciju, spojite cjevovod kamere na okidač linije, identifikator dijela i sučelje rezultata. Naš industrijski strojni vid i rješenje za kontrolu kvalitete objašnjava kako ti zahtjevi postaju pilot-projekt.

Česta pitanja o MPU, NPU i FPGA edge AI

Što je MPU AI?

MPU AI opisuje radna opterećenja umjetne inteligencije postavljena na ugrađenoj mikroprocesorskoj platformi, obično sa Linux i često s integriranim ili pratećim ubrzanjem kao što je NPU, GPU ili FPGA. MPU obično upravlja aplikacijama, umrežavanjem, pohranom, sigurnošću i orkestracijom oko cjevovoda zaključivanja.

Može li MPU pokretati strojno učenje?

da MPU radna opterećenja strojnog učenja mogu se izvoditi na CPU jezgrama ili koristiti integrirane akceleratore. Za proizvodne sustave, podrška za modele, propusnost memorije, trajna toplina i latencija od kraja do kraja važniji su od samog naslova TOPS.

NPU vs FPGA: što je bolje za edge AI?

NPU obično je jednostavniji izbor za podržano zaključivanje neuronske mreže sa snažnim performansama po vatu. FPGA je poželjniji kada su prilagođena sučelja senzora, deterministička predprocesiranje, neuobičajeni formati podataka ili specijalizirani cjevovodi ključni za dizajn. Mnogi sustavi koriste oboje.

Možete li pokrenuti radno opterećenje NPU na FPGA?

FPGA može implementirati akceleratore neuronske mreže ili cjevovode zaključivanja, ali nije automatski ekvivalent namjenskom NPU. Trgovina uključuje programibilne logičke resurse, memoriju, zrelost alatnog lanca, podršku modelu, trud i snagu verifikacije.

Kada FPGA AI zaključivanje ima smisla?

FPGA AI zaključivanje je privlačno kada zaključivanje mora biti usko povezano s determinističkom pretprocesiranjem, prilagođenim sučeljima ili specijaliziranim kretanjem podataka. Posebno je korisno kada standardno vrijeme izvođenja NPU ne odgovara put senzora ili ograničenjima latencije.

Gdje se TinyML uklapa u rubno računalstvo

rubno računalstvo opisuje obradu blizu izvora podataka; edge AI tamo primjenjuje zaključivanje strojnog učenja. TinyML se bavi ograničenijom klasom implementacije, često na mikrokontrolerima s ograničenom memorijom i snagom. Mali klasifikator vibracija i cjevovod percepcije s više kamera stoga zahtijevaju vrlo različite hardverske proračune iako oboje mogu biti rubni AI.

Za cilj mikrokontrolera provjerite veličinu modela, radnu memoriju, podržane operatore i troškove akvizicije. Za dizajn temeljen na NPU ili FPGA, također procijenite kretanje memorije i podjelu između ubrzanog i neubrzanog rada. Odaberite najmanju arhitekturu koja zadovoljava izmjerene zahtjeve zadatka i oporavka, umjesto odabira tehnologije samo iz njezinog akronima.

Tehničke reference

Primjer propusnosti eksplicitni je izračun, a ne referentna vrijednost proizvoda. Validirajte odabranu arhitekturu na predviđenom radnom opterećenju.

Podijelite svoj pravi edge AI posao.

Pošaljite sučelja senzora, vrstu modela, brzine prijenosa podataka, omotnicu snage i ograničenja postavljanja. Možemo ih preslikati na MPU/NPU/FPGA arhitekturu i odgovarajuću klasu računalnog modula.