Compania Google a prezentat platforma deschisă Coral NPU (Unitate de Procesare Neurală), care oferă un accelerator hardware deschis pentru modelele de învățare automată și instrumente software pentru utilizarea acestuia cu motoare AI standard. Coral poate fi utilizată ca bază pentru crearea de sisteme eficiente energetic pe un cip (SoC), potrivite pentru utilizarea în sisteme de internet al obiectelor, calcul Edge și plăci de colectare a informațiilor din senzori, precum și în dispozitive de consum purtabile cu consum ultra-scăzut de energie, cum ar fi căștile, ochelarii de realitate augmentată și ceasurile inteligente. Proiectele sunt distribuite sub licența Apache 2.0.
Coral NPU este destinat să execute aplicații AI care funcționează constant pe dispozitive portabile, cu un consum minim de energie. Implementarea de bază a Coral NPU oferă o performanță de 512 miliarde de operațiuni pe secundă (GOPS) cu un consum de doar câțiva miliwați. NPU-ul este proiectat pentru modificarea flexibilă a arhitecturii în funcție de nevoile producătorilor de SoC. Primul producător care va începe să fabrice cipuri bazate pe Coral NPU va fi compania Synaptics, care a anunțat o gamă de procesoare pentru dispozitive de internet al obiectelor Astra SL2610, incluzând o subsistemă Torq NPU, realizată pe baza arhitecturii Coral NPU.
Printre aplicațiile tipice ale Coral NPU se numără utilizarea AI pentru procesarea imaginilor și sunetului, interacțiunea cu utilizatorul și contabilizarea contextului. De exemplu, dispozitivele pot rula modele lingvistice mari și aplicații de recunoaștere facială și a obiectelor, căutare vizuală, recunoaștere vocală, traducere în timp real, transcrierea vorbirii, extragerea cuvintelor cheie din discurs, controlul prin gesturi și comenzi vocale, determinarea activității utilizatorului (mers, alergat, somn) și a tipului de mediu (acasă, afară).
NPU utilizează o arhitectură de 32 de biți a setului de instrucțiuni RISC-V RV32IMF_Zve32x, magistrala AXI4, un pipeline de procesare a instrucțiunilor în patru etape cu programare ordonată, finalizarea neordonată a execuției instrucțiunilor, programare scalară pe patru fire și programare vectorială pe două fire. Procesorul suportă operații SIMD pentru procesarea simultană a vectorilor de 128 de biți și este dotat cu 8 KB de memorie ITCM pentru instrucțiuni și 32 KB de memorie DTCM pentru date.

NPU include trei componente de procesare care colaborează:
- Nucleul pentru calcule scalare — un frontend programabil în limbajul C, bazat pe RISC-V, care gestionează fluxurile de date către nucleele principale și utilizează modelul „execuție până la finalizare” pentru a asigura funcționalitatea tradiționalelor CPU și un consum de energie extrem de scăzut.
- Coprocesorul SIMD vectorial, care suportă extensiile vectoriale ale setului de instrucțiuni RISC-V (RVV v1.0) și permite executarea simultană a mai multor operații pe volume mari de date.
- Coprocesorul matricial, care îndeplinește eficient operațiile de înmulțire-adiție (MAC) și este conceput pentru a accelera operațiile de bază ale rețelelor neuronale.

Pentru dezvoltatorii de aplicații a fost pregătit un set de compilatoare pentru modele AI (IREE și TFLM), un compilator pentru programe în limbajul C și un simulator. Este suportată compilarea modelelor folosite în aplicațiile AI bazate pe cadrele TensorFlow, JAX și PyTorch. Modelul este compilat într-un reprezentare intermediară universală, care este apoi transformată folosind LLVM în setul de instrucțiuni de nivel inferior RISC-V, suportat în Coral NPU.

Sursa: opennet.ro
