Legutóbb, bemutatták a gépi tanulás területén fejlesztéssel foglalkozó legnagyobb cégek a projekt OpenXLA, eszközök közös fejlesztésére szánják gépi tanulási rendszerek modelljeinek összeállítására és optimalizálására.
A projekt olyan eszközök fejlesztését vette át, amelyek lehetővé teszik a TensorFlow, PyTorch és JAX keretrendszerekben készített modellek összeállításának egységesítését a hatékony képzés és végrehajtás érdekében különböző GPU-kon és speciális gyorsítókon. A projekt közös munkájához olyan cégek csatlakoztak, mint a Google, az NVIDIA, az AMD, az Intel, a Meta, az Apple, az Arm, az Alibaba és az Amazon.
Az OpenXLA Project egy korszerű ML-fordítót biztosít, amely az ML infrastruktúra összetettsége közepette is méretezhető. Alapvető pillérei a teljesítmény, a méretezhetőség, a hordozhatóság, a rugalmasság és a bővíthetőség a felhasználók számára. Az OpenXLA-val arra törekszünk, hogy felszabadítsuk a mesterséges intelligencia valódi potenciálját a fejlesztés és a szállítás felgyorsításával.
Az OpenXLA lehetővé teszi a fejlesztők számára, hogy az összes vezető ML keretrendszerből modelleket állítsanak össze és optimalizáljanak a hatékony képzés és szervizelés érdekében a hardverek széles skáláján. Az OpenXLA-t használó fejlesztők jelentős javulást fognak tapasztalni a képzési idő, a teljesítmény, a szolgáltatási késleltetés, és végső soron a piacra jutás és a költségek kiszámítása terén.
Remélhetőleg az erőfeszítések összefogásával a fő kutatócsoportok és a közösség képviselői, lehetõvé válik a gépi tanulási rendszerek fejlesztésének ösztönzése és megoldja az infrastruktúra széttagoltságának problémáját különböző keretrendszerek és csapatok számára.
Az OpenXLA lehetővé teszi a különféle hardverek hatékony támogatását, függetlenül a gépi tanulási modell alapjául szolgáló keretrendszertől. Az OpenXLA várhatóan csökkenti a modell betanítási idejét, javítja a teljesítményt, csökkenti a késleltetést, csökkenti a számítási többletterhelést és a piacra kerülési időt.
OpenXLA három fő összetevőből áll, amelynek kódja az Apache 2.0 licenc alatt kerül terjesztésre:
- Az XLA (gyorsított lineáris algebra) egy olyan fordító, amely lehetővé teszi a gépi tanulási modellek optimalizálását a nagy teljesítményű végrehajtáshoz különböző hardverplatformokon, beleértve a GPU-kat, a CPU-kat és a különböző gyártók speciális gyorsítóit.
- A StableHLO a magas szintű műveletek (HLO) készletének alapvető specifikációja és megvalósítása gépi tanulási rendszermodellekben való használatra. Rétegként működik a gépi tanulási keretrendszerek és a fordítók között, amelyek átalakítják a modellt, hogy meghatározott hardveren fusson. A rétegek fel vannak készítve StableHLO formátumú modellek generálására a PyTorch, TensorFlow és JAX keretrendszerekhez. Az MHLO csomag a StableHLO alapja, amely kibővült a szerializálás és a verziókezelés támogatásával.
- Az IREE (Intermediate Representation Execution Environment) egy olyan fordító és futtatókörnyezet, amely a gépi tanulási modelleket univerzális köztes reprezentációvá alakítja az LLVM projekt MLIR (Intermediate Multi-Level Representation) formátuma alapján. A szolgáltatások közül kiemelik az előfordítás (idő előtti) lehetőségét, az áramlásszabályozás támogatását, a dinamikus elemek modellekben való használatának lehetőségét, a különböző CPU-kra és GPU-kra való optimalizálást, valamint az alacsony overheadet.
Az OpenXLA fő előnyeivel kapcsolatban megemlítjük, hogy optimális teljesítményt értek el anélkül, hogy a kódírásba kellett volna belemerülniük eszközspecifikus, ráadásul azonnali optimalizálást biztosít, beleértve az algebrai kifejezések egyszerűsítését, a hatékony memóriafoglalást, a végrehajtás ütemezését, figyelembe véve a maximális memóriafelhasználás és az általános költségek csökkentését.
További előnye a a skálázás egyszerűsítése és a számítások párhuzamosítása. A fejlesztőnek elegendő a kritikus tenzorok egy részhalmazához megjegyzéseket hozzáadni, amelyek alapján a fordító automatikusan kódot generálhat a párhuzamos számításokhoz.
Azt is kiemelik a hordozhatóság több hardverplatform támogatásával biztosított, például AMD és NVIDIA GPU-k, x86 és ARM CPU-k, Google TPU ML-gyorsítók, AWS Trainium Inferentia IPU-k, Graphcore és Wafer-Scale Engine Cerebrák.
Támogatás a bővítmények összekapcsolásához további funkciók megvalósításával, támogatja a mély gépi tanulási primitívek írását CUDA, HIP, SYCL, Triton és más nyelvek segítségével párhuzamos számításokhoz, valamint a a szűk keresztmetszetek kézi beállításának lehetősége modellekben.
Végül, ha érdekel, hogy többet tudjon meg róla, keresse fel a részletek a következő linken.