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ásA legjobban illeszkedő munkaterhelésekFőbb korlátok
FPGADeterminisztikus csővezetékek, egyedi I/O, időbélyegzés, előfeldolgozás, speciális gyorsításRTL/HLS erőfeszítés, ellenőrzés, eszköz erőforrások
NPUTámogatott neurális következtetés jó wattonkénti teljesítménnyelOperátori támogatás, fordító/futási idő, kvantálás és memóriamozgatás
MPULinux alkalmazások, hálózatépítés, tárolás, kiberbiztonság, hangszerelésKevésbé determinisztikus végrehajtás; általános célú rezsi
MCU / RT magVezérlőhurkok, biztonsági felügyelet, teljesítmény szekvenálás, determinisztikus I/OKorlátozott memória és magas szintű számítástechnika
FPGAI/O
NPUAI
MPULinux · I/O

Edge computing

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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.

MunkahelyreKiindulópontBizonyíték az elkövetés előtt
Kamera felvétel és szinkronizálásTámogatott SoC interfészek, FPGA-vel vagy szükség esetén egy kiegészítő eszközzelEgyidejű adatfolyam rögzítése, időbélyegző viselkedése és veszteség terhelés alatt
Neurális következtetésNPU, ha a kiválasztott grafikon és a pontosság támogatottKonverziós pontosság és tartós, eszközön végzett alkalmazásmérések
Linux szolgáltatások és felvételMPU erőforrások és egy explicit költségvetésű tárolási útvonalA CPU, a memória és a I/O viselkedése aktív következtetés közben
Időkritikus külső vezérlésMegfelelő valós idejű vezérlő vagy validált determinisztikus megvalósításVá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

  1. A beviteli szerződés rögzítése: érzékelők, adatformátumok, modell, felbontás és működési feltételek.
  2. 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.
  3. 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.
  4. Ismételje meg tartós hőterhelés mellett, rögzítéssel, hálózattal és az összes tervezett érzékelővel.
  5. 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

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.