Google har præsenteret en open source platform, Coral NPU (Neural Processing Unit), der tilbyder en åben hardwareaccelerator til maskinlæringsmodeller og softwareværktøjer til brug med almindelige AI-motorer. Coral kan bruges som grundlag for at skabe energieffektive systemer på en chip (SoC), der er velegnede til brug i Internet of Things-systemer, Edge computing og sensorbaserede datainsamlingsplader, samt i forbrugerenheder med ultralavt energiforbrug, såsom hovedtelefoner, augmented reality-briller og smartwatches. Projektets resultater distribueres under Apache 2.0-licensen.
Coral NPU er designet til at køre AI-applikationer på mobile enheder med konstant drift og minimalt energiforbrug. Den grundlæggende implementering af Coral NPU giver en ydelse på 512 milliarder operationer pr. sekund (GOPS) med et forbrug på kun et par milliwatter. NPU'en er designet til fleksibel modifikation af arkitekturen baseret på behovene hos SoC-producenter. Den første producent, der vil begynde at fremstille chips baseret på Coral NPU, er Synaptics, som har annonceret en række processorer til Internet of Things-enheder, Astra SL2610, der inkluderer Torq NPU-subsystemet, implementeret på baggrund af Coral NPU-arkitekturen.
Typiske anvendelser for Coral NPU omfatter brug af AI til billed- og lydbehandling, brugerinteraktion og kontekstbevidsthed. For eksempel kan enheder køre store sprogmodeller og applikationer til ansigts- og objekgenkendelse, visuel søgning, talegenkendelse, livestream-oversættelse, transkription af tale, nøgleordsudtræk i tale, gestusstyring og stemmekommandoer, samt registrering af brugeraktivitet (gå, løbe, sove) og miljøtypes (indendørs, udendørs).
NPU'en anvender en 32-bit RISC-V RV32IMF_Zve32x-arkitektur, AXI4-bus, en fire-trins instruktionspipeline med ordnet dispatch, uordentlig afslutning af instruktioner, fire-trådet skalær og to-trådet vektordispatch. Processoren understøtter SIMD-operationer til samtidighedsbehandling af 128-bit vektorer og er udstyret med 8 KB ITCM-hukommelse til instruktioner og 32 KB DTCM-hukommelse til data.

NPU inkluderer tre samarbejdende processor-komponenter:
- Kernen til skalar beregninger er en letvægts, programmerbar RISC-V front-end på C, der styrer datastreams til de primære kerner og bruger modellen "kør til afslutning" for at sikre funktionaliteten af traditionelle CPU'er samt ekstremt lavt energiforbrug.
- Vektor SIMD-koprosessor, der understøtter vektorudvidelser af RISC-V instruktionssættet (RVV v1.0) og muliggør samtidig udførelse af flere operationer på store datamængder.
- Matrix-koprosessor, der effektivt udfører kombinerede multiplikations- og additionsoperationer (MAC) og designet til at accelerere grundlæggende operationer i neurale netværk.

Der er for applikationsudviklere forberedt et sæt AI-modeller kompilatorer (IREE og TFLM), en kompilator til programmer på C og en simulator. Kompilering af modeller, der anvendes i AI-applikationer baseret på TensorFlow, JAX og PyTorch understøttes. Modellen kompilere i en universal mellemrepræsentation, som derefter omdannes til et lavniveau RISC-V instruktionssæt med LLVM, der understøttes i Coral NPU.

Kilde: opennet.ru
