Maison > Périphériques technologiques > IA > le corps du texte

Développement d'IA unifié : Google OpenXLA est open source et intègre tous les frameworks et puces d'IA

WBOY
Libérer: 2023-04-29 11:55:06
avant
1317 Les gens l'ont consulté

Lors de l'événement Google Cloud Next 2022 en octobre de l'année dernière, le projet OpenXLA a officiellement fait surface, un cadre d'IA open source promu par Google et des entreprises technologiques dont Alibaba, AMD, Arm, Amazon, Intel, NVIDIA et d'autres entreprises technologiques. La coopération s'engage à rassembler différents cadres d'apprentissage automatique pour permettre aux développeurs d'apprentissage automatique d'acquérir la capacité de choisir de manière proactive les cadres et le matériel.

Mercredi, Google a annoncé que le projet OpenXLA était officiellement open source.

Développement dIA unifié : Google OpenXLA est open source et intègre tous les frameworks et puces dIA

Lien du projet : https://github.com /openxla/xla

OpenXLA accélère l'apprentissage automatique en créant un compilateur d'apprentissage automatique unifié qui fonctionne avec de nombreux cadres d'apprentissage automatique et plates-formes matérielles différents Livraison et fourniture d'applications une plus grande portabilité du code. Il s’agit d’un projet important pour la recherche et les applications de l’IA, et Jeff Dean en a également fait la promotion sur les réseaux sociaux.

Développement dIA unifié : Google OpenXLA est open source et intègre tous les frameworks et puces dIA

Aujourd'hui, le développement et le déploiement du machine learning sont entravés par une infrastructure fragmentée. La plupart de ces infrastructures peuvent varier selon le framework, le matériel et le cas d'utilisation. Cet isolement limite la vitesse à laquelle les développeurs peuvent travailler et crée des obstacles à la portabilité, à l'efficacité et à la production des modèles.

Le 8 mars, Google et d'autres ont franchi une étape importante vers la suppression de ces barrières avec l'ouverture du projet OpenXLA, qui comprend les référentiels XLA, StableHLO et IREE. étape.

OpenXLA est un écosystème de compilateur ML open source développé conjointement par les leaders de l'industrie de l'IA/apprentissage automatique. Parmi les contributeurs figurent Alibaba, AWS, AMD, Apple, Arm, Cerebras, Google, Graphcore, Hugging Face, Intel, Meta et Nvidia. Il permet aux développeurs de compiler et d'optimiser des modèles à partir de tous les principaux frameworks d'apprentissage automatique pour une formation efficace et une utilisation sur une variété de matériels. Les développeurs utilisant OpenXLA peuvent observer des améliorations significatives en termes de temps de formation, de débit, de latence de service et, en fin de compte, de coûts de publication et de calcul.

Les défis auxquels sont confrontées les installations technologiques d'apprentissage automatique

Alors que la technologie de l'IA entre dans la phase pratique, les équipes de développement de nombreux secteurs utilisent l'apprentissage automatique pour répondre aux besoins réels -des défis mondiaux tels que la prévision et la prévention des maladies, les expériences d'apprentissage personnalisées et l'exploration de la physique des trous noirs.

Avec la croissance exponentielle du nombre de paramètres de modèle et la quantité de calcul requise pour les modèles d'apprentissage profond doublant tous les six mois, les développeurs cherchent à maximiser les performances et l'utilisation de l'infrastructure. Un grand nombre d'équipes exploitent une variété de modèles matériels, depuis les ASIC économes en énergie spécifiques à l'apprentissage automatique dans le centre de données jusqu'aux processeurs de pointe IA qui offrent des temps de réponse plus rapides. Par conséquent, afin d’améliorer l’efficacité, ces dispositifs matériels utilisent des algorithmes et des bibliothèques de logiciels personnalisés et uniques.

Mais d'un autre côté, s'il n'existe pas de compilateur universel pour relier les différents périphériques matériels aux multiples frameworks utilisés aujourd'hui (tels que TensorFlow, PyTorch), on le fera besoin Il faut beaucoup d’efforts pour exécuter efficacement l’apprentissage automatique. En pratique, les développeurs doivent optimiser manuellement les opérations de modèle pour chaque cible matérielle. Cela signifie que l’utilisation de bibliothèques de logiciels personnalisées ou l’écriture de code spécifique à un appareil nécessite une expertise dans le domaine.

Il s'agit d'un résultat paradoxal. L'utilisation d'une technologie spécialisée pour améliorer l'efficacité entraîne des chemins isolés et non généralisables entre les frameworks et le matériel, ce qui entraîne des coûts de maintenance élevés et, par conséquent, un leadership. à la dépendance vis-à-vis d'un fournisseur, ce qui ralentit la progression du développement de l'apprentissage automatique.

Solutions et objectifs

Le projet OpenXLA fournit un compilateur ML de pointe qui s'adapte à la complexité de l'infrastructure ML. Ses principaux piliers sont les performances, l’évolutivité, la portabilité, la flexibilité et la facilité d’utilisation. Avec OpenXLA, nous aspirons à réaliser le plus grand potentiel de l’IA dans le monde réel en accélérant le développement et la fourniture de l’IA.

