Google har lanserat en öppen plattform, Coral NPU (Neural Processing Unit), som erbjuder en öppen hÄrdvaruaccelerator för maskininlÀrningsmodeller och programvaruverktyg för dess anvÀndning med standard AI-motorer. Coral kan anvÀndas som grund för att skapa energieffektiva system pÄ chip (SoC), lÀmpliga för anvÀndning i internet of things-system, Edge-berÀkningar och informationsinsamling frÄn sensorer, samt i konsumentbÀrbara enheter med extremt lÄg energiförbrukning, sÄsom hörlurar, augmented reality-glasögon och smarta klockor. Projektets resultat sprids under Apache 2.0-licensen.
Coral NPU syftar till att köra stÀndigt aktiva AI-applikationer pÄ bÀrbara enheter med minimal energiförbrukning. Den grundlÀggande implementeringen av Coral NPU ger en prestanda pÄ 512 miljarder operationer per sekund (GOPS) vid en energiförbrukning pÄ bara nÄgra milliwatt. NPU:n Àr utformad för flexibel modifiering av arkitekturen beroende pÄ behov hos SoC-tillverkarna. Den första tillverkaren som börjar producera chip baserade pÄ Coral NPU blir Synaptics, som har tillkÀnnagett en serie processorer för internet of things-enheter, Astra SL2610, som inkluderar Torq NPU-subsystemet, baserat pÄ Coral NPU-arkitekturen.
Bland typiska tillÀmpningar av Coral NPU nÀmns anvÀndning av AI för bild- och ljudbehandling, anvÀndarinteraktion och kontextuell medvetenhet. Till exempel kan enheter köra stora sprÄkmodeller och applikationer för ansikts- och objektigenkÀnning, visuell sökning, taligenkÀnning, realtidsöversÀttning, taltranskribering, utvinning av nyckelord frÄn tal, gest- och röstkommandohantering, samt aktivitetsdetektering (gÄng, löpning, sömn) och typ av omgivning (inomhus, utomhus).
NPU:n anvÀnder en 32-bitars RISC-V RV32IMF_Zve32x instruktionuppsÀttning, AXI4-buss, en fyrstegs instruktionspipeline med ordnad schemalÀggning, oordnad instruktionsavslutning och fyra trÄdar för skalÀr samt tvÄ trÄdar för vektorschemalÀggning. Processorn stöder SIMD-operationer för samtidig bearbetning av 128-bitars vektorer och Àr utrustad med 8 KB ITCM-minne för instruktioner och 32 KB DTCM-minne för data.

NPU inkluderar tre samverkande processor komponenter:
- KĂ€rna för skalĂ€ra berĂ€kningar â en lĂ€ttvikts programmerbar i C-front-end RISC-V, som styr datavströmmarna till de primĂ€ra kĂ€rnorna och anvĂ€nder modellen 'exekvera till avslut' för att sĂ€kerstĂ€lla funktionaliteten hos traditionella CPU:er med extremt lĂ„g energiförbrukning.
- Vektorsimuleringsprocessor (SIMD) som stöder vektorutvidgningar av instruktionerna RISC-V (RVV v1.0) och möjliggör samtidig utförning av flera operationer pÄ stora datamÀngder.
- Matrisprocessorn som effektivt utför operationer för sammansatt multiplikation- och additionsoperationer (MAC) och Àr utformad för att pÄskynda grundlÀggande operationer för neurala nÀtverk.

För applikationsutvecklare har en uppsÀttning av AI-modellkompilatorer (IREE och TFLM), en C-programkompilator och simulatorsats förberetts. Kompilering av modeller som anvÀnds i AI-applikationer baserat pÄ ramverken TensorFlow, JAX och PyTorch stöds. Modellen kompileras till en universell mellanliggande representation som sedan konverteras till ett lÄgnivÄ RISC-V instruktioner med hjÀlp av LLVM, vilket stöds i Coral NPU.

KĂ€lla: opennet.ru
