Kas ir AI MPU?
Ar AI spējīga MPU platforma apvieno lietojumprogrammu mikroprocesoru ar programmatūru un paātrinājuma resursiem, kas nepieciešami mašīnmācības darba slodzei. Sāciet, nosakot, kuri uzdevumi pieder centrālajam procesoram un kuri gūst labumu no atbalstītā paātrinātāja.
MPU jeb lietojumprogrammu mikroprocesors parasti ir iegultās Linux sistēmas programmatūras centrs. AI MPU nav atsevišķa procesora kategorija, bet gan MPU platforma, kas ietver paātrinājuma resursus, piemēram, NPU, GPU, DSP vai FPGA, vai cieši ar tiem darbojas. MPU mitina Linux, tīklus, krātuvi, drošības pakalpojumus, lietojumprogrammu loģiku un izpildlaiku, kas koordinē AI darba slodzi.
Attiecībā uz MPU mašīnmācīšanos praktiskais jautājums nav tikai CPU ātrums. Atmiņas joslas platums, akseleratora atbalsts, kameras un ātrgaitas I/O, Linux BSP kvalitāte, ilgtermiņa pieejamība, termiskais dizains un modeļa rīkķēdes briedums bieži vien ir svarīgāks par galveno TOPS vērtību.
Kas padara MPU labu mākslīgā intelekta platformu?
Labākais mākslīgā intelekta MPU ir atkarīgs no darba slodzes. Redzes vārtejai par prioritāti var piešķirt MIPI CSI, aparatūras video konveijerus un NPU. Izturīgam misijas datoram var būt nepieciešami PCIe, vairāki Ethernet porti, deterministiski pavadošie kodoli un spēcīgāki drošības līdzekļi. Rūpnieciskā platforma var novērtēt ilgu produkta kalpošanas laiku, TSN, CAN-FD un stabilu Linux ekosistēmu.
Salīdziniet faktisko modeli un pabeidziet pirmapstrādes ķēdi. Platforma ar zemāku reklamēto paātrinātāja skaitli var uzvarēt, ja tā izvairās no atmiņas kopijām, atbalsta nepieciešamos operatorus un nodrošina efektīvu ceļu no sensora līdz rezultātam.
NPU: efektīvs neironu secinājums malā
Mala NPU paātrina neironu tīkla operatorus, piemēram, konvolūcijas, matricas darbības un parastās aktivizācijas funkcijas. Tā parasti ir visefektīvākā vieta atbalstītajiem noteikšanas, klasifikācijas, segmentācijas un funkciju ieguves modeļiem, ja ir svarīga jauda un ilgstoša secinājumu caurlaidspēja.
NPU veiktspēja ir atkarīga no kompilācijas un operatora pārklājuma. Neatbalstītie slāņi var tikt atgriezti pie CPU vai cita paātrinātāja. Kvantēšanas prasības, tensoru izkārtojumi, ievades izšķirtspēja un atmiņas kustība var arī krasi mainīt veiktspēju reālajā pasaulē. Vienmēr veiciet ražošanas diagrammas etalonu, nevis paļaujieties tikai uz teorētisko TOPS.
FPGA: deterministiski cauruļvadi un AI secinājumi, kur elastībai ir nozīme
FPGA izceļas ar deterministisku datu kustību, pielāgotām saskarnēm un masveidā paralēliem konveijeriem. Malu sistēmās tas var deserializēt sensorus, izlīdzināt laikspiedolus, filtrēt datus, ģenerēt interesējošos reģionus, veikt attēla priekšapstrādi un barot paātrinātāju ar paredzamu latentumu. FPGA AI secinājumi ir iespējami arī tad, ja modelis labi atbilst pieejamajam DSP, atmiņai un piegādātāja paātrinājuma steksam.
Kompromiss ir inženierijas darbs. Jāplāno RTL vai HLS projektēšana, simulācija, laika slēgšana, verifikācija un atjaunināšanas stratēģija. FPGA ir jāatlasa, jo deterministiska darbība vai pielāgota paralēlisms rada sistēmas vērtību, nevis tikai tāpēc, ka tā var izpildīt aritmētisko.
NPU pret FPGA par edge AI
Lēmums NPU pret FPGA bieži ir nepatiess binārs. Parasti NPU ir vienkāršāka izvēle atbalstītiem neironu tīkliem un spēcīgai veiktspējai uz vatu. FPGA ir spēcīgāks, ja sistēmai ir nepieciešamas pielāgotas sensoru saskarnes, deterministiska priekšapstrāde, neparasti datu formāti vai stingri kontrolēts konveijers pirms un pēc secinājumiem.
Izplatīta arhitektūra izmanto abus: FPGA sensoru uztveršanai un pirmapstrādei, NPU neironu tīklam un MPU Linux orķestrēšanai. Tas samazina neregulāra darba apjomu, kas uzspiests vienam procesoram.
| Resurss | Vislabāk piemērotas darba slodzes | Galvenie ierobežojumi |
|---|---|---|
| FPGA | Deterministiski cauruļvadi, pielāgots I/O, laikspiedols, pirmapstrāde, specializēta paātrināšana | RTL/HLS piepūle, pārbaude, ierīces resursi |
| NPU | Atbalstīts neironu secinājums ar labu veiktspēju uz vatu | Operatora atbalsts, kompilators/izpildlaiks, kvantēšana un atmiņas kustība |
| MPU | Linux lietojumprogrammas, tīkli, krātuve, kiberdrošība, orķestrēšana | Mazāk deterministiska izpilde; vispārējas nozīmes pieskaitāmās izmaksas |
| MCU / RT kodols | Vadības cilpas, drošības uzraudzība, jaudas secība, deterministiska I/O | Ierobežota atmiņa un augsta līmeņa aprēķins |
Edge computing
- Sāciet ar termiņiem: noteikt, kuriem signāliem ir noteikta laika prasības un maksimālā sensora darbības aizkave.
- Kartes datu pārraides ātrums: aprēķināt sensora caurlaidspēju, tensoru vidējos izmērus un sliktākā gadījuma atmiņas trafiku.
- Saglabājiet deterministisko uzņemšanu saskarnes tuvumā: FPGA, bieži vien ir piemēroti DMA dzinēji vai reāllaika kodoli.
- Novietojiet atbalstītos neironu modeļus uz NPU: apstiprināt operatora pārklājumu un faktisko apkopoto veiktspēju.
- Sistēmai izmantojiet MPU: tīklošana, krātuve, atjauninājumi, reģistrēšana, API un lietojumprogrammu politika dabiski ietilpst Linux.
- Rezerves reāllaika kontrole: Ja nepieciešams, MCU vai deterministiskajam kodolam ir jāuzrauga laika kritiskā darbība un platformas darbība.
Atmiņas joslas platums bieži ir slēptais sašaurinājums
Daudzos edge AI dizainparaugus galvenā uzmanība ir pievērsta skaitļošanas maksimumiem un vēlāk atklājas, ka latentumā dominē kopijas, krāsu pārveidošana, tenzora pārformatēšana vai koplietotais DDR. Nulles kopiju vai zemu kopiju ceļi, DMA topoloģija, kešatmiņas darbība un akseleratora piekļuve atmiņai ir jāizvērtē agri. Termiskā drosele var arī pārvērst spēcīgu etalonu par vāju ilgstošu veiktspēju.
Tas ir īpaši svarīgi, ja vairākas kameras, radars, notikumu sensori vai liela ātruma Ethernet straumes izmanto vienu un to pašu atmiņas apakšsistēmu.
Atsauces arhitektūras piemēri
Redzes / notikumu sensora cauruļvads
Sensors → FPGA pārņemšana un laikspiedols → NPU secinājums → MPU lēmumu pieņemšanas pakalpojumi → CAN-FD vai Ethernet izvade. Tas ir spēcīgs zema latentuma uztveres modelis un ir tieši saistīts ar mūsu .
Iegultais AI dators
Ātrgaitas I/O → DMA/paātrinātāja ceļš → NPU vai GPU secinājumi → Linux lietojumprogrammu pakalpojumi → krātuves un tīkla API. Mūsu iegultais skaitļošanas modulis un izturīgs malu dators produktu klases ir balstītas uz šāda veida sadalīšanu.
Rūpnieciskā deterministiskā vārteja
CAN-FD / sērijas / Ethernet saskarnes → FPGA vai MCU laikspiedols un protokolu apstrāde → MPU pakalpojumi → izvēles NPU analīze. Šeit deterministiskā I/O un programmatūras ilgtermiņa uzturēšana var būt svarīgāka par maksimālo AI caurlaidspēju.
Kā izvēlēties starp FPGA, NPU un MPU
Izvēlieties no visas darba slodzes, nevis procesora etiķetes. Ja dominējošā problēma ir neironu secinājumi, sāciet ar NPU saderību. Ja dominē pielāgotā I/O un deterministiskā priekšapstrāde, novērtējiet FPGA resursus. Ja dominē Linux pakalpojumi, tīklošana un lietojumprogrammatūra, sāciet ar MPU iespējām. Lielākā daļa augstas veiktspējas platformu apvienos vismaz divus no šiem resursiem.
Pirms aparatūras izmantošanas palaidiet reprezentatīvās straumes, izmantojot paredzēto programmatūras steku, un izmēra latentumu, jaudu, atmiņas joslas platumu un termiskos parametrus. Šie pierādījumi ir vērtīgāki par vispārīgiem paātrinātāju klasifikācijām.
Darbīgs piemērs: četras kameras un koplietošanas atmiņas budžets
Apsveriet plānošanas piemēru ar četrām 1280 × 720 straumēm ar 30 kadriem sekundē, kas attēlots kā RGB ar vienu baitu katrā kanālā pēc attēla konvertēšanas. To apvienotā loģiskā attēla slodze ir 4 × 1280 × 720 × 30 × 3 = 331,776,000 baiti sekundē, aptuveni 332 MB/s decimāldaļās. Tas nav kameras saites bitu pārraides ātrums vai izmērītā ALVEXIS produkta veiktspēja.
Viena papildu pilna kadra kopija nolasa un raksta šo lietderīgo slodzi, pievienojot aptuveni 664 MB/s atmiņas trafika, pirms tiek apsvērta kešatmiņas darbība vai citas darbības. Modeļu tensori, krāsu konvertēšana, reģistrēšana un vienlaicīgie pakalpojumi pievieno savu trafiku. Tas izskaidro, kāpēc dizainu var ierobežot datu kustība, pat ja tā virsraksta paātrinātāja vērtējums šķiet pietiekams.
| Darbs uz vietu | Sākumpunkts | Pierādījumi pirms apņemšanās |
|---|---|---|
| Kameras uzņemšana un sinhronizācija | Atbalstītās SoC saskarnes ar FPGA vai papildu ierīci, ja nepieciešams | Vienlaicīga straumes uztveršana, laikspiedola darbība un zudumi slodzes laikā |
| Neironu secinājums | NPU, ja tiek atbalstīta izvēlētā diagramma un precizitāte | Reklāmguvumu precizitāte un ilgstoši ierīces lietojumprogrammu mērījumi |
| Linux pakalpojumi un ierakstīšana | MPU resursi un īpaši budžets krātuves ceļš | CPU, atmiņa un I/O uzvedība, kamēr ir aktīvs secinājums |
| Laika kritiskā ārējā kontrole | Piemērots reāllaika kontrolleris vai apstiprināta deterministiska ieviešana | Reakcijas laika pierādījumi saskaņā ar attiecīgo sliktākā gadījuma darba slodzi |
Sadalīšanas mērķis ir skaidri norādīt katru laiku un resursu prasības. Tas nenozīmē, ka katram dizainam ir nepieciešami četri dažādi procesori. Sāciet ar vienkāršāko arhitektūru, kas atbilst prasībām, pēc tam pievienojiet resursus, ja mērījumi vai saskarnes ierobežojumi tos attaisno.
Validācijas plāns procesora kombinācijas izvēlei
- Iesaldējiet ievades līgumu: sensori, datu formāti, modelis, izšķirtspēja un darbības nosacījumi.
- Pirms paātrinātāja caurlaides salīdzināšanas pārbaudiet modeļa atbalstu un izvades kvalitāti.
- Mēriet iegūšanu, priekšapstrādi, secinājumus un piegādi atsevišķi, pēc tam izmēriet visu ceļu.
- Atkārtojiet ar ilgstošu termisko slodzi ar ierakstīšanu, tīklu un visiem paredzētajiem sensoriem, kas ir aktīvi.
- Ierakstiet rindas vecumu, zaudētās ievades un astes latentumu, tāpēc augsts vidējais rādītājs neslēpj periodiskas aizkaves.
Saglabājiet plates versiju, programmatūras attēlu, rīkķēdes versijas un pārbaudiet ievadi kopā ar rezultātiem. Ieviešanai Rockchip RK3588 modeļa izvietošanas rokasgrāmata attīsta šo darbplūsmu. Notikuma kameras datiem izmantojiet programmatūras integrācijas rokasgrāmata lai definētu laikspiedolus un attēlojumus pirms secinājumu ceļa izvēles.
Pēc darba slodzes raksturošanas salīdziniet SoM un SBC integrācijas opcijas. Šis lēmums savieno skaitļošanas arhitektūru ar savienotājiem, barošanu, korpusu un ražošanas darbu.
No procesora izvēles līdz būvējamam produktam
Procesora izlases saraksts ir noderīgs tikai tad, ja tas atbilst visam produktam. Pirms pasūtījuma dēļa pasūtīšanas pārveidojiet darba slodzi īsā inženierijas īsumā:
- Ievades: sensoru skaits, saskarnes, iztveršanas ātrums un sinhronizācijas prasības.
- AI darba slodze: faktiskais modelis, atbalstītā precizitāte un pieņemama izvades kvalitāte.
- Fiziskie ierobežojumi: izmēri, strāvas avots, dzesēšana un darbības vide.
- Piegāde: prototipa daudzums, ražošanas apjoms, programmatūras īpašumtiesības un pieņemšanas testi.
Pārbaudes stacijai pievienojiet kameras cauruļvadu līnijas palaidējam, daļas identifikatoram un rezultāta saskarnei. Mūsu rūpniecisko mašīnu redzes un kvalitātes kontroles risinājums paskaidro, kā šīs prasības kļūst par pilotu.
MPU, NPU un FPGA edge AI FAQ
Kas ir MPU AI?
MPU AI apraksta mākslīgā intelekta darba slodzes, kas izvietotas iegultā mikroprocesora platformā, parasti ar Linux un bieži vien ar integrētu vai papildu paātrinājumu, piemēram, NPU, GPU vai FPGA. MPU parasti pārvalda lietojumprogrammas, tīklu veidošanu, krātuvi, drošību un orķestrēšanu ap secinājumu cauruļvadu.
Vai MPU var palaist mašīnmācīšanos?
Jā. MPU mašīnmācības darba slodzes var darboties ar CPU kodoliem vai izmantot integrētus paātrinātājus. Ražošanas sistēmām modeļu atbalsts, atmiņas joslas platums, ilgstoša termiskā temperatūra un pilnīga latentums ir svarīgāki nekā tikai virsraksts TOPS.
NPU pret FPGA: kurš ir labāks edge AI?
NPU parasti ir vienkāršāka izvēle atbalstītiem neironu tīkla secinājumiem ar spēcīgu veiktspēju uz vatu. FPGA ir vēlams, ja dizaina pamatā ir pielāgotas sensoru saskarnes, deterministiska pirmapstrāde, neparasti datu formāti vai specializēti konveijeri. Daudzas sistēmas izmanto abus.
Vai varat izpildīt NPU darba slodzi uz FPGA?
FPGA var ieviest neironu tīkla paātrinātājus vai secinājumu konveijerus, taču tas nav automātiski līdzvērtīgs īpašajam NPU. Tirdzniecība ietver programmējamus loģiskos resursus, atmiņu, rīku ķēdes briedumu, modeļa atbalstu, verifikācijas centienus un jaudu.
Kad ir jēga FPGA AI secinājumam?
FPGA AI secinājumi ir pievilcīgi, ja secinājumiem jābūt cieši saistītiem ar deterministisku priekšapstrādi, pielāgotām saskarnēm vai specializētu datu pārvietošanu. Tas ir īpaši noderīgi, ja standarta NPU izpildlaiks neatbilst sensora ceļa vai latentuma ierobežojumiem.
Kur TinyML iekļaujas malu skaitļošanā
Edge computing apraksta apstrādi datu avota tuvumā; edge AI izmanto mašīnmācības secinājumus. TinyML attiecas uz ierobežotāku izvietošanas klasi, bieži vien mikrokontrolleros ar ierobežotu atmiņu un jaudu. Tāpēc nelielam vibrāciju klasifikatoram un vairāku kameru uztveres cauruļvadam ir nepieciešami ļoti atšķirīgi aparatūras budžeti, lai gan abi var būt edge AI.
Mikrokontrollera mērķim pārbaudiet modeļa izmēru, izpildlaika atmiņu, atbalstītos operatorus un iegūšanas izmaksas. Ja dizains ir balstīts uz NPU vai FPGA, novērtējiet arī atmiņas kustību un sadalījumu starp paātrinātu un nepaātrinātu darbu. Izvēlieties mazāko arhitektūru, kas atbilst izmērītajiem uzdevumiem un atkopšanas prasībām, nevis atlasiet tehnoloģiju tikai no tās akronīma.
Tehniskās atsauces
- Rockchip: RKNN programmatūras komponenti un izvietošanas rīki
- Rockchip: modeļa konversijas un secinājumu piemēri
- Gallego et al.: Uz notikumiem balstīta vīzija — aptauja
- TensorFlow Lite Micro: secinājumi par ierīcēm ar ierobežotu atmiņu
Joslas platuma piemērs ir precīzs aprēķins, nevis produkta etalons. Apstipriniet atlasīto arhitektūru paredzētajā darba slodzē.
Sadaliet savu reālo edge AI darba slodzi.
Nosūtiet sensoru saskarnes, modeļa veidu, datu pārraides ātrumus, jaudas aploksni un izvietošanas ierobežojumus. Mēs varam tos kartēt ar MPU/NPU/FPGA arhitektūru un piemērotu skaitļošanas moduļu klasi.
