OpenXLA, un proiect open source pentru a accelera și simplifica învățarea automată

OpenXLA

OpenXLA este un ecosistem de compilator ML open source dezvoltat în comun

Recent, au prezentat cele mai mari companii implicate în dezvoltarea în domeniul învățării automate proiectul OpenXLA, destinat dezvoltării în comun a instrumentelor pentru a compila și optimiza modele pentru sistemele de învățare automată.

Proiectul s-a ocupat de dezvoltarea instrumentelor care permit unificarea compilației modelelor pregătite în cadrele TensorFlow, PyTorch și JAX pentru antrenament și execuție eficientă pe diferite GPU-uri și acceleratoare specializate. Companii precum Google, NVIDIA, AMD, Intel, Meta, Apple, Arm, Alibaba și Amazon s-au alăturat lucrării comune a proiectului.

Proiectul OpenXLA oferă un compilator ML de ultimă generație care se poate scala în mijlocul complexității infrastructurii ML. Pilonii săi fundamentali sunt performanța, scalabilitatea, portabilitatea, flexibilitatea și extensibilitatea pentru utilizatori. Cu OpenXLA, aspirăm să deblocăm potențialul real al inteligenței artificiale prin accelerarea dezvoltării și livrării acestuia.

OpenXLA permite dezvoltatorilor să compileze și să optimizeze modele din toate cadrele ML de vârf pentru instruire și service eficient pe o mare varietate de hardware. Dezvoltatorii care folosesc OpenXLA vor vedea îmbunătățiri semnificative în ceea ce privește timpul de instruire, performanța, latența serviciului și, în cele din urmă, timpul de comercializare și costurile de calcul.

Se speră că prin unirea eforturilor a principalelor echipe de cercetare și a reprezentanților comunității, va fi posibilă stimularea dezvoltării sistemelor de învățare automată și să rezolve problema fragmentării infrastructurii pentru diverse cadre și echipe.

OpenXLA permite implementarea suportului eficient pentru diverse hardware, indiferent de cadrul pe care se bazează modelul de învățare automată. Se așteaptă ca OpenXLA să reducă timpul de pregătire a modelului, să îmbunătățească performanța, să reducă latența, să reducă cheltuielile de calcul și să reducă timpul de lansare pe piață.

OpenXLA constă din trei componente principale, al cărui cod este distribuit sub licența Apache 2.0:

  1. XLA (accelerated linear algebra) este un compilator care vă permite să optimizați modelele de învățare automată pentru execuție de înaltă performanță pe diferite platforme hardware, inclusiv GPU-uri, procesoare și acceleratoare specializate de la diverși producători.
  2. StableHLO este o specificație de bază și o implementare a unui set de operațiuni de nivel înalt (HLO) pentru utilizare în modelele de sisteme de învățare automată. Acționează ca un strat între cadrele de învățare automată și compilatoare care transformă modelul pentru a rula pe hardware specific. Straturile sunt pregătite pentru a genera modele în format StableHLO pentru cadrele PyTorch, TensorFlow și JAX. Suita MHLO este folosită ca bază pentru StableHLO, care este extinsă cu suport pentru serializare și controlul versiunilor.
  3. IREE (Intermediate Representation Execution Environment) este un compilator și un timp de execuție care convertește modelele de învățare automată într-o reprezentare intermediară universală bazată pe formatul MLIR (Intermediate Multi-Level Representation) al proiectului LLVM. Dintre caracteristici, sunt evidențiate posibilitatea precompilării (în avans), suportul pentru controlul fluxului, capacitatea de a utiliza elemente dinamice în modele, optimizarea pentru diferite procesoare și GPU-uri și overhead redus.

În ceea ce privește principalele avantaje ale OpenXLA, se menționează că performanța optimă a fost atinsă fără a fi nevoie să se aprofundeze în scrierea codului specific dispozitivului, pe lângă să ofere optimizări ieșite din cutie, inclusiv simplificarea expresiilor algebrice, alocarea eficientă a memoriei, programarea execuției, ținând cont de reducerea consumului maxim de memorie și a cheltuielilor generale.

Un alt avantaj este simplificarea scalarii si paralelizarea calculelor. Este suficient ca un dezvoltator să adauge adnotări pentru un subset de tensori critici, pe baza cărora compilatorul poate genera automat cod pentru calculul paralel.

De asemenea, se evidențiază faptul că portabilitatea este furnizată cu suport pentru mai multe platforme hardware, precum AMD și NVIDIA GPU-uri, procesoare x86 și ARM, Google TPU ML Accelerators, AWS Trainium Inferentia IPU, Graphcore și Wafer-Scale Engine Cerebras.

Suport pentru conectarea extensiilor cu implementarea de funcții suplimentare, ca suport pentru scrierea primitivelor de învățare automată profundă folosind CUDA, HIP, SYCL, Triton și alte limbaje pentru calculul paralel, precum și posibilitatea de reglare manuală a blocajelor în modele.

În cele din urmă, dacă sunteți interesat să aflați mai multe despre aceasta, puteți consulta detalii în următorul link.


Lasă comentariul tău

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

*

*

  1. Responsabil pentru date: AB Internet Networks 2008 SL
  2. Scopul datelor: Control SPAM, gestionarea comentariilor.
  3. Legitimare: consimțământul dvs.
  4. Comunicarea datelor: datele nu vor fi comunicate terților decât prin obligație legală.
  5. Stocarea datelor: bază de date găzduită de Occentus Networks (UE)
  6. Drepturi: în orice moment vă puteți limita, recupera și șterge informațiile.