Mitä ”field programmable array” tarkoittaa?
Koko termi on Field Programmable Gate Array eli FPGA, kenttäohjelmoitava porttimatriisi. FPGA toteuttaa määritettävää digitaalilogiikkaa; NPU kiihdyttää tukemiaan neuroverkko-operaatioita. Valinta riippuu todellisesta signaalipolusta. FPGA-signaalinkäsittely voi soveltua rinnakkaisiin rajapintoihin tai ajoitusherkkään tiedonkeruuseen, kun taas NPU voi yksinkertaistaa tuettua päättelytehtävää.
FPGA-kehityskortista räätälöidyksi tuotteeksi
FPGA-kortti todentaa vain osan järjestelmästä. Räätälöity suunnittelu tarvitsee myös tehonsyötön käynnistysjärjestyksen, kellotuksen, muistirajapinnat, lämpösuunnittelun ja toistettavan testimenetelmän. Vertaa FPGA-suunnittelun ja todentamisen työmäärää MPU- tai FPGA-järjestelmäpiiriarkkitehtuuriin. FPGA:n kustannuksiin kuuluvat sirun lisäksi suunnittelu, työkalut, kortin monimutkaisuus ja tuotantotestaus.
Mikä on AI MPU?
Tekoälyä tukeva MPU-alusta yhdistää sovellusmikroprosessorin koneoppimisen työtaakkaan tarvittaviin ohjelmisto- ja kiihdytysresursseihin. Aloita tunnistamalla, mitkä tehtävät kuuluvat suorittimeen ja mitkä hyötyvät tuetuista kiihdyttimistä.
MPU tai sovellusmikroprosessori on yleensä sulautetun Linux-järjestelmän ohjelmistokeskus. "AI MPU" ei ole erillinen prosessoriluokka, vaan MPU-alusta, joka sisältää tai toimii tiiviisti niiden kanssa, kuten NPU, GPU, DSP tai FPGA. MPU isännöi Linux:tä, verkkoa, tallennusta, tietoturvapalveluita, sovelluslogiikkaa ja tekoälyn työkuormia koordinoivaa suoritusaikaa.
MPU-koneoppimisen käytännön kysymys ei ole vain suorittimen nopeus. Muistin kaistanleveys, kiihdytintuki, kameran ja nopean I/O-, Linux BSP -laatu, pitkäaikainen saatavuus, lämpösuunnittelu ja malli-työkaluketjun kypsyys ovat usein tärkeämpiä kuin TOPS-otsikkoarvo.
Mikä tekee MPU:stä hyvän tekoälyalustan?
Paras tekoälyn MPU on työmääräkohtainen. Visioyhdyskäytävä voi priorisoida MIPI CSI:n, laitteiston videoputket ja NPU:n. Kestävä tehtävätietokone saattaa tarvita PCIe:n, useita Ethernet-portteja, deterministisiä kumppaniytimiä ja vahvempia suojausominaisuuksia. Teollinen alusta saattaa arvostaa tuotteen pitkää käyttöikää, TSN:ää, CAN-FD:tä ja vakaata Linux-ekosysteemiä.
Vertaile varsinaista mallia ja suorita esikäsittelyketju. Alusta, jonka mainostettu kiihdytinluku on alhaisempi, voi voittaa, jos se välttää muistikopioita, tukee tarvittavia operaattoreita ja pitää anturista tulokseen kulkevan polun tehokkaana.
NPU: tehokas hermopäättely reunassa
Reuna NPU nopeuttaa hermoverkko-operaattoreita, kuten konvoluutioita, matriisioperaatioita ja yleisiä aktivointitoimintoja. Se on yleensä tehokkain paikka tuetuille havaitsemis-, luokittelu-, segmentointi- ja ominaisuuksien poistamismalleille, kun teholla ja jatkuvalla päättelyn suorituskyvyllä on merkitystä.
NPU:n suorituskyky riippuu kokoamisesta ja operaattorin kattavuudesta. Tasot, joita ei tueta, voivat siirtyä takaisin suorittimeen tai muuhun kiihdytin. Kvantisointivaatimukset, tensoriasettelut, tuloresoluutio ja muistin liike voivat myös muuttaa todellista suorituskykyä dramaattisesti. Vertaile aina tuotantokaaviota sen sijaan, että luottaisi pelkästään teoreettiseen TOPS:hen.
FPGA: deterministiset putkistot ja tekoälyn päättely, missä joustavuus on tärkeää
FPGA on erinomaista deterministisessä tiedonsiirrossa, mukautetuissa liitännöissä ja massiivisesti rinnakkaisissa putkistoissa. Reunajärjestelmissä se voi deserialisoida antureita, kohdistaa aikaleimoja, suodattaa tietoja, luoda kiinnostavia alueita, suorittaa kuvan esikäsittelyä ja syöttää kiihdytin ennustettavalla latenssilla. FPGA AI-päätelmä on myös mahdollista, kun malli sopii hyvin käytettävissä olevaan DSP:hen, muistiin ja toimittajan kiihdytyspinoon.
Kompromissi on insinöörityö. RTL- tai HLS-suunnittelu, simulointi, ajoituksen sulkeminen, todentaminen ja päivitysstrategia on suunniteltava. FPGA tulee valita, koska deterministinen käyttäytyminen tai mukautettu rinnakkaisuus luo järjestelmäarvoa – ei vain siksi, että se voi suorittaa aritmeettisia tietoja.
NPU vs FPGA reuna-AI:lle
NPU vs FPGA -päätös on usein väärä binaari. NPU on yleensä helpompi valinta tuetuille hermoverkoille ja vahvalle teholle wattia kohden. FPGA on vahvempi, kun järjestelmä tarvitsee mukautettuja anturiliitäntöjä, determinististä esikäsittelyä, epätavallisia tietomuotoja tai tiukasti kontrolloitua putkilinjaa ennen ja jälkeen päättelyn.
Yleinen arkkitehtuuri käyttää molempia: FPGA anturien käsittelyyn ja esikäsittelyyn, NPU hermoverkkoon ja MPU Linux-orkestrointiin. Tämä vähentää yhdelle prosessorille pakotetun epäsäännöllisen työn määrää.
| Resurssi | Parhaiten sopivat työmäärät | Tärkeimmät rajoitukset |
|---|---|---|
| FPGA | Deterministiset liukuhihnat, mukautetut I/O, aikaleimaus, esikäsittely, erikoiskiihdytys | RTL/HLS-työ, vahvistus, laiteresurssit |
| NPU | Tuettu hermopäätelmä hyvällä teholla wattia kohden | Operaattorituki, kääntäjä/ajoaika, kvantisointi ja muistin siirto |
| MPU | Linux-sovellukset, verkko, tallennus, kyberturvallisuus, orkestrointi | Vähemmän deterministinen suoritus; yleiskulut |
| MCU / RT-ydin | Ohjaussilmukat, turvavalvonta, tehosekvensointi, deterministinen I/O | Rajoitettu muisti ja korkean tason laskenta |
Käytännöllinen tapa osioida reuna-AI-arkkitehtuuri
- Aloita määräajoista: tunnistaa, millä signaaleilla on kova ajoitusvaatimukset ja anturin toimintaviive.
- Kartan tiedonsiirtonopeudet: laskea anturin suorituskykyä, tensorien keskikokoja ja pahimman mahdollisen muistin liikennettä.
- Pidä deterministinen käsittely lähellä käyttöliittymää: FPGA, DMA-moottorit tai reaaliaikaiset ytimet ovat usein sopivia.
- Sijoita tuetut hermomallit NPU:hen: vahvistaa operaattorin kattavuuden ja todellisen käännetyn suorituskyvyn.
- Käytä MPU:tä järjestelmässä: verkko, tallennus, päivitykset, kirjaus, API ja sovelluskäytäntö kuuluvat luonnollisesti Linux:ään.
- Varaa reaaliaikainen ohjaus: MCU- tai deterministisen ytimen tulee valvoa aikakriittistä toimintaa ja alustan kuntoa tarvittaessa.
Muistin kaistanleveys on usein piilotettu pullonkaula
Monet reunan tekoälysuunnittelut keskittyvät laskennan huippuihin ja huomaavat myöhemmin, että kopiot, värimuunnos, tensorin uudelleenmuotoilu tai jaettu DDR hallitsevat latenssia. Kopioimattomat tai vähäkopioiset polut, DMA-topologia, välimuistin käyttäytyminen ja kiihdytinmuistin käyttö tulisi arvioida ajoissa. Lämpökuristaminen voi myös muuttaa vahvan vertailuarvon heikoksi jatkuvaksi suorituskyvyksi.
Tämä on erityisen tärkeää, kun useat kamerat, tutka, tapahtumaanturit tai nopeat Ethernet-virrat jakavat saman muistialijärjestelmän.
Viitearkkitehtuuriesimerkkejä
Visio / tapahtuma-anturi putki
Anturi → FPGA-otto ja aikaleima → NPU-päätelmä → MPU-päätöspalvelut → CAN-FD- tai Ethernet-lähtö. Tämä on vahva malli matalan latenssin havainnolle ja liittyy suoraan meidän .
Sulautettu AI-tietokone
Nopea I/O → DMA / kiihdytinpolku → NPU tai GPU-johtopäätös → Linux-sovelluspalvelut → tallennus- ja verkkosovellusliittymät. Meidän sulautettu laskentamoduuli ja vankka reuna tietokone tuoteluokat on rakennettu tämän tyyppisen osioinnin ympärille.
Teollinen deterministinen yhdyskäytävä
CAN-FD / sarja / Ethernet -liitännät → FPGA tai MCU aikaleimaus ja protokollien käsittely → MPU-palvelut → valinnainen NPU-analytiikka. Tässä deterministinen I/O ja ohjelmiston pitkäaikainen ylläpidettävyys voivat olla tärkeämpiä kuin maksimaalinen AI-läpäisykyky.
Kuinka valita FPGA, NPU ja MPU
Valitse koko työkuorma, ei prosessorimerkintä. Jos hallitseva ongelma on hermopäättely, aloita NPU-yhteensopivuudesta. Jos mukautettu I/O ja deterministinen esikäsittely hallitsevat, arvioi FPGA-resurssit. Jos Linux-palvelut, verkko- ja sovellusohjelmistot hallitsevat, aloita MPU-ominaisuudesta. Useimmat korkean suorituskyvyn reuna-alustat yhdistävät vähintään kaksi näistä resursseista.
Ennen kuin sitoudut laitteistoon, suorita edustavia streameja tarkoitetun ohjelmistopinon läpi ja mittaa päästä päähän -viive, teho, muistin kaistanleveys ja lämpöarvot. Nämä todisteet ovat arvokkaampia kuin yleiset kiihdytinsijoitukset.
Toimiva esimerkki: neljä kameraa ja jaettu muistibudjetti
Harkitse suunnitteluesimerkkiä, jossa on neljä 1280 × 720 -virtaa 30-kehyksellä sekunnissa, joka esitetään RGB:nä yhdellä tavulla kanavaa kohden kuvan muuntamisen jälkeen. Niiden yhdistetty loogisen kuvan hyötykuorma on 4 × 1280 × 720 × 30 × 3 = 331,776,000 tavua sekunnissa, noin 332 MB/s desimaaliyksiköissä. Tämä ei ole ALVEXIS-tuotteen kameralinkin bittinopeus tai mitattu suorituskyky.
Yksi täyden kehyksen lisäkopio lukee ja kirjoittaa tämän hyötykuorman, mikä lisää noin 664 MB/s muistiliikennettä ennen kuin harkitaan välimuistin toimintaa tai muita toimintoja. Mallin tensorit, värimuunnos, kirjaus ja samanaikaiset palvelut lisäävät omaa liikennettä. Tämä selittää, miksi tietojen liikkuminen voi rajoittaa suunnittelua, vaikka sen otsikon kiihdytinluokitus näyttää riittävältä.
| Töitä paikkaan | Lähtökohta | Todisteet ennen sitoutumista |
|---|---|---|
| Kameran vastaanotto ja synkronointi | Tuetut SoC-liitännät, joissa on FPGA tai lisälaite tarvittaessa | Samanaikainen stream-kaappaus, aikaleiman käyttäytyminen ja menetys kuormituksen aikana |
| Neuraalinen päättely | NPU, kun valittua kuvaajaa ja tarkkuutta tuetaan | Muunnostarkkuus ja jatkuvat laitteen sovelluksen mittaukset |
| Linux palvelut ja tallennus | MPU-resurssit ja selkeästi budjetoitu tallennuspolku | CPU, muisti ja I/O käyttäytyminen päättelyn ollessa aktiivinen |
| Aikakriittinen ulkoinen ohjaus | Sopiva reaaliaikainen ohjain tai validoitu deterministinen toteutus | Vastausajan näyttö asiaankuuluvan pahimman tapauksen työtaakan alla |
Osioinnin tarkoitus on tehdä jokaisesta ajoituksesta ja resurssitarpeesta selväksi. Se ei tarkoita, että jokainen malli tarvitsee neljä erilaista prosessoria. Aloita yksinkertaisimmasta arkkitehtuurista, joka täyttää vaatimukset, ja lisää sitten resursseja sinne, missä mittaukset tai käyttöliittymärajoitukset oikeuttavat ne.
Validointisuunnitelma prosessorisekoituksen valitsemiseksi
- Jäädyttää syöttösopimus: anturit, tietomuodot, malli, resoluutio ja käyttöolosuhteet.
- Tarkista mallin tuki ja tulosteen laatu ennen kuin vertaat kiihdytin suorituskykyä.
- Mittaa hankinta, esikäsittely, päättely ja toimitus erikseen ja mittaa sitten koko polku.
- Toista jatkuvan lämpökuormituksen alaisena, kun tallennus, verkkoyhteys ja kaikki aiotut anturit ovat aktiivisia.
- Tallenna jonon ikä, menetetyt syötteet ja loppuviive, joten korkea keskimääräinen määrä ei piilota ajoittaisia viiveitä.
Säilytä levyn versio, ohjelmistokuva, työkaluketjun versiot ja testisyötteet tulosten kanssa. Jos kyseessä on Rockchip-toteutus, RK3588-mallin käyttöönottoopas kehittää tätä työnkulkua. Käytä tapahtumakameradataa varten ohjelmiston integrointiopas määrittää aikaleimat ja esitykset ennen päättelypolun valitsemista.
Kun työmäärä on karakterisoitu, vertaa Integrointivaihtoehdot SoM ja SBC. Tämä päätös yhdistää laskenta-arkkitehtuurin liittimiin, tehoon, kotelo:hen ja tuotantotyöhön.
Prosessorin valinnasta rakennettavaan tuotteeseen
Prosessorilista on hyödyllinen vain silloin, kun se sopii koko tuotteeseen. Ennen kuin tilaat mukautetun levyn, muuta työmäärä lyhyeksi suunnitteluohjeeksi:
- Tulot: anturien määrä, liitännät, näytteenottotaajuudet ja synkronointivaatimukset.
- AI työmäärä: todellinen malli, tuettu tarkkuus ja hyväksyttävä tulostuslaatu.
- Fyysiset rajoitteet: mitat, virtalähde, jäähdytys ja käyttöympäristö.
- Toimitus: prototyyppien määrä, tuotantomäärä, ohjelmiston omistajuus ja hyväksymistestit.
Tarkastusasemaa varten liitä kameran putkilinja linjan laukaisuun, osan tunnisteeseen ja tulosliitäntään. Meidän teollinen konenäkö ja laadunvalvontaratkaisu selittää, kuinka näistä vaatimuksista tulee pilottihanke.
MPU, NPU ja FPGA edge AI UKK
Mikä on MPU AI?
MPU AI kuvaa tekoälyn työkuormia, jotka on otettu käyttöön sulautetulla mikroprosessorialustalla, yleensä Linux:lla ja usein integroidulla tai kumppanikiihdytyksellä, kuten NPU, GPU tai FPGA. MPU hallitsee yleisesti sovelluksia, verkkoa, tallennusta, turvallisuutta ja organisointia päättelyputken ympärillä.
Voiko MPU suorittaa koneoppimisen?
Kyllä. MPU-koneoppimistyökuormat voivat toimia suorittimen ytimillä tai käyttää integroituja kiihdyttimiä. Tuotantojärjestelmissä mallituki, muistin kaistanleveys, jatkuva lämpö ja päästä päähän -latenssi ovat tärkeämpiä kuin pelkkä otsikko TOPS.
NPU vs FPGA: kumpi on parempi reuna-AI:lle?
NPU on yleensä yksinkertaisempi valinta tuettuun hermoverkkopäätelmään, jolla on vahva suorituskyky wattia kohden. FPGA on parempi, kun mukautetut anturiliitännät, deterministinen esikäsittely, epätavalliset tietomuodot tai erikoistuneet liukuhihnat ovat keskeisiä suunnittelussa. Monet järjestelmät käyttävät molempia.
Voitko suorittaa NPU-työkuorman FPGA:llä?
FPGA voi toteuttaa hermoverkkokiihdyttimiä tai päättelyputkia, mutta se ei automaattisesti vastaa dedikoitua NPU:tä. Kauppaan sisältyy ohjelmoitavia logiikkaresursseja, muistia, työkaluketjun kypsyyttä, mallitukea, varmennustyötä ja tehoa.
Milloin FPGA AI -päätelmissä on järkeä?
FPGA AI-johtopäätös on houkutteleva, kun johtopäätös on liitettävä tiiviisti deterministiseen esikäsittelyyn, mukautettuihin rajapintoihin tai erikoistuneeseen tiedonsiirtoon. Se on erityisen hyödyllinen, kun tavallinen NPU-ajoaika ei sovi anturin polkuun tai latenssirajoituksiin.
Missä TinyML sopii reunalaskenta: hen
reunalaskenta kuvaa käsittelyä lähellä tietolähdettä; edge AI soveltaa siihen koneoppimispäätelmää. TinyML käsittelee rajoitetumpaa käyttöönottoluokkaa, usein mikro-ohjaimissa, joissa on rajoitettu muisti ja teho. Pieni värähtelyluokitin ja usean kameran havainnointiputki tarvitsevat siksi hyvin erilaisia laitteistobudjetteja, vaikka molemmat voivat olla reuna-AI.
Tarkista mikro-ohjainkohdetta varten mallin koko, ajonaikainen muisti, tuetut operaattorit ja hankinnan lisäkustannukset. Arvioi NPU- tai FPGA-pohjaisessa suunnittelussa myös muistin liike ja osio kiihdytetyn ja kiihdytetyn työn välillä. Valitse pienin arkkitehtuuri, joka täyttää mitatut tehtävät ja palautusvaatimukset, sen sijaan, että valitset teknologian pelkästään sen lyhenteestä.
Tekniset referenssit
- Rockchip: RKNN-ohjelmistokomponentit ja käyttöönottotyökalut
- Rockchip: mallimuunnos- ja päättelyesimerkkejä
- Gallego et al.: Event-based Vision — A Survey
- TensorFlow Lite Micro: johtopäätös muistirajoitteisista laitteista
Kaistanleveysesimerkki on eksplisiittinen laskelma, ei tuotteen vertailuarvo. Vahvista valittu arkkitehtuuri aiotulla työkuormalla.
Jaa todellinen reuna-AI-työkuormasi.
Lähetä anturiliitännät, mallin tyyppi, tiedonsiirtonopeudet, tehon verhokäyrä ja käyttöönottorajoitukset. Voimme kartoittaa ne MPU/NPU/FPGA-arkkitehtuuriin ja sopivaan laskentamoduuliluokkaan.
