Kompani më të mëdha që merren me zhvillimin në fushën e mësimit me makinë kanë paraqitur projektin OpenXLA, i cili është i fokusuar në zhvillimin e përbashkët të mjeteve për kompilimin dhe optimizimin e modeleve për sistemet e mësimit me makinë. Projekti ka përfshirë zhvillimin e mjeteve që lejojnë unifikimin e kompilimit të modeleve të përgatitura në framework-et TensorFlow, PyTorch dhe JAX, për një trajnim dhe ekzekutimin efektiv në GPU të ndryshme dhe akceleratorë të specializuar. Në projektin janë përfshirë kompani si Google, NVIDIA, AMD, Intel, Meta, Apple, Arm, Alibaba dhe Amazon.
Pritet që, përmes bashkimit të përpjekjeve të grupeve kërkimore udhëheqëse dhe përfaqësuesve të komunitetit, të mundësohet stimulimi i zhvillimit të sistemeve të mësimit me makinë dhe të zgjidhen problemet e fragmentimit të infrastrukturës për framework-et dhe pajisjet e ndryshme. OpenXLA mundëson realizimin e mbështetjes së efektshme për pajisje të ndryshme, pa marrë parasysh se mbi çfarë framework-u është ndërtuar modeli i mësimit me makinë. Pritet që OpenXLA të kontribuojë për të reduktuar kohën e trajtimit të modeleve, për të rritur kapacitetin, për të zvogëluar vonesat, për të indirë kostot e burimeve kompjuterike dhe për të shkurtuar kohën për të sjellë produktin në treg.

OpenXLA përbëhet nga tre komponente kryesore, kodi i të cilave shpërndahet nën licencën Apache 2.0:
- XLA (Accelerated Linear Algebra) â njĂ« kompiler qĂ« mundĂ«son optimizimin e modeleve tĂ« mĂ«simit me makinĂ« pĂ«r ekzekutimin me performancĂ« tĂ« lartĂ« nĂ« platforma tĂ« ndryshme harduerike, duke pĂ«rfshirĂ« GPU, CPU dhe akceleratorĂ« tĂ« specializuar nga prodhues tĂ« ndryshĂ«m.
- StableHLO â specifikimi dhe implementimi bazĂ« i njĂ« grupi operacionesh tĂ« nivelit tĂ« lartĂ« (HLO, High-Level Operations) pĂ«r pĂ«rdorim nĂ« modelet e sistemeve tĂ« mĂ«simit me makinĂ«. ShĂ«rben si njĂ« ndĂ«rfaqe midis framework-eve tĂ« mĂ«simit me makinĂ« dhe kompilerĂ«ve, qĂ« transformojnĂ« modelin pĂ«r ekzekutim nĂ« pajisje specifike. NdĂ«rfaqet pĂ«r gjenerimin e modeleve nĂ« formatin StableHLO janĂ« pĂ«rgatitur pĂ«r framework-et PyTorch, TensorFlow dhe JAX. Baza e StableHLO Ă«shtĂ« njĂ« grup MHLO, qĂ« Ă«shtĂ« zgjeruar me mbĂ«shtetje pĂ«r serilizimin dhe versionimin.
- IREE (Intermediate Representation Execution Environment) â njĂ« kompiler dhe runtime qĂ« transformon modelet e mĂ«simit me makinĂ« nĂ« njĂ« pĂ«rfaqĂ«sim tĂ« mesĂ«m universale, i bazuar nĂ« formatin MLIR (Multi-Level Intermediate Representation) nga projekti LLVM. Nga veçoritĂ« pĂ«rmendet 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 kostot e ulĂ«ta tĂ« mbĂ«shtetjes.
Përfitimet kryesore të mjeteve OpenXLA:
- Arritja e performancës optimale pa nevojën për të thelluar në kodimin e specifik për pajisje të caktuara. Ofrimi i optimizimeve të gatshme, duke përfshirë thjeshtimin e shprehjeve algebrike, vendosjen efikase në memorie, planifikimin e ekzekutimit me qëllim për të zvogëluar konsumin maksimal të memories dhe ngarkesave.
- Thjeshtimi i shkallëzimit dhe paralelizimit të llogaritjeve. Ajo që duhet të bëjë zhvilluesi është të shtojë anotacione për një nënmbledhje të tenseve kritikë, mbi të cilat kompileri mund të gjenerojë automatikisht kod për llogaritje të paralelizuara.
- Sigurimi i transportueshmërisë përmes mbështetjes së platformave të ndryshme harduerike, si GPU AMD dhe NVIDIA, CPU mbi arkitekturën x86 dhe ARM, akceleratorë ML TPU Google, IPU AWS Trainium Inferentia, Graphcore dhe Cerebras Wafer-Scale Engine.
- Mbështetje për lidhjen e zgjerimeve me implementimin e mundësive shtesë, si mbështetje për kodimin e primitiveve të thellë të mësimit të makinerive duke përdorur CUDA, HIP, SYCL, Triton dhe gjuhë të tjera për llogaritje të paralelizuara. Mundësia e tunimit manual të vendeve të ngushta në modele.
Burimi: opennet.ru
