OpenXLA, open source projekt na urýchlenie a zjednodušenie strojového učenia

OpenXLA

OpenXLA je spoločne vyvinutý ekosystém kompilátora ML s otvoreným zdrojom

V poslednej dobe, predstavili najväčšie spoločnosti zaoberajúce sa vývojom v oblasti strojového učenia projekt OpenXLA, určený na spoločný vývoj nástrojov kompilovať a optimalizovať modely pre systémy strojového učenia.

Projekt si zobral na starosť vývoj nástrojov, ktoré umožňujú zjednotiť kompiláciu modelov pripravených v rámcoch TensorFlow, PyTorch a JAX pre efektívne školenie a spúšťanie na rôznych GPU a špecializovaných akcelerátoroch. K spoločnému dielu projektu sa pridali spoločnosti ako Google, NVIDIA, AMD, Intel, Meta, Apple, Arm, Alibaba a Amazon.

Projekt OpenXLA poskytuje najmodernejší kompilátor ML, ktorý sa dá škálovať v rámci zložitosti infraštruktúry ML. Jeho základnými piliermi sú výkon, škálovateľnosť, prenosnosť, flexibilita a rozšíriteľnosť pre používateľov. S OpenXLA sa snažíme odomknúť skutočný potenciál AI zrýchlením jej vývoja a poskytovania.

OpenXLA umožňuje vývojárom kompilovať a optimalizovať modely zo všetkých popredných rámcov ML pre efektívne školenie a servis na širokej škále hardvéru. Vývojári používajúci OpenXLA zaznamenajú výrazné zlepšenie v čase školenia, výkone, latencii služieb a v konečnom dôsledku aj v čase uvedenia na trh a výpočtových nákladov.

Dúfame, že spoločným úsilím hlavných výskumných tímov a zástupcov komunity, bude možné stimulovať vývoj systémov strojového učenia a vyriešiť problém fragmentácie infraštruktúry pre rôzne rámce a tímy.

OpenXLA umožňuje implementovať efektívnu podporu pre rôzny hardvér, bez ohľadu na rámec, na ktorom je model strojového učenia založený. Očakáva sa, že OpenXLA skráti čas tréningu modelu, zlepší výkon, zníži latenciu, zníži réžiu výpočtovej techniky a skráti čas uvedenia na trh.

OpenXLA pozostáva z troch hlavných komponentov, ktorého kód je šírený pod licenciou Apache 2.0:

  1. XLA (zrýchlená lineárna algebra) je kompilátor, ktorý vám umožňuje optimalizovať modely strojového učenia pre vysokovýkonné vykonávanie na rôznych hardvérových platformách vrátane GPU, CPU a špecializovaných akcelerátorov od rôznych výrobcov.
  2. StableHLO je základná špecifikácia a implementácia súboru operácií na vysokej úrovni (HLO) na použitie v modeloch systémov strojového učenia. Funguje ako vrstva medzi rámcami strojového učenia a kompilátormi, ktoré transformujú model tak, aby bežal na špecifickom hardvéri. Vrstvy sú pripravené na generovanie modelov vo formáte StableHLO pre rámce PyTorch, TensorFlow a JAX. Ako základ pre StableHLO je použitý balík MHLO, ktorý je rozšírený o podporu serializácie a kontroly verzií.
  3. IREE (Intermediate Representation Execution Environment) je kompilátor a runtime, ktorý konvertuje modely strojového učenia na univerzálnu strednú reprezentáciu založenú na formáte MLIR (Intermediate Multi-Level Representation) projektu LLVM. Z funkcií je vyzdvihnutá možnosť predkompilácie (v predstihu), podpora riadenia toku, možnosť využitia dynamických prvkov v modeloch, optimalizácia pre rôzne CPU a GPU a nízka réžia.

Pokiaľ ide o hlavné výhody OpenXLA, je spomenuté, že optimálny výkon bol dosiahnutý bez toho, aby ste sa museli ponoriť do písania kódu špecifické pre zariadenie, okrem toho poskytovať okamžité optimalizácie, vrátane zjednodušenia algebraických výrazov, efektívnej alokácie pamäte, plánovania vykonávania, berúc do úvahy zníženie maximálnej spotreby pamäte a režijných nákladov.

Ďalšou výhodou je zjednodušenie škálovania a paralelizácia výpočtov. Vývojárovi stačí pridať anotácie pre podmnožinu kritických tenzorov, na základe ktorých môže kompilátor automaticky generovať kód pre paralelné výpočty.

Je tiež zdôraznené, že prenosnosť je poskytovaná s podporou viacerých hardvérových platforiem, ako sú AMD a NVIDIA GPU, x86 a ARM CPU, Google TPU ML akcelerátory, AWS Trainium Inferentia IPU, Graphcore a Wafer-Scale Engine Cerebras.

Podpora pripojenia rozšírení s implementáciou ďalších funkcií, ako podpora pre písanie primitív hlbokého strojového učenia pomocou jazykov CUDA, HIP, SYCL, Triton a ďalších jazykov pre paralelné výpočty, ako aj možnosť manuálneho nastavenia úzkych miest v modeloch.

Nakoniec, ak máte záujem dozvedieť sa viac, obráťte sa na podrobnosti v nasledujúcom odkaze.


Zanechajte svoj komentár

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *

*

*

  1. Za údaje zodpovedá: AB Internet Networks 2008 SL
  2. Účel údajov: Kontrolný SPAM, správa komentárov.
  3. Legitimácia: Váš súhlas
  4. Oznamovanie údajov: Údaje nebudú poskytnuté tretím stranám, iba ak to vyplýva zo zákona.
  5. Ukladanie dát: Databáza hostená spoločnosťou Occentus Networks (EU)
  6. Práva: Svoje údaje môžete kedykoľvek obmedziť, obnoviť a vymazať.