Mit jelent a „field programmable array” kifejezés?
A teljes elnevezés Field Programmable Gate Array, röviden FPGA: helyszínen programozható kapumátrix. Az FPGA konfigurálható digitális logikát valósít meg; az NPU a támogatott neurális hálózati műveleteket gyorsítja. A választás a tényleges jelúttól függ. Az FPGA-alapú jelfeldolgozás párhuzamos interfészeknél vagy időzítésérzékeny adatgyűjtésnél lehet hasznos, míg az NPU egyszerűsítheti a kompatibilis következtetési feladatot.
FPGA-fejlesztőpanelből egyedi termék
Egy FPGA-panel csak a rendszer egy részét igazolja. Az egyedi konstrukcióhoz tápbekapcsolási sorrend, órajelezés, memóriainterfészek, hőtechnikai tervezés és megismételhető tesztelés is kell. Hasonlítsa össze az FPGA tervezési és ellenőrzési ráfordítását egy MPU- vagy SoC FPGA-architektúráéval. Az FPGA költsége a chip mellett a mérnöki munkát, eszközöket, panelbonyolultságot és gyártási tesztelést is tartalmazza.
Mi az az AI MPU?
Az AI-képes MPU platform egyesíti az alkalmazási mikroprocesszort a gépi tanulási munkaterheléshez szükséges szoftverekkel és gyorsítási erőforrásokkal. Kezdje azzal, hogy azonosítsa, mely feladatok tartoznak a CPU-hoz, és melyek részesülnek a támogatott gyorsító előnyeiben.
A MPU vagy alkalmazási mikroprocesszor általában egy beágyazott Linux rendszer szoftverközpontja. Az „AI MPU” nem egy külön processzorkategória, mint inkább egy MPU platform, amely gyorsítási erőforrásokat, például NPU-t, GPU-t, DSP-t vagy FPGA-t tartalmaz, vagy ezekkel szorosan együttműködik. A MPU tartalmazza a Linux-t, a hálózatot, a tárolást, a biztonsági szolgáltatásokat, az alkalmazáslogikát és az AI-munkaterheléseket koordináló futási környezetet.
A MPU gépi tanulásnál nem csak a CPU sebessége a gyakorlati kérdés. A memória sávszélessége, a gyorsító támogatása, a kamera és a nagy sebességű I/O, Linux BSP minőség, a hosszú távú rendelkezésre állás, a hőkezelés és a modell-eszközlánc érettsége gyakran többet számít, mint egy fő TOPS érték.
Mitől lesz egy MPU jó mesterséges intelligencia platform?
A mesterséges intelligencia számára legjobb MPU munkaterhelés-specifikus. A látásátjáró előnyben részesítheti a MIPI CSI-t, a hardveres videovezetékeket és a NPU-t. Egy robusztus küldetésszámítógépnek szüksége lehet PCIe-re, több Ethernet portra, determinisztikus társmagokra és erősebb biztonsági funkciókra. Egy ipari platform értékelheti a termék hosszú élettartamát, a TSN-t, a CAN-FD-t és a stabil Linux ökoszisztémát.
Végezze el a tényleges modell összehasonlítását és a teljes előfeldolgozási láncot. Az alacsonyabb meghirdetett gyorsítószámmal rendelkező platform nyerhet, ha elkerüli a memóriamásolást, támogatja a szükséges operátorokat, és hatékonyan tartja az érzékelőtől az eredményig vezető utat.
NPU: hatékony neurális következtetés lokálisan az eszközön
A NPU él felgyorsítja a neurális hálózat operátorait, például a konvolúciókat, a mátrixműveleteket és az általános aktiválási függvényeket. Általában ez a leghatékonyabb hely a támogatott észlelési, osztályozási, szegmentálási és jellemző-kivonási modellekhez, amikor a teljesítmény és a tartós következtetési átvitel számít.
A NPU teljesítménye a fordítástól és a kezelői lefedettségtől függ. A nem támogatott rétegek visszaeshetnek a CPU-ra vagy más gyorsítóra. A kvantálási követelmények, a tenzorelrendezések, a bemeneti felbontás és a memória mozgása szintén drámai módon megváltoztathatja a valós teljesítményt. Mindig a termelési grafikonon végezzen benchmarkot, ahelyett, hogy egyedül az elméleti TOPS-re hagyatkozna.
FPGA: determinisztikus csővezetékek és mesterséges intelligencia következtetés, ahol a rugalmasság számít
A FPGA jeles a determinisztikus adatmozgatásban, az egyedi interfészek és a masszívan párhuzamos folyamatokban. A helyi feldolgozásra szolgáló rendszerekben szerializálhatja az érzékelőket, igazíthatja az időbélyegeket, szűrheti az adatokat, generálhat érdekes régiókat, elvégezheti a kép előfeldolgozását és előre látható késleltetésű gyorsítót táplálhat. A FPGA AI következtetés akkor is lehetséges, ha egy modell jól illeszkedik a rendelkezésre álló DSP-hez, memóriához és gyártói gyorsítási veremhez.
A kompromisszum a mérnöki erőfeszítés. Tervezni kell az RTL vagy HLS tervezést, szimulációt, időzítési lezárást, ellenőrzést és frissítési stratégiát. A FPGA típust azért kell kiválasztani, mert a determinisztikus viselkedés vagy az egyéni párhuzamosság rendszerértéket hoz létre – nem egyszerűen azért, mert képes az aritmetika futtatására.
NPU vs FPGA Edge AI számára
A NPU kontra FPGA döntés gyakran hamis bináris. A NPU általában a könnyebb választás támogatott neurális hálózatok és nagy wattonkénti teljesítmény esetén. A FPGA erősebb, ha a rendszernek egyedi szenzorinterfészekre, determinisztikus előfeldolgozásra, szokatlan adatformátumokra vagy szigorúan ellenőrzött folyamatra van szüksége a következtetés előtt és után.
Egy általános architektúra mindkettőt használja: a FPGA az érzékelők feldolgozásához és az előfeldolgozáshoz, a NPU a neurális hálózathoz és a MPU a Linux hangszereléshez. Ez csökkenti az egyik processzorra kényszerített szabálytalan munka mennyiségét.
| Erőforrás | A legjobban illeszkedő munkaterhelések | Főbb korlátok |
|---|---|---|
| FPGA | Determinisztikus csővezetékek, egyedi I/O, időbélyegzés, előfeldolgozás, speciális gyorsítás | RTL/HLS erőfeszítés, ellenőrzés, eszköz erőforrások |
| NPU | Támogatott neurális következtetés jó wattonkénti teljesítménnyel | Operátori támogatás, fordító/futási idő, kvantálás és memóriamozgatás |
| MPU | Linux alkalmazások, hálózatépítés, tárolás, kiberbiztonság, hangszerelés | Kevésbé determinisztikus végrehajtás; általános célú rezsi |
| MCU / RT mag | Vezérlőhurkok, biztonsági felügyelet, teljesítmény szekvenálás, determinisztikus I/O | Korlátozott memória és magas szintű számítástechnika |
Edge computing
- Kezdje a határidőkkel: azonosítani, hogy mely jelekre vonatkoznak kemény időzítési követelmények, és a maximális érzékelő működési késleltetése.
- Térképes adatátviteli sebességek: kiszámítja az érzékelő áteresztőképességét, a köztes tenzorméreteket és a legrosszabb memóriaforgalmat.
- Tartsa a determinisztikus feldolgozást a felület közelében: A FPGA, a DMA motorok vagy a valós idejű magok gyakran megfelelőek.
- Helyezzen el támogatott neurális modelleket a NPU-n: érvényesítse az operátor lefedettségét és a tényleges lefordított teljesítményt.
- Használja a MPU-t a rendszerhez: hálózat, tárolás, frissítések, naplózás, API-k és alkalmazási szabályzat természetesen a Linux-hez tartozik.
- Foglalási valós idejű vezérlés: szükség esetén egy MCU vagy determinisztikus magnak kell felügyelnie az időkritikus működést és a platform állapotát.
A memória sávszélessége gyakran a rejtett szűk keresztmetszet
Sok Edge AI tervezés a számítási csúcsokra összpontosít, és később felfedezi, hogy a másolatok, a színkonverzió, a tenzoros újraformázás vagy a megosztott DDR dominál a késleltetési idő alatt. Korán ki kell értékelni a nulla vagy alacsony másolású útvonalakat, a DMA-topológiát, a gyorsítótár viselkedését és a gyorsítómemória-hozzáférést. A hőszabályozás egy erős etalont is gyenge tartós teljesítménnyel változtathat.
Ez különösen fontos, ha több kamera, radar, eseményérzékelő vagy nagy sebességű Ethernet adatfolyam osztozik ugyanazon a memória alrendszeren.
Referencia architektúra példák
Látás/esemény-érzékelő csővezeték
Érzékelő → FPGA felvétel és időbélyegzés → NPU következtetés → MPU döntési szolgáltatások → CAN-FD vagy Ethernet kimenet. Ez az alacsony késleltetésű észlelés erős mintája, és közvetlenül kapcsolódik a miénkhez .
Beágyazott AI számítógép
Nagy sebességű I/O → DMA / gyorsító elérési út → NPU vagy GPU következtetés → Linux alkalmazásszolgáltatások → tárolási és hálózati API-k. A miénk beágyazott számítási modul és robusztus számítógép a helyi feldolgozáshoz a termékosztályok az ilyen típusú particionálás köré épülnek.
Ipari determinisztikus átjáró
CAN-FD / soros / Ethernet interfészek → FPGA vagy MCU időbélyegzés és protokollkezelés → MPU szolgáltatások → opcionális NPU analitika. Itt a determinisztikus I/O és a szoftver hosszú távú karbantarthatósága fontosabb lehet, mint a maximális AI átvitel.
Hogyan válasszunk a FPGA, NPU és MPU között
Válasszon a teljes munkaterhelésből, ne a processzorcímkéből. Ha a domináns probléma a neurális következtetés, akkor a NPU kompatibilitásból induljon ki. Ha az egyéni I/O és a determinisztikus előfeldolgozás dominál, értékelje ki a FPGA erőforrásokat. Ha a Linux szolgáltatások, a hálózati és az alkalmazási szoftverek dominálnak, kezdje a MPU képességgel. A legtöbb nagy teljesítményű helyi feldolgozási platform legalább kettőt kombinál ezekből az erőforrásokból.
A hardver véglegesítése előtt futtasson reprezentatív adatfolyamokat a tervezett szoftververemen, és mérje meg a végpontok közötti késleltetést, teljesítményt, memória sávszélességet és hőmennyiséget. Ez a bizonyíték értékesebb, mint az általános gyorsító-rangsorok.
Működő példa: négy kamera és egy megosztott memória költségvetése
Tekintsünk egy tervezési példát négy 1280 × 720 adatfolyammal, 30 képkocka/másodperc sebességgel, RGB-ként ábrázolva, csatornánként egy bájttal a képátalakítás után. Kombinált logikai képi terhelésük az 4 × 1280 × 720 × 30 × 3 = 331,776,000 bájt másodpercenként, körülbelül 332 MB/s decimális egységekben. Ez nem egy ALVEXIS termék kamera-link bitsebessége vagy mért teljesítménye.
Egy további teljes keretes másolat olvassa és írja ezt a hasznos terhelést, és hozzávetőleg 664 MB/s memóriaforgalmat ad hozzá, mielőtt a gyorsítótár viselkedését vagy más műveleteket mérlegelne. A modelltenzorok, a színkonverzió, a naplózás és a párhuzamos szolgáltatások hozzáadják a saját forgalmat. Ez megmagyarázza, hogy a tervezést miért korlátozhatja az adatmozgás, még akkor is, ha a főcímgyorsító besorolása elegendőnek tűnik.
| Munkahelyre | Kiindulópont | Bizonyíték az elkövetés előtt |
|---|---|---|
| Kamera felvétel és szinkronizálás | Támogatott SoC interfészek, FPGA-vel vagy szükség esetén egy kiegészítő eszközzel | Egyidejű adatfolyam rögzítése, időbélyegző viselkedése és veszteség terhelés alatt |
| Neurális következtetés | NPU, ha a kiválasztott grafikon és a pontosság támogatott | Konverziós pontosság és tartós, eszközön végzett alkalmazásmérések |
| Linux szolgáltatások és felvétel | MPU erőforrások és egy explicit költségvetésű tárolási útvonal | A CPU, a memória és a I/O viselkedése aktív következtetés közben |
| Időkritikus külső vezérlés | Megfelelő valós idejű vezérlő vagy validált determinisztikus megvalósítás | Válaszidőn belüli bizonyítékok a vonatkozó legrosszabb eseti munkaterhelés mellett |
A particionálás célja, hogy minden időzítést és erőforrásigényt egyértelművé tegyen. Ez nem jelenti azt, hogy minden tervnek négy különböző processzorra van szüksége. Kezdje a követelményeknek megfelelő legegyszerűbb architektúrával, majd adjon hozzá erőforrásokat ott, ahol mérések vagy interfész megszorítások indokolják.
Érvényesítési terv a processzorkeverék kiválasztásához
- A beviteli szerződés rögzítése: érzékelők, adatformátumok, modell, felbontás és működési feltételek.
- A gyorsító teljesítményének összehasonlítása előtt ellenőrizze a modell támogatását és a kimeneti minőséget.
- Mérje külön a gyűjtést, az előfeldolgozást, a következtetést és a szállítást, majd mérje meg a teljes útvonalat.
- Ismételje meg tartós hőterhelés mellett, rögzítéssel, hálózattal és az összes tervezett érzékelővel.
- Rögzítse a sor korát, az elveszett bemeneteket és a késleltetést, így a magas átlagarány nem rejti el az időszakos késéseket.
Őrizze meg a tábla verzióját, a szoftver képét, az eszközlánc verzióit és a tesztbevitelt az eredményekkel együtt. A Rockchip megvalósításhoz a RK3588 modell telepítési útmutató fejleszti ezt a munkafolyamatot. Az esemény-kamera adatokhoz használja a szoftverintegrációs útmutató időbélyegek és reprezentációk meghatározásához a következtetési útvonal kiválasztása előtt.
A munkaterhelés jellemzése után hasonlítsa össze a SoM és SBC integrációs lehetőségek. Ez a döntés összekapcsolja a számítási architektúrát a csatlakozókkal, a tápellátással, a burkolattal és a gyártási munkával.
A processzorválasztástól az építhető termékig
A processzorok listája csak akkor hasznos, ha a teljes termékhez illeszkedik. Egyedi tábla megrendelése előtt alakítsa át a munkaterhelést egy rövid műszaki leírásba:
- Bemenetek: érzékelők száma, interfészek, mintavételezési gyakoriságok és szinkronizálási követelmények.
- AI munkaterhelés: a tényleges modell, a támogatott pontosság és az elfogadható kimeneti minőség.
- Fizikai korlátok: méretek, áramforrás, hűtés és működési környezet.
- Szállítás: prototípus mennyiség, gyártási mennyiség, szoftvertulajdonlás és átvételi tesztek.
Ellenőrző állomás esetén csatlakoztassa a kameracsővezetéket a vonal triggeréhez, az alkatrészazonosítóhoz és az eredmény interfészhez. A miénk ipari gépi látás és minőségellenőrzési megoldás elmagyarázza, hogyan válik ezekből a követelményekből pilóta.
MPU, NPU és FPGA Edge AI GYIK
Mi az a MPU AI?
A MPU AI beágyazott mikroprocesszoros platformon telepített mesterséges intelligencia munkaterheléseket írja le, általában Linux-vel és gyakran integrált vagy kísérőgyorsítással, például NPU-vel, GPU-val vagy FPGA-vel. A MPU általában az alkalmazásokat, a hálózatépítést, a tárolást, a biztonságot és a hangszerelést kezeli a következtetési folyamat körül.
Futtathat egy MPU gépi tanulást?
Igen. A MPU gépi tanulási munkaterhelések futhatnak CPU magokon, vagy használhatnak integrált gyorsítókat. Az éles rendszerek esetében a modelltámogatás, a memória sávszélessége, a tartós hőkezelés és a végpontok közötti késleltetés többet jelent, mint a TOPS önmagában.
NPU vs FPGA: melyik jobb a Edge AI számára?
A NPU általában az egyszerűbb választás a támogatott neurális hálózati következtetésekhez, erős wattonkénti teljesítménnyel. A FPGA akkor előnyös, ha az egyedi érzékelő interfészek, a determinisztikus előfeldolgozás, a szokatlan adatformátumok vagy a speciális csővezetékek központi szerepet játszanak a tervezésben. Sok rendszer mindkettőt használja.
Futtathat egy NPU munkaterhelést egy FPGA-n?
A FPGA képes neurális hálózati gyorsítókat vagy következtetési folyamatokat megvalósítani, de nem egyenértékű automatikusan a dedikált NPU-vel. A kereskedelem magában foglalja a programozható logikai erőforrásokat, a memóriát, az eszközlánc érettségét, a modell támogatását, az ellenőrzési erőfeszítést és a teljesítményt.
Mikor van értelme a FPGA AI következtetésnek?
A FPGA AI-következtetés akkor vonzó, ha a következtetést szorosan össze kell kapcsolni a determinisztikus előfeldolgozással, az egyéni interfészekkel vagy a speciális adatmozgatással. Ez különösen akkor hasznos, ha egy szabványos NPU futási idő nem illeszkedik az érzékelő útvonalához vagy a késleltetési korlátokhoz.
Műszaki referenciák
- Rockchip: RKNN szoftverkomponensek és telepítési eszközök
- Rockchip: modellkonverziós és következtetési példák
- Gallego et al.: Event-based Vision — A Survey
A sávszélességre vonatkozó példa egy explicit számítás, nem pedig egy termék-referencia. Érvényesítse a kiválasztott architektúrát a tervezett munkaterhelésen.
Particionálja valódi Edge AI munkaterhelését.
Küldje el az érzékelő interfészeit, a modell típusát, az adatsebességet, a teljesítményburkot és a telepítési korlátokat. Leképezhetjük őket egy MPU/NPU/FPGA architektúrára és megfelelő számítási modulosztályra.
