OpenXLA, odprtokodni projekt za pospešitev in poenostavitev strojnega učenja

OpenXLA

OpenXLA je sorazvit odprtokodni ekosistem prevajalnika ML

Pred kratkim predstavila največja podjetja, ki se ukvarjajo z razvojem na področju strojnega učenja projekt OpenXLA, namenjen skupnemu razvoju orodij sestaviti in optimizirati modele za sisteme strojnega učenja.

Projekt je prevzel razvoj orodij, ki omogočajo poenotenje kompilacije modelov, pripravljenih v ogrodjih TensorFlow, PyTorch in JAX za učinkovito usposabljanje in izvajanje na različnih grafičnih procesorjih in specializiranih pospeševalnikih. Skupnemu delu projekta so se pridružila podjetja, kot so Google, NVIDIA, AMD, Intel, Meta, Apple, Arm, Alibaba in Amazon.

Projekt OpenXLA zagotavlja najsodobnejši prevajalnik ML, ki se lahko prilagaja med kompleksnostjo infrastrukture ML. Njegovi temeljni stebri so zmogljivost, razširljivost, prenosljivost, prilagodljivost in razširljivost za uporabnike. Z OpenXLA si prizadevamo sprostiti pravi potencial umetne inteligence s pospeševanjem njenega razvoja in dostave.

OpenXLA omogoča razvijalcem, da sestavijo in optimizirajo modele iz vseh vodilnih ogrodij ML za učinkovito usposabljanje in servisiranje na najrazličnejši strojni opremi. Razvijalci, ki uporabljajo OpenXLA, bodo opazili znatne izboljšave v času usposabljanja, zmogljivosti, zakasnitvi storitev in navsezadnje času za trženje in stroških računanja.

Upati je, da s skupnimi močmi glavnih raziskovalnih skupin in predstavnikov skupnosti, mogoče bo spodbuditi razvoj sistemov strojnega učenja in rešiti problem razdrobljenosti infrastrukture za različna ogrodja in ekipe.

OpenXLA omogoča implementacijo učinkovite podpore za različno strojno opremo, ne glede na okvir, na katerem temelji model strojnega učenja. Pričakuje se, da bo OpenXLA skrajšal čas usposabljanja modela, izboljšal zmogljivost, zmanjšal zakasnitev, zmanjšal stroške računalništva in skrajšal čas do trženja.

OpenXLA je sestavljen iz treh glavnih komponent, katerega koda se distribuira pod licenco Apache 2.0:

  1. XLA (pospešena linearna algebra) je prevajalnik, ki vam omogoča optimizacijo modelov strojnega učenja za visoko zmogljivo izvajanje na različnih platformah strojne opreme, vključno z grafičnimi procesorji, centralnimi procesorji in specializiranimi pospeševalniki različnih proizvajalcev.
  2. StableHLO je osnovna specifikacija in izvedba nabora operacij na visoki ravni (HLO) za uporabo v sistemskih modelih strojnega učenja. Deluje kot plast med ogrodji strojnega učenja in prevajalniki, ki preoblikujejo model za delovanje na določeni strojni opremi. Sloji so pripravljeni za ustvarjanje modelov v formatu StableHLO za ogrodja PyTorch, TensorFlow in JAX. Zbirka MHLO se uporablja kot osnova za StableHLO, ki je razširjen s podporo za serializacijo in nadzor različic.
  3. IREE (Intermediate Representation Execution Environment) je prevajalnik in izvajalno okolje, ki pretvori modele strojnega učenja v univerzalno vmesno predstavitev, ki temelji na formatu MLIR (Intermediate Multi-Level Representation) projekta LLVM. Od funkcij so poudarjene možnost predprevajanja (pred časom), podpora za nadzor pretoka, možnost uporabe dinamičnih elementov v modelih, optimizacija za različne CPE in GPU ter nizki stroški.

V zvezi z glavnimi prednostmi OpenXLA je omenjeno, da optimalna zmogljivost je bila dosežena, ne da bi se morali poglobiti v pisanje kode posebej za napravo, poleg tega zagotavljajo že pripravljene optimizacije, vključno s poenostavitvijo algebrskih izrazov, učinkovitim dodeljevanjem pomnilnika, razporejanjem izvajanja, ob upoštevanju zmanjšanja največje porabe pomnilnika in režijskih stroškov.

Druga prednost je poenostavitev skaliranja in paralelizacija izračunov. Dovolj je, da razvijalec doda opombe za podmnožico kritičnih tenzorjev, na podlagi katerih lahko prevajalnik samodejno ustvari kodo za vzporedno računalništvo.

Poudarjeno je tudi, da prenosljivost je zagotovljena s podporo za več platform strojne opreme, kot so GPU-ji AMD in NVIDIA, CPE-ji x86 in ARM, pospeševalniki Google TPU ML, IPU-ji AWS Trainium Inferentia, Graphcore in Wafer-Scale Engine Cerebras.

Podpora za povezovanje razširitev z implementacijo dodatnih funkcij, kot podpora za pisanje primitivov globokega strojnega učenja z uporabo CUDA, HIP, SYCL, Triton in drugih jezikov za vzporedno računalništvo, kot tudi možnost ročne nastavitve ozkih grl v modelih.

Nazadnje, če vas zanima več o tem, se lahko obrnete na podrobnosti na naslednji povezavi.


Pustite svoj komentar

Vaš e-naslov ne bo objavljen. Obvezna polja so označena z *

*

*

  1. Odgovoren za podatke: AB Internet Networks 2008 SL
  2. Namen podatkov: Nadzor neželene pošte, upravljanje komentarjev.
  3. Legitimacija: Vaše soglasje
  4. Sporočanje podatkov: Podatki se ne bodo posredovali tretjim osebam, razen po zakonski obveznosti.
  5. Shranjevanje podatkov: Zbirka podatkov, ki jo gosti Occentus Networks (EU)
  6. Pravice: Kadar koli lahko omejite, obnovite in izbrišete svoje podatke.