Mis on AI MPU?
AI-toega platvorm MPU ühendab rakenduse mikroprotsessori masinõppe töökoormuse jaoks vajaliku tarkvara ja kiirendusressurssidega. Alustuseks tehke kindlaks, millised ülesanded kuuluvad CPU-le ja millised saavad toetatud kiirendist kasu.
MPU ehk rakenduse mikroprotsessor on tavaliselt manustatud Linux süsteemi tarkvarakeskus. AI MPU ei ole eraldiseisev protsessorikategooria, vaid platvorm MPU, mis sisaldab kiirendusressursse, nagu NPU, GPU, DSP või FPGA, või teeb nendega tihedat koostööd. MPU majutab Linux, võrku, salvestust, turvateenuseid, rakendusloogikat ja käitusaega, mis koordineerib tehisintellekti töökoormust.
MPU masinõppe puhul ei ole praktiline küsimus ainult protsessori kiiruses. Mälu ribalaius, kiirendi tugi, kaamera ja kiire I/O, Linux BSP kvaliteet, pikaajaline saadavus, termiline disain ja mudeli-tööriistaahela küpsus on sageli olulisemad kui pealkirja TOPS väärtus.
Mis teeb MPU-st hea tehisintellekti platvormi?
Tehisintellekti parim MPU on töökoormusest sõltuv. Nägemislüüs võib eelistada MIPI CSI, riistvaralisi videokonveierid ja NPU. Vastupidav missiooniarvuti võib vajada PCIe, mitut Ethernet porti, deterministlikke kaastuumasid ja tugevamaid turvaelemente. Tööstusplatvorm võib väärtustada pikka toote eluiga, TSN-i, CAN-FD ja stabiilset Linux ökosüsteemi.
Võrrelge tegelikku mudelit ja lõpetage eeltöötlusahel. Väiksema reklaamitud kiirendiga platvorm võib võita, kui see väldib mälukoopiaid, toetab vajalikke operaatoreid ja hoiab anduri ja tulemuseni jõudmise tee tõhusana.
NPU: tõhus neuraalne järeldus serval
Serv NPU kiirendab närvivõrgu operaatoreid, nagu konvolutsioonid, maatriksoperatsioonid ja tavalised aktiveerimisfunktsioonid. Tavaliselt on see kõige tõhusam koht toetatud tuvastamise, klassifitseerimise, segmenteerimise ja funktsioonide eraldamise mudelite jaoks, kui võimsus ja pidev järelduste läbilaskevõime on olulised.
NPU jõudlus sõltub kompileerimisest ja operaatori levialast. Toetamata kihid võivad langeda tagasi CPU-le või mõnele muule kiirendile. Kvantimisnõuded, tensori paigutus, sisendi eraldusvõime ja mälu liikumine võivad samuti reaalset jõudlust dramaatiliselt muuta. Kasutage alati tootmisgraafikut, selle asemel, et tugineda ainult teoreetilisele TOPS.
FPGA: deterministlikud torujuhtmed ja tehisintellekti järeldused, kus paindlikkus on oluline
FPGA paistab silma deterministliku andmete liikumise, kohandatud liideste ja massiliselt paralleelsete konveieritega. Ääresüsteemides saab see andureid deserialiseerida, ajatempleid joondada, andmeid filtreerida, huvipakkuvaid piirkondi genereerida, teostada kujutise eeltöötlust ja toita kiirendit prognoositava latentsusega. FPGA Tehisintellekti järeldus on võimalik ka siis, kui mudel sobib hästi saadaoleva DSP, mälu ja tarnija kiirenduspinuga.
Kompromiss on inseneritöö. Kavandada tuleb RTL või HLS projekteerimine, simulatsioon, ajastuse sulgemine, kontrollimine ja uuendamise strateegia. FPGA tuleks valida seetõttu, et deterministlik käitumine või kohandatud paralleelsus loob süsteemi väärtuse, mitte lihtsalt seetõttu, et see suudab aritmeetikat käitada.
NPU vs FPGA, edge AI
Otsus NPU vs FPGA on sageli vale binaar. NPU on üldiselt lihtsam valik toetatud närvivõrkude ja suure jõudlusega vati kohta. FPGA on tugevam, kui süsteem vajab kohandatud anduriliideseid, deterministlikku eeltöötlust, ebatavalisi andmevorminguid või täpselt kontrollitud konveierit enne ja pärast järeldust.
Levinud arhitektuur kasutab mõlemat: FPGA andurite sissevõtmiseks ja eeltöötluseks, NPU närvivõrgu jaoks ja MPU Linux orkestreerimiseks. See vähendab ühele protsessorile sunnitud ebaregulaarse töö hulka.
| Ressurss | Kõige paremini sobivad töökoormused | Peamised piirangud |
|---|---|---|
| FPGA | Deterministlikud konveierid, kohandatud I/O, ajatempel, eeltöötlus, spetsiaalne kiirendus | RTL/HLS-i jõupingutused, kontrollimine, seadme ressursid |
| NPU | Toetatud neuraalne järeldus hea jõudlusega vati kohta | Operaatori tugi, kompilaator/käitusaeg, kvantimine ja mälu liikumine |
| MPU | Linux rakendused, võrgundus, salvestusruum, küberturvalisus, orkestreerimine | Vähem deterministlik täitmine; üldotstarbelised üldkulud |
| MCU / RT tuum | Juhtahelad, ohutusjärelevalve, võimsuse järjestus, deterministlik I/O | Piiratud mälu ja kõrgetasemeline arvutus |
Äärearvutus
- Alusta tähtaegadest: tuvastada, millistel signaalidel on ranged ajastusnõuded ja maksimaalne anduri tegevuse viivitus.
- Kaardi andmeedastuskiirused: arvutada anduri läbilaskevõime, vahepealsed tensori suurused ja halvimal juhul mäluliiklus.
- Hoidke deterministlik neelamine liidese lähedal: FPGA, on sageli sobivad DMA-mootorid või reaalajas töötavad tuumad.
- Asetage toetatud närvimudelid seadmele NPU: kinnitada operaatori leviala ja tegelik kompileeritud jõudlus.
- Kasutage süsteemi jaoks numbrit MPU: võrgundus, salvestusruum, värskendused, logimine, API-d ja rakenduspoliitika kuuluvad loomulikult kategooriasse Linux.
- Reaalajas kontrolli reserveerimine: MCU või deterministlik tuum peaks vajaduse korral jälgima ajakriitilist käivitamist ja platvormi tervist.
Mälu ribalaius on sageli varjatud kitsaskoht
Paljud edge AI kujundused keskenduvad arvutamise tippudele ja avastavad hiljem, et koopiad, värvide teisendamine, tensori ümbervormindamine või jagatud DDR latentsusaeg domineerivad. Nullkoopia või vähese koopiaga teed, DMA topoloogiat, vahemälu käitumist ja kiirendi mälule juurdepääsu tuleks varakult hinnata. Termiline drossel võib muuta tugeva võrdlusaluse ka nõrgaks püsivaks jõudluseks.
See on eriti oluline, kui sama mälu alamsüsteemi jagavad mitu kaamerat, radarit, sündmuseandurit või kiiret Ethernet voogu.
Arhitektuuri viitenäited
Nägemis-/sündmusanduri torujuhe
Andur → FPGA sisestus ja ajatempel → NPU järeldus → MPU otsustusteenused → CAN-FD või Ethernet väljund. See on madala latentsusega tajumise tugev muster ja on otse meiega ühenduses .
Sisseehitatud AI arvuti
Kiired I/O → DMA / kiirendi tee → NPU või GPU järeldus → Linux rakendusteenused → salvestus- ja võrgu API-d. Meie manustatud arvutusmoodul ja tugeva servaga arvuti tooteklassid on üles ehitatud seda tüüpi partitsioonide ümber.
Tööstuslik deterministlik värav
CAN-FD / jada- / Ethernet liidesed → FPGA või MCU ajatempli ja protokollide haldamine → MPU teenused → valikuline NPU analüütika. Siin võivad deterministlik I/O ja tarkvara pikaajaline hooldatavus olla olulisemad kui maksimaalne tehisintellekti läbilaskevõime.
Kuidas valida FPGA, NPU ja MPU vahel
Valige kogu töökoormuse, mitte protsessori sildi hulgast. Kui domineeriv probleem on neuraalne järeldus, alustage ühilduvusest NPU. Kui domineerivad kohandatud I/O ja deterministlik eeltöötlus, hinnake FPGA ressursse. Kui domineerivad Linux teenused, võrgundus ja rakendustarkvara, alustage MPU võimalusega. Enamik suure jõudlusega servaplatvorme ühendab vähemalt kaks neist ressurssidest.
Enne riistvara kasutuselevõttu käivitage tüüpilised vood läbi kavandatud tarkvaravirna ja mõõtke otsast lõpuni latentsust, võimsust, mälu ribalaiust ja termilisi väärtusi. Need tõendid on väärtuslikumad kui üldised kiirendi edetabelid.
Töötatud näide: neli kaamerat ja ühismälu eelarve
Kaaluge planeerimisnäidet nelja 1280 × 720 vooga kiirusega 30 kaadrit sekundis, mis on RGB-na üks bait kanali kohta pärast pildi teisendamist. Nende kombineeritud loogilise pildi kasulik koormus on 4 × 1280 × 720 × 30 × 3 = 331,776,000 baiti sekundis, ligikaudu 332 MB/s kümnendühikutes. See ei ole toote ALVEXIS kaamera lingi bitikiirus ega mõõdetud jõudlus.
Üks täiendav täiskaader koopia loeb ja kirjutab seda kasulikku koormust, lisades enne vahemälu käitumise või muude toimingute kaalumist umbes 664 MB/s mäluliiklust. Mudelitesorid, värvide teisendamine, logimine ja samaaegsed teenused lisavad oma liiklust. See selgitab, miks andmete liikumine võib disaini piirata isegi siis, kui selle pealkirja kiirendi hinnang näib olevat piisav.
| Töö koha peale | Lähtepunkt | Tõendid enne toimepanemist |
|---|---|---|
| Kaamera sissevõtmine ja sünkroonimine | Toetatud SoC-liidesed FPGA või kaasseadmega, kui vaja | Samaaegne voo hõivamine, ajatempli käitumine ja kadu koormuse all |
| Neuraalne järeldus | NPU, kui valitud graafik ja täpsus on toetatud | Konversiooni täpsus ja püsivad seadmesisesed rakenduste mõõtmised |
| Linux teenused ja salvestamine | MPU ressurssi ja selge eelarvega salvestustee | CPU, mälu ja I/O käitumine, kui järeldus on aktiivne |
| Ajakriitiline väline juhtimine | Sobiv reaalajas kontroller või valideeritud deterministlik teostus | Vastamisaja tõendid asjakohase halvima töökoormuse korral |
Jaotamise eesmärk on muuta iga ajastuse ja ressursinõue selgesõnaliseks. See ei tähenda, et iga disain vajab nelja erinevat protsessorit. Alustage kõige lihtsama arhitektuuriga, mis vastab nõuetele, seejärel lisage ressursse, kui mõõtmised või liidesepiirangud seda õigustavad.
Valideerimiskava protsessorite segu valimiseks
- Külmutage sisendleping: andurid, andmevormingud, mudel, eraldusvõime ja töötingimused.
- Enne kiirendi läbilaskevõime võrdlemist kontrollige mudeli tuge ja väljundkvaliteeti.
- Mõõtke hankimist, eeltöötlust, järeldust ja edastamist eraldi, seejärel mõõtke kogu teekonda.
- Korrake pideva termilise koormuse korral salvestuse, võrgu loomise ja kõigi ette nähtud anduritega.
- Salvestage järjekorra vanus, kadunud sisendid ja saba latentsus, nii et kõrge keskmine määr ei varja vahelduvaid viivitusi.
Säilitage plaadi versioon, tarkvara kujutis, tööriistaahela versioonid ja testimise sisendid koos tulemustega. Rakenduse Rockchip puhul on RK3588 mudeli juurutamise juhend arendab seda töövoogu. Sündmuste kaamera andmete jaoks kasutage tarkvara integreerimise juhend defineerida ajatemplid ja esitused enne järeldustee valimist.
Pärast töökoormuse iseloomustamist võrrelge SoM ja SBC integreerimisvalikud. See otsus ühendab arvutusarhitektuuri pistikute, toite, korpuse ja tootmistöödega.
Protsessori valikust ehitatava tooteni
Protsessori valikloend on kasulik ainult siis, kui see sobib kogu tootega. Enne kohandatud tahvli tellimist muutke töökoormus lühikeseks inseneriülevaateks:
- Sisendid: andurite arv, liidesed, diskreetimissagedused ja sünkroonimisnõuded.
- AI töökoormus: tegelik mudel, toetatud täpsus ja vastuvõetav väljundkvaliteet.
- Füüsilised piirangud: mõõtmed, toiteallikas, jahutus ja töökeskkond.
- Kohaletoimetamine: prototüübi kogus, tootmismaht, tarkvara omandi- ja vastuvõtutestid.
Ülevaatusjaama jaoks ühendage kaamera torujuhe liini päästiku, osa identifikaatori ja tulemuse liidesega. Meie tööstusliku masinanägemise ja kvaliteedikontrolli lahendus selgitab, kuidas nendest nõuetest saab piloot.
MPU, NPU ja FPGA edge AI KKK
Mis on MPU AI?
MPU AI kirjeldab tehisintellekti töökoormust, mis on juurutatud manustatud mikroprotsessoriplatvormil, tavaliselt Linux ja sageli integreeritud või kaaskiirendusega, nagu NPU, GPU või FPGA. MPU haldab tavaliselt rakendusi, võrkude loomist, salvestust, turvalisust ja orkestreerimist järelduskonveieri ümber.
Kas MPU saab käivitada masinõppe?
Jah. MPU masinõppe töökoormust saab töötada CPU tuumadel või kasutada integreeritud kiirendeid. Tootmissüsteemide puhul on mudeli tugi, mälu ribalaius, püsivad termid ja otspunkti latentsus olulisem kui ainult pealkiri TOPS.
NPU vs FPGA: kumb on parem edge AI jaoks?
NPU on tavaliselt lihtsam valik toetatud närvivõrgu järelduste jaoks, millel on tugev jõudlus vati kohta. FPGA on eelistatav, kui kohandatud anduriliidesed, deterministlik eeltöötlus, ebatavalised andmevormingud või spetsiaalsed konveierid on disainis kesksel kohal. Paljud süsteemid kasutavad mõlemat.
Kas saate seadmel FPGA käitada töökoormust NPU?
FPGA võib rakendada närvivõrgu kiirendeid või järelduskonveieri, kuid see ei ole automaatselt samaväärne spetsiaalse NPU-ga. Kaubandus hõlmab programmeeritavaid loogikaressursse, mälu, tööriistaahela küpsust, mudeli tuge, kontrollimisjõudu ja võimsust.
Millal on FPGA AI järeldus mõistlik?
FPGA AI järeldused on atraktiivsed, kui järeldused peavad olema tihedalt seotud deterministliku eeltöötluse, kohandatud liideste või spetsiaalsete andmete liikumisega. See on eriti kasulik, kui standardne käitusaeg NPU ei sobi anduri tee või latentsuspiirangutega.
Kuhu TinyML sobib servaarvutusse
Edge computing kirjeldab töötlemist andmeallika lähedal; edge AI rakendab seal masinõppe järeldust. TinyML käsitleb piiratumat juurutusklassi, sageli piiratud mälu ja võimsusega mikrokontrolleritel. Väike vibratsiooniklassifikaator ja mitme kaameraga tajumiskonveier vajavad seetõttu väga erinevat riistvaraeelarvet, kuigi mõlemad võivad olla edge AI.
Mikrokontrolleri sihtmärgi puhul kontrollige mudeli suurust, käitusmälu, toetatud operaatoreid ja hankimise üldkulusid. NPU- või FPGA-põhise kujunduse puhul hinnake ka mälu liikumist ning jaotust kiirendatud ja kiirendamata töö vahel. Valige väikseim arhitektuur, mis vastab mõõdetud ülesandele ja taastamisnõuetele, selle asemel, et valida tehnoloogia ainult selle akronüümi järgi.
Tehnilised viited
- Rockchip: RKNN tarkvarakomponendid ja juurutustööriistad
- Rockchip: mudelite teisendamine ja järelduste näited
- Gallego jt: Sündmuspõhine visioon — uuring
- TensorFlow Lite Micro: järeldused mälupiiranguga seadmete kohta
Ribalaiuse näide on selge arvutus, mitte toote võrdlusalus. Kinnitage valitud arhitektuur kavandatud töökoormusel.
Jagage oma tegelik edge AI töökoormus.
Saatke anduriliidesed, mudeli tüüp, andmeedastuskiirused, võimsuse mähis ja kasutuselevõtupiirangud. Saame need kaardistada MPU/NPU/FPGA arhitektuuri ja sobiva arvutusmooduli klassiga.