OpenXLA a pour objectif de :

  • Permettre aux développeurs de compiler et d'optimiser facilement n'importe quel modèle dans leur framework préféré pour une variété de matériels avec une API de compilateur unifiée qui fonctionne avec n'importe quel framework, accédant aux backends et aux optimisations d'appareils dédiés.
  • Fournit des performances de pointe pour les modèles actuels et émergents, et peut également être étendu à plusieurs hôtes et accélérateurs pour répondre aux contraintes du déploiement en périphérie et promu vers de nouvelles architectures de modèles à l'avenir.
  • Créez une plate-forme de compilateur d'apprentissage automatique en couches et évolutive qui fournit aux développeurs des composants basés sur MLIR qui peuvent être reconfigurés pour leurs cas d'utilisation uniques pour des flux de compilation personnalisés en fonction du matériel.

Communauté des leaders de l'IA/ML

Les défis auxquels nous sommes confrontés aujourd'hui en matière d'infrastructure d'apprentissage automatique sont énormes, et aucune organisation ne peut les résoudre efficacement seule. La communauté OpenXLA rassemble des développeurs et des leaders de l'industrie opérant à différents niveaux de la pile d'IA (des frameworks aux compilateurs, en passant par les environnements d'exécution et les puces) et est donc parfaitement adaptée pour remédier à la fragmentation que nous observons dans l'espace ML.

En tant que projet open source, OpenXLA adhère aux principes suivants :

  • Statut égal : les individus contribuent de manière égale quelle que soit leur affiliation. Les leaders techniques sont ceux qui consacrent le plus de temps et d’énergie.
  • Culture du respect : Tous les membres doivent respecter les valeurs et le code de conduite du projet, quelle que soit leur position dans la communauté.
  • Gouvernance évolutive et efficace : les petites équipes prennent des décisions fondées sur le consensus, avec des voies de mise à niveau claires mais rarement utilisées.
  • Transparence : toutes les décisions et justifications doivent être clairement visibles pour le public.

Écosystème OpenXLA : performances, évolutivité et portabilité

OpenXLA supprime les obstacles pour les développeurs de machine learning avec une chaîne d'outils modulaires prise en charge par tous les principaux frameworks via une interface de compilateur commune, tirant parti de la portabilité Standardise la représentation des modèles et fournit des compilateurs spécifiques au domaine avec de puissantes optimisations ciblées et spécifiques au matériel. La chaîne d'outils comprend XLA, StableHLO et IREE, qui exploitent tous MLIR : une infrastructure de compilateur qui permet aux modèles d'apprentissage automatique d'être représentés, optimisés et exécutés de manière cohérente sur le matériel.

Développement dIA unifié : Google OpenXLA est open source et intègre tous les frameworks et puces dIA

Principaux points forts d'OpenXLA

Portée des cas d'utilisation de l'apprentissage automatique

L'utilisation actuelle d'OpenXLA couvre la gamme de cas d'utilisation de ML, notamment AlphaFold de DeepMind, GPT2 et Swin Transformer sur Alibaba Cloud Wait pour que le modèle soit entièrement formé et effectuez une formation LLM multimodale sur Amazon.com. Des clients tels que Waymo exploitent OpenXLA pour l'inférence en temps réel dans le véhicule. De plus, OpenXLA est utilisé pour optimiser les services Stable Diffusion sur les machines locales équipées d'AMD RDNA™ 3.

Meilleures performances, prêtes à l'emploi

OpenXLA permet aux développeurs d'accélérer facilement les performances des modèles sans écrire de code spécifique à l'appareil. Il offre des capacités globales d'optimisation du modèle, notamment la simplification des expressions algébriques, l'optimisation de la disposition des données en mémoire et l'amélioration de la planification pour réduire l'utilisation maximale de la mémoire et les frais de communication. La fusion avancée d'opérateurs et la génération de noyau contribuent à améliorer l'utilisation des appareils et à réduire les besoins en bande passante mémoire.

Adaptez facilement les charges de travail

Développer des algorithmes de parallélisation efficaces prend du temps et nécessite une expertise. Avec des fonctionnalités telles que GSPMD, les développeurs n'ont qu'à annoter un sous-ensemble de tenseurs clés, qui peuvent ensuite être utilisés par le compilateur pour générer automatiquement des calculs parallèles. Cela élimine les efforts importants requis pour partitionner et paralléliser efficacement les modèles sur plusieurs hôtes matériels et accélérateurs.

Portabilité et optionnalité

OpenXLA fournit une prise en charge prête à l'emploi pour une variété de périphériques matériels, notamment les GPU AMD et NVIDIA, les processeurs x86 et les architectures Arm, ainsi que les accélérateurs ML tels que Google TPU, AWS Trainium et Inferentia, Graphcore IPU, Cerebras Wafer-Scale Engine, et bien plus encore. OpenXLA prend également en charge TensorFlow, PyTorch et JAX via StableHLO, une couche portable utilisée comme format d'entrée pour OpenXLA.

Flexibilité

OpenXLA offre aux utilisateurs la possibilité d'ajuster manuellement les points chauds du modèle. Les mécanismes d'extension tels que les appels personnalisés permettent aux utilisateurs d'écrire des primitives d'apprentissage en profondeur dans CUDA, HIP, SYCL, Triton et d'autres langages du noyau pour tirer pleinement parti des fonctionnalités matérielles. StableHLO est l'un des frameworks ML et des compilateurs ML. Une couche portable entre les. De plus, il peut être sérialisé en bytecode MLIR pour fournir des garanties de compatibilité. Tous les principaux frameworks ML (JAX, PyTorch, TensorFlow) peuvent produire StableHLO. En 2023, Google prévoit de travailler en étroite collaboration avec l'équipe PyTorch pour réaliser l'intégration avec PyTorch version 2.0.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:51cto.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal