Kompani të mëdha që merren me zhvillimin në fushën e mësimit të makinerive kanë paraqitur projektin OpenXLA, i cili synon zhvillimin e përbashkët të mjeteve për kompilimin dhe optimizimin e modeleve për sistemet e mësimit të makinerive. Nën mbrojtjen e projektit, u transferua zhvillimi i mjeteve që lejojnë unifikimin e kompilimit të modeleve, të përgatitura në kornizat TensorFlow, PyTorch dhe JAX, për trajnim dhe ekzekutim efikas në GPU të ndryshëm dhe përshpejtues të specializuar. Në këtë projekt janë angazhuar kompani si Google, NVIDIA, AMD, Intel, Meta, Apple, Arm, Alibaba dhe Amazon.
Pritet që falë bashkimit të përpjekjeve të ekipeve lider për hulumtim dhe përfaqësuesve të komunitetit të arrihet të stimulohet zhvillimi i sistemeve të mësimit të makinerive dhe të zgjidhet problemi i fragmentimit të infrastrukturës për kornizat dhe pajisjet e ndryshme. OpenXLA lejon realizimin e mbështetjes efektive për pajisje të ndryshme, pa marrë parasysh se mbi cilën kornizë është ndërtuar modeli i mësimit të makinerive. Pritet që me OpenXLA të arrihet të reduktohet koha e trajnimit të modeleve, të rritet kapaciteti i kalimit, të zvogëlohen vonesat, të ulen kostot për burimet kompjuterike dhe të shkurtohet koha e nxjerrjes së produktit në treg.

OpenXLA përbëhet nga tre komponentë kryesorë, kodi i të cilëve shpërndahet nën licencën Apache 2.0:
- XLA (Accelerated Linear Algebra) â njĂ« kompajler qĂ« lejon optimizimin e modeleve tĂ« mĂ«simit tĂ« makinerive pĂ«r ekzekutimin e lartĂ« nĂ« platforma tĂ« ndryshme harduerike, duke pĂ«rfshirĂ« GPU, CPU dhe pĂ«rshpejtues tĂ« specializuar nga prodhues tĂ« ndryshĂ«m.
- StableHLO â specifikimi dhe implementimi bazĂ« i njĂ« grupi operacioneve me nivel tĂ« lartĂ« (HLO, High-Level Operations) pĂ«r tâu pĂ«rdorur nĂ« modelet e sistemeve tĂ« mĂ«simit tĂ« makinerive. Vepron si njĂ« ndĂ«rfaqe midis kornizave tĂ« mĂ«simit tĂ« makinerive dhe kompajlerĂ«ve qĂ« ndĂ«rrjnĂ« modelin pĂ«r ekzekutim nĂ« harduerin specifik. NdĂ«rfaqet pĂ«r gjenerimin e modeleve nĂ« formatin StableHLO janĂ« pĂ«rgatitur pĂ«r kornizat PyTorch, TensorFlow dhe JAX. Si bazĂ« pĂ«r StableHLO Ă«shtĂ« pĂ«rdorur grupi MHLO, i cili Ă«shtĂ« zgjeruar me mbĂ«shtetje pĂ«r serializimin dhe versionimin.
- IREE (Mjedisi i Ekzekutimit tĂ« PĂ«rfaqĂ«simit tĂ« MesĂ«m) â njĂ« kompilator dhe runtime qĂ« transformon modelet e mĂ«simit tĂ« makinerive nĂ« njĂ« pĂ«rfaqĂ«sim tĂ« pĂ«rbashkĂ«t tĂ« ndĂ«rmjetĂ«m, tĂ« bazuar nĂ« formatin MLIR (PĂ«rfaqĂ«simi NdĂ«rmjetĂ«s nĂ« Nivel tĂ« ShumĂ«fishtĂ«) nga projekti LLVM. Pjesa dalluese Ă«shtĂ« mundĂ«sia e kompilimit paraprak (ahead-of-time), mbĂ«shtetje pĂ«r menaxhimin e rrjedhĂ«s, mundĂ«sia e pĂ«rdorimit tĂ« elementeve dinamike nĂ« modele, optimizimi pĂ«r CPU dhe GPU tĂ« ndryshme, dhe shpenzime tĂ« ulĂ«ta tĂ« mbĂ«shtetjes.
Përfitimet kryesore të instrumentit OpenXLA:
- Arrihni performancën optimale pa qenë e nevojshme të thellohem në shkrimin e kodit të specializuar për pajisje të caktuara. Ofrimi i optimizimeve të gatshme, që përfshijnë thjeshtimin e shprehjeve algebraike, vendosjen efikase në memorie, planifikimin e ekzekutimit duke marrë parasysh reduktimin e pikëve maksimale të konsumit të memories dhe mbingarkesave.
- Thjeshtimi i skalimit dhe paralelizimit të llogaritjeve. Programuesi duhet vetëm të shtojë annotimet për një nëngrup kritik të tensoreve, mbi të cilat kompilatori mund të gjenerojë automatikisht kodin për llogaritje paralele.
- Sigurimi i portabilitetit përmes mbështetjes së platformave të ndryshme harduerike, si GPU AMD dhe NVIDIA, CPU të bazuara në arkitekturën x86 dhe ARM, përshpejtuesit ML TPU të Google, IPU AWS Trainium Inferentia, Graphcore dhe Cerebras Wafer-Scale Engine.
- Mbështetje për lidhjen e zgjerimeve me implementimin e mundësive të tjera, si mbështetje për shkrimin e primitiveve të mësimit të thellë me përdorimin e CUDA, HIP, SYCL, Triton dhe gjuhëve të tjera për llogaritjet paralele. Mundësia e rregullimit manual të ngushticave në modele.
Burimi: opennet.ru
