OpenXLA, un projecte open source per accelerar i simplificar l'aprenentatge automàtic

OpenXLA

OpenXLA és un ecosistema de compilador de ML de codi obert desenvolupat conjuntament

Fa poc, les empreses dedicades al desenvolupament més grans en el camp de l'aprenentatge automàtic van presentar el projecte OpenXLA, destinat al desenvolupament conjunt d'eines per compilar i optimitzar models per a sistemes daprenentatge automàtic.

El projecte s'ha fet càrrec del desenvolupament d'eines que permetin unificar la compilació de models preparats als frameworks TensorFlow, PyTorch i JAX per a un entrenament i execució eficient a diferents GPUs i acceleradors especialitzats. Empreses com Google, NVIDIA, AMD, Intel, Meta, Apple, Arm, Alibaba i Amazon es van sumar al treball conjunt del projecte.

El Projecte OpenXLA proporciona un compilador de ML de darrera generació que pot escalar enmig de la complexitat de la infraestructura de ML. Els seus pilars fonamentals són el rendiment, escalabilitat, portabilitat, flexibilitat i extensibilitat per als usuaris. Amb OpenXLA, aspirem a aprofitar el potencial real de la IA accelerant-ne el desenvolupament i el lliurament.

OpenXLA permet als desenvolupadors compilar i optimitzar models de tots els marcs de ML líders per a una capacitació i servei eficients en una àmplia varietat de maquinari. Els desenvolupadors que utilitzin OpenXLA veuran millores significatives en el temps de capacitació, el rendiment, la latència de servei i, en darrera instància, el temps de comercialització i els costos de còmput.

S'espera que en unir els esforços dels principals equips de recerca i representants de la comunitat, serà possible estimular el desenvolupament de sistemes daprenentatge automàtic i resoldre el problema de la fragmentació de la infraestructura per a diversos marcs i equips.

OpenXLA permet implementar suport efectiu per a diversos maquinari, independentment del marc en què es base el model d'aprenentatge automàtic. S'espera que OpenXLA redueixi el temps de capacitació del model, millori el rendiment, redueixi la latència, redueixi la sobrecàrrega informàtica i redueixi el temps de comercialització.

OpenXLA està format per tres components principals, el codi del qual es distribueix sota la llicència Apache 2.0:

  1. XLA (àlgebra lineal accelerada) és un compilador que us permet optimitzar models d'aprenentatge automàtic per a una execució d'alt rendiment en diferents plataformes de maquinari, incloses GPU, CPU i acceleradors especialitzats de diversos fabricants.
  2. StableHLO és una especificació i implementació bàsica d'un conjunt d'operacions d'alt nivell (HLO, High-Level Operations) per fer servir en models de sistemes d'aprenentatge automàtic. Actua com una capa entre els marcs de treball daprenentatge automàtic i els compiladors que transformen el model perquè sexecuti en un maquinari específic. Es preparen capes per generar models en format StableHLO per als frameworks PyTorch, TensorFlow i JAX. La suite MHLO s'utilitza com a base per a StableHLO, que s'amplia amb suport per a serialització i control de versions.
  3. IREE (Entorn d'execució de representació intermèdia) és un compilador i un temps d'execució que converteix els models d'aprenentatge automàtic en una representació intermèdia universal basada en el format MLIR (Representació intermèdia de diversos nivells) del projecte LLVM. De les característiques, es destaquen la possibilitat de precompilació (abans de temps), suport per a control de flux, la capacitat de fer servir elements dinàmics en models, optimització per a diferents CPU i GPU, i baixa sobrecàrrega.

Per la part dels principals avantatges d'OpenXLA s'esmenta que s'ha aconseguit un rendiment òptim sense haver d'aprofundir l'escriptura de codi específic del dispositiu, a més de proporcionar optimitzacions llistes per utilitzar, inclosa la simplificació dexpressions algebraiques, assignació eficient de memòria, programació dexecució, tenint en compte la reducció del consum màxim de memòria i les sobrecàrregues.

Un altre dels avantatges, és la simplificació de l'escalat i la paral·lelització dels càlculs. És suficient que un desenvolupador afegeixi anotacions per a un subconjunt de tensors crítics, sobre la base dels quals el compilador pot generar automàticament codi per a computació paral·lela.

També es destaca que es proporciona la portabilitat amb suport per a múltiples plataformes de maquinari, com GPU AMD i NVIDIA, CPU x86 i ARM, acceleradors de ML de TPU de Google, IPU d'AWS Trainium Inferentia, Graphcore i Cerebres Wafer-Scale Engine.

Suport per connectar extensions amb la implementació de funcions addicionals, com a suport per escriure primitives d'aprenentatge automàtic profund usant CUDA, HIP, SYCL, Triton i altres llenguatges per a computació paral·lela, així com també la possibilitat dʻajust manual de colls dʻampolla en models.

Finalment si estàs interessat en poder conèixer més a l'respecte, pots consultar els detalls en el següent enllaç.


Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: AB Internet Networks 2008 SL
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.