A Google bemutatta a Coral NPU (Neurális Feldolgozó Egység) nyílt platformját, amely egy nyitott hardveres gyorsítót kínál a gépi tanulási modellekhez, és szoftveres eszközkészletet nyújt a tipikus AI-motorokhoz való használathoz. A Coral alapként szolgálhat energiatakarékos rendszerek fejlesztéséhez, mint például a rendszer a chipben (SoC), amelyek az IoT, a Edge számítástechnika és érzékelők adatgyűjtő táblák keretein belül alkalmazhatók, továbbá fogyasztói hordható eszközök esetén, mint például fejhallgatók, kiterjesztett valóság szemüvegek és okosórák. A projekt eredményei Apache 2.0 licenc alatt érhetők el.
A Coral NPU célja, hogy a hordozható eszközökön folyamatosan működő AI-alkalmazásokat hajtson végre, minimális energiafelhasználással. A Coral NPU alapvető megvalósítása 512 milliárd műveletet biztosít másodpercenként (GOPS), mindössze néhány milliwatt energiafogyasztás mellett. Az NPU rugalmas architektúrára lett tervezve, amely alkalmazkodik a SoC gyártók igényeihez. Az első gyártó, amely a Coral NPU alapú chipjeit kezdi el előállítani, a Synaptics lesz, amely bejelentette IoT eszközökhöz szánt Astra SL2610 processzorsorozatát, ami magában foglalja a Coral NPU architektúrára alapozott Torq NPU alrendszert.
A Coral NPU tipikus alkalmazásai között szerepel az AI felhasználása képek és hangok feldolgozásához, felhasználói interakcióhoz és kontextusok figyelembevételéhez. Például az eszközök képesek futtatni nagy nyelvi modelleket és alkalmazásokat arcfelismerésre, objektumok azonosítására, vizuális keresésre, beszédfelismerésre, élő fordításra, beszéd átkonvertálására, kulcsszavak kiemelésére, gesztus- és hangutasítások kezelésére, továbbá a felhasználó aktivitásának (járás, futás, alvás) és a környezet típusának (otthon, szabadban) meghatározására.
Az NPU 32 bites RISC-V RV32IMF_Zve32x utasításkészlet architektúrával, AXI4 busz-rendszerrel, négy lépcsős utasítás feldolgozó csővezetékkel, rendezett ütemezéssel, rendezetlen utasítás végrehajtással, négy szálú skálárral és két szálú vektoriális ütemezéssel működik. A processzor támogatja a SIMD műveleteket 128 bites vektorok párhuzamos feldolgozásához, és 8 KB ITCM memóriával rendelkezik az utasításokhoz, valamint 32 KB DTCM memóriával az adatokhoz.

Az NPU három együttműködő processzor-komponenst tartalmaz:
- A skáláris számításokhoz tervezett magnó egy RISC-V nyelven programozható, könnyű front-end, amely az adatfolyamokat az alap magnókhoz vezeti, és a „befejezésig végrehajtás” (run-to-completion) modellt alkalmazza a hagyományos CPU-k funkcionalitásának biztosítása és az ultra-alacsony energiafogyasztás érdekében.
- Vektoriális SIMD-kiegészítő, amely támogatja a RISC-V (RVV v1.0) vektoros utasításkészlet kiterjesztéseit, és lehetővé teszi több operáció egyidejű végrehajtását nagy mennyiségű adat felett.
- Mátrix-kiegészítő, amely hatékonyan végrehajtja a kombinált szorzás-összeadás (MAC) műveleteket, és a neurális hálózatok alapvető műveleteinek gyorsítására lett tervezve.

A fejlesztők számára AI-modellekhez készült fordítókészlet (IREE és TFLM), C nyelvű programkészítő és szimulátor áll rendelkezésre. Támogatja a TensorFlow, JAX és PyTorch keretrendszereken alapuló AI-alkalmazásokban használt modellek fordítását. A modell egy univerzális köztes reprezentációba fordítódik, amelyet az LLVM segítségével alacsony szintű RISC-V utasításkészletté alakítanak át, amelyet a Coral NPU támogat.

Forrás: opennet.ru
