OpenXLA, et open source-projekt til at fremskynde og forenkle maskinlæring

OpenXLA

OpenXLA er et co-udviklet open source ML compiler økosystem

For nylig, de største virksomheder beskæftiget med udvikling inden for maskinlæring præsenteret projektet OpenXLA, beregnet til fælles udvikling af værktøjer at kompilere og optimere modeller til maskinlæringssystemer.

Projektet har taget ansvaret for udviklingen af ​​værktøjer, der gør det muligt at samle kompileringen af ​​modeller udarbejdet i TensorFlow, PyTorch og JAX rammerne til effektiv træning og udførelse på forskellige GPU'er og specialiserede acceleratorer. Virksomheder som Google, NVIDIA, AMD, Intel, Meta, Apple, Arm, Alibaba og Amazon sluttede sig til projektets fælles arbejde.

OpenXLA-projektet leverer en avanceret ML-compiler, der kan skaleres midt i kompleksiteten af ​​ML-infrastrukturen. Dens grundlæggende søjler er ydeevne, skalerbarhed, bærbarhed, fleksibilitet og udvidelsesmuligheder for brugerne. Med OpenXLA stræber vi efter at frigøre AI's reelle potentiale ved at accelerere udviklingen og leveringen.

OpenXLA gør det muligt for udviklere at kompilere og optimere modeller fra alle førende ML-frameworks til effektiv træning og servicering på en bred vifte af hardware. Udviklere, der bruger OpenXLA, vil se betydelige forbedringer i træningstid, ydeevne, serviceforsinkelse og i sidste ende time to market og beregningsomkostninger.

Det er håbet, at ved at slutte sig til indsatsen af de vigtigste forskerhold og repræsentanter for samfundet, det vil være muligt at stimulere udviklingen af ​​maskinlæringssystemer og løse problemet med infrastrukturfragmentering for forskellige rammer og teams.

OpenXLA gør det muligt at implementere effektiv support til forskellige hardware, uanset de rammer, som machine learning-modellen bygger på. OpenXLA forventes at reducere modeltræningstiden, forbedre ydeevnen, reducere latens, reducere computing overhead og reducere time to market.

OpenXLA består af tre hovedkomponenter, hvis kode er distribueret under Apache 2.0-licensen:

  1. XLA (accelereret lineær algebra) er en compiler, der giver dig mulighed for at optimere maskinlæringsmodeller til højtydende udførelse på forskellige hardwareplatforme, herunder GPU'er, CPU'er og specialiserede acceleratorer fra forskellige producenter.
  2. StableHLO er en grundlæggende specifikation og implementering af et sæt High-Level Operations (HLO'er) til brug i maskinlæringssystemmodeller. Det fungerer som et lag mellem maskinlæringsrammer og compilere, der transformerer modellen til at køre på specifik hardware. Lag er forberedt til at generere modeller i StableHLO-format til PyTorch-, TensorFlow- og JAX-rammerne. MHLO-pakken bruges som grundlag for StableHLO, som er udvidet med understøttelse af serialisering og versionskontrol.
  3. IREE (Intermediate Representation Execution Environment) er en compiler og runtime, der konverterer maskinlæringsmodeller til en universel mellemrepræsentation baseret på MLIR-formatet (Intermediate Multi-Level Representation) i LLVM-projektet. Af funktionerne fremhæves muligheden for prækompilering (forud for tid), understøttelse af flowkontrol, muligheden for at bruge dynamiske elementer i modeller, optimering til forskellige CPU'er og GPU'er samt lav overhead.

Med hensyn til de vigtigste fordele ved OpenXLA nævnes det optimal ydeevne er opnået uden at skulle dykke ned i at skrive kode enhedsspecifik, udover leverer optimeringer lige fra boksen, herunder forenkling af algebraiske udtryk, effektiv hukommelsesallokering, eksekveringsplanlægning, under hensyntagen til reduktion af maksimalt hukommelsesforbrug og overhead.

En anden fordel er forenkling af skalering og parallelisering af beregninger. Det er nok for en udvikler at tilføje annoteringer til en delmængde af kritiske tensorer, på grundlag af hvilke compileren automatisk kan generere kode til parallel computing.

Det fremhæves også, at portabilitet er forsynet med understøttelse af flere hardwareplatforme, såsom AMD og NVIDIA GPU'er, x86 og ARM CPU'er, Google TPU ML Acceleratorer, AWS Trainium Inferentia IPU'er, Graphcore og Wafer-Scale Engine Cerebras.

Support til at forbinde udvidelser med implementering af yderligere funktioner, som støtte til at skrive dybe maskinlæringsprimitiver ved hjælp af CUDA, HIP, SYCL, Triton og andre sprog til parallel computing, samt mulighed for manuel justering af flaskehalse i modeller.

Endelig, hvis du er interesseret i at vide mere om det, kan du konsultere detaljer i følgende link.


Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

*

*

  1. Ansvarlig for data: AB Internet Networks 2008 SL
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.