OpenXLA, projekt otvorenog koda za ubrzavanje i pojednostavljenje strojnog učenja

OpenXLA

OpenXLA je zajednički razvijen ekosustav ML prevoditelja otvorenog koda

nedavno, predstavljene najveće tvrtke koje se bave razvojem u području strojnog učenja projekt OpenXLA, namijenjen zajedničkom razvoju alata sastaviti i optimizirati modele za sustave strojnog učenja.

Projekt je preuzeo razvoj alata koji omogućuju objedinjavanje kompilacije modela pripremljenih u okvirima TensorFlow, PyTorch i JAX za učinkovitu obuku i izvođenje na različitim GPU-ovima i specijaliziranim akceleratorima. U zajednički rad na projektu uključile su se tvrtke kao što su Google, NVIDIA, AMD, Intel, Meta, Apple, Arm, Alibaba i Amazon.

Projekt OpenXLA pruža najsuvremeniji ML kompilator koji se može skalirati usred složenosti ML infrastrukture. Njegovi temeljni stupovi su izvedba, skalabilnost, prenosivost, fleksibilnost i proširivost za korisnike. S OpenXLA-om težimo otključavanju stvarnog potencijala umjetne inteligencije ubrzavanjem njezina razvoja i isporuke.

OpenXLA omogućuje programerima kompajliranje i optimiziranje modela iz svih vodećih ML okvira za učinkovitu obuku i servisiranje na širokom spektru hardvera. Razvojni programeri koji koriste OpenXLA vidjet će značajna poboljšanja u vremenu obuke, performansama, kašnjenju usluge i naposljetku vremenu izlaska na tržište i troškovima računanja.

Nadamo se da će zajedničkim naporima glavnih istraživačkih timova i predstavnika zajednice, moći će se potaknuti razvoj sustava strojnog učenja i riješiti problem fragmentacije infrastrukture za različite okvire i timove.

OpenXLA omogućuje implementaciju učinkovite podrške za različit hardver, bez obzira na okvir na kojem se temelji model strojnog učenja. Očekuje se da će OpenXLA smanjiti vrijeme obuke modela, poboljšati performanse, smanjiti latenciju, smanjiti opterećenje računala i smanjiti vrijeme izlaska na tržište.

OpenXLA sastoji se od tri glavne komponente, čiji se kod distribuira pod licencom Apache 2.0:

  1. XLA (ubrzana linearna algebra) je prevodilac koji vam omogućuje optimizaciju modela strojnog učenja za visokoučinkovito izvršenje na različitim hardverskim platformama, uključujući GPU-ove, CPU-ove i specijalizirane akceleratore različitih proizvođača.
  2. StableHLO je osnovna specifikacija i implementacija skupa operacija visoke razine (HLO) za upotrebu u modelima sustava strojnog učenja. Djeluje kao sloj između okvira strojnog učenja i prevoditelja koji transformiraju model za izvođenje na određenom hardveru. Slojevi su pripremljeni za generiranje modela u StableHLO formatu za okvire PyTorch, TensorFlow i JAX. MHLO paket koristi se kao osnova za StableHLO, koji je proširen podrškom za serijalizaciju i kontrolu verzija.
  3. IREE (Intermediate Representation Execution Environment) je prevodilac i runtime koji pretvara modele strojnog učenja u univerzalni srednji prikaz temeljen na MLIR (Intermediate Multi-Level Representation) formatu LLVM projekta. Od značajki se ističe mogućnost predkompilacije (prije vremena), podrška za kontrolu toka, mogućnost korištenja dinamičkih elemenata u modelima, optimizacija za različite CPU-e i GPU-ove te niski troškovi.

Što se tiče glavnih prednosti OpenXLA, navodi se da postignuta je optimalna izvedba bez potrebe za udubljivanjem u pisanje koda specifičan za uređaj, osim toga pružiti gotove optimizacije, uključujući pojednostavljenje algebarskih izraza, učinkovitu dodjelu memorije, raspoređivanje izvršenja, uzimajući u obzir smanjenje maksimalne potrošnje memorije i režijskih troškova.

Još jedna prednost je pojednostavljenje skaliranja i paraleliziranje izračuna. Dovoljno je da programer doda bilješke za podskup kritičnih tenzora, na temelju kojih prevodilac može automatski generirati kod za paralelno računanje.

Također je istaknuto da prenosivost je omogućena podrškom za više hardverskih platformi, kao što su AMD i NVIDIA GPU-ovi, x86 i ARM CPU-ovi, Google TPU ML akceleratori, AWS Trainium Inferentia IPU-ovi, Graphcore i Wafer-Scale Engine Cerebras.

Podrška za povezivanje proširenja s implementacijom dodatnih funkcija, kao podrška za pisanje primitiva dubokog strojnog učenja koristeći CUDA, HIP, SYCL, Triton i druge jezike za paralelno računanje, kao i mogućnost ručnog podešavanja uskih grla u modelima.

Napokon, ako vas zanima više o tome, možete se obratiti pojedinosti na sljedećem linku.


Ostavite svoj komentar

Vaša email adresa neće biti objavljen. Obavezna polja su označena s *

*

*

  1. Odgovoran za podatke: AB Internet Networks 2008 SL
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obvezi.
  5. Pohrana podataka: Baza podataka koju hostira Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.