OpenXLA, projekat otvorenog koda za ubrzavanje i pojednostavljenje mašinskog učenja

OpenXLA

OpenXLA je zajednički razvijen ekosistem ML kompajlera otvorenog koda

Nedavno predstavljene najveće kompanije koje se bave razvojem u oblasti mašinskog učenja projekat OpenXLA, namenjen zajedničkom razvoju alata da kompajliraju i optimizuju modele za sisteme mašinskog učenja.

Projekat je preuzeo odgovornost za razvoj alata koji omogućavaju objedinjavanje kompilacije modela pripremljenih u TensorFlow, PyTorch i JAX okvirima za efikasnu obuku i izvršavanje na različitim GPU-ima i specijalizovanim akceleratorima. Kompanije kao što su Google, NVIDIA, AMD, Intel, Meta, Apple, Arm, Alibaba i Amazon pridružile su se zajedničkom radu projekta.

OpenXLA projekat obezbeđuje najsavremeniji ML kompajler koji može da se skalira usred složenosti ML infrastrukture. Njegovi osnovni stubovi su performanse, skalabilnost, prenosivost, fleksibilnost i proširivost za korisnike. Sa OpenXLA-om težimo da otključamo stvarni potencijal AI ubrzavajući njegov razvoj i isporuku.

OpenXLA omogućava programerima da kompajliraju i optimizuju modele iz svih vodećih ML okvira za efikasnu obuku i servisiranje na širokom spektru hardvera. Programeri koji koriste OpenXLA vidjet će značajna poboljšanja u vremenu obuke, performansama, kašnjenju usluge i konačno vremenu za plasiranje na tržište i izračunavanje troškova.

Nadamo se da će zajedničkim naporima glavnih istraživačkih timova i predstavnika zajednice, biće moguće stimulisati razvoj sistema mašinskog učenja i riješiti problem fragmentacije infrastrukture za različite okvire i timove.

OpenXLA omogućava implementaciju efikasne podrške za različit hardver, bez obzira na okvir na kojem se zasniva model mašinskog učenja. Očekuje se da će OpenXLA smanjiti vrijeme obuke modela, poboljšati performanse, smanjiti kašnjenje, smanjiti troškove računanja 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 kompajler koji vam omogućava da optimizujete modele mašinskog učenja za izvršavanje visokih performansi na različitim hardverskim platformama, uključujući GPU, CPU i specijalizovane akceleratore različitih proizvođača.
  2. StableHLO je osnovna specifikacija i implementacija skupa operacija visokog nivoa (HLO) za upotrebu u modelima sistema mašinskog učenja. Djeluje kao sloj između okvira za strojno učenje i kompajlera koji transformiraju model u rad na određenom hardveru. Slojevi su pripremljeni za generiranje modela u StableHLO formatu za PyTorch, TensorFlow i JAX okvire. MHLO paket se koristi kao osnova za StableHLO, koji je proširen podrškom za serijalizaciju i kontrolu verzija.
  3. IREE (Intermediate Representation Execution Environment) je kompajler i vrijeme izvođenja koji pretvara modele strojnog učenja u univerzalni srednji prikaz zasnovan na MLIR (Intermediate Multi-Level Representation) formatu LLVM projekta. Od karakteristika, istaknuta je mogućnost prekompilacije (unaprijed), podrška za kontrolu toka, mogućnost korištenja dinamičkih elemenata u modelima, optimizacija za različite CPU i GPU-ove i niski troškovi.

Što se tiče glavnih prednosti OpenXLA, pominje se da optimalne performanse su postignute bez potrebe za udubljivanjem u pisanje koda specifičan za uređaj, pored toga pružiti optimizacije izvan kutije, uključujući pojednostavljenje algebarskih izraza, efikasnu alokaciju memorije, zakazivanje izvršenja, uzimajući u obzir smanjenje maksimalne potrošnje memorije i režijskih troškova.

Još jedna prednost je pojednostavljenje skaliranja i paralelizacija proračuna. Dovoljno je da programer doda napomene za podskup kritičnih tenzora, na osnovu kojih kompajler može automatski generisati kod za paralelno računanje.

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

Podrška za povezivanje ekstenzija sa implementacijom dodatnih funkcija, kao podrška za pisanje primitiva dubokog mašinskog 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 ste zainteresirani da saznate više o tome, možete se obratiti detalje na sljedećem linku.


Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  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 obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.