Table des matières
Les défis auxquels sont confrontées les installations technologiques d'apprentissage automatique
Solutions et objectifs
Communauté des leaders de l'IA/ML
Écosystème OpenXLA : performances, évolutivité et portabilité
Principaux points forts d'OpenXLA
Maison Périphériques technologiques IA Développement d'IA unifié : Google OpenXLA est open source et intègre tous les frameworks et puces d'IA

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

Apr 29, 2023 am 11:55 AM
机器学习 ai

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!

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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Quelle méthode est utilisée pour convertir les chaînes en objets dans vue.js? Quelle méthode est utilisée pour convertir les chaînes en objets dans vue.js? Apr 07, 2025 pm 09:39 PM

Lors de la conversion des chaînes en objets dans vue.js, JSON.Parse () est préféré pour les chaînes JSON standard. Pour les chaînes JSON non standard, la chaîne peut être traitée en utilisant des expressions régulières et réduisez les méthodes en fonction du format ou du codé décodé par URL. Sélectionnez la méthode appropriée en fonction du format de chaîne et faites attention aux problèmes de sécurité et d'encodage pour éviter les bogues.

Comment utiliser MySQL après l'installation Comment utiliser MySQL après l'installation Apr 08, 2025 am 11:48 AM

L'article présente le fonctionnement de la base de données MySQL. Tout d'abord, vous devez installer un client MySQL, tel que MySQLWorkBench ou le client de ligne de commande. 1. Utilisez la commande MySQL-UROot-P pour vous connecter au serveur et connecter avec le mot de passe du compte racine; 2. Utilisez Createdatabase pour créer une base de données et utilisez Sélectionner une base de données; 3. Utilisez CreateTable pour créer une table, définissez des champs et des types de données; 4. Utilisez InsertInto pour insérer des données, remettre en question les données, mettre à jour les données par mise à jour et supprimer les données par Supprimer. Ce n'est qu'en maîtrisant ces étapes, en apprenant à faire face à des problèmes courants et à l'optimisation des performances de la base de données que vous pouvez utiliser efficacement MySQL.

Comment résoudre MySQL ne peut pas être démarré Comment résoudre MySQL ne peut pas être démarré Apr 08, 2025 pm 02:21 PM

Il existe de nombreuses raisons pour lesquelles la startup MySQL échoue, et elle peut être diagnostiquée en vérifiant le journal des erreurs. Les causes courantes incluent les conflits de port (vérifier l'occupation du port et la configuration de modification), les problèmes d'autorisation (vérifier le service exécutant les autorisations des utilisateurs), les erreurs de fichier de configuration (vérifier les paramètres des paramètres), la corruption du répertoire de données (restaurer les données ou reconstruire l'espace de la table), les problèmes d'espace de la table InNODB (vérifier les fichiers IBDATA1), la défaillance du chargement du plug-in (vérification du journal des erreurs). Lors de la résolution de problèmes, vous devez les analyser en fonction du journal d'erreur, trouver la cause profonde du problème et développer l'habitude de sauvegarder régulièrement les données pour prévenir et résoudre des problèmes.

Géospatial de Laravel: optimisation des cartes interactives et de grandes quantités de données Géospatial de Laravel: optimisation des cartes interactives et de grandes quantités de données Apr 08, 2025 pm 12:24 PM

Traiter efficacement 7 millions d'enregistrements et créer des cartes interactives avec la technologie géospatiale. Cet article explore comment traiter efficacement plus de 7 millions d'enregistrements en utilisant Laravel et MySQL et les convertir en visualisations de cartes interactives. Exigences initiales du projet de défi: extraire des informations précieuses en utilisant 7 millions d'enregistrements dans la base de données MySQL. Beaucoup de gens considèrent d'abord les langages de programmation, mais ignorent la base de données elle-même: peut-il répondre aux besoins? La migration des données ou l'ajustement structurel est-il requis? MySQL peut-il résister à une charge de données aussi importante? Analyse préliminaire: les filtres et les propriétés clés doivent être identifiés. Après analyse, il a été constaté que seuls quelques attributs étaient liés à la solution. Nous avons vérifié la faisabilité du filtre et établi certaines restrictions pour optimiser la recherche. Recherche de cartes basée sur la ville

Comment définir le délai de Vue Axios Comment définir le délai de Vue Axios Apr 07, 2025 pm 10:03 PM

Afin de définir le délai d'expiration de Vue Axios, nous pouvons créer une instance AxiOS et spécifier l'option Timeout: dans les paramètres globaux: vue.prototype. $ Axios = axios.create ({timeout: 5000}); Dans une seule demande: ce. $ axios.get ('/ api / utilisateurs', {timeout: 10000}).

Comment optimiser les performances de la base de données après l'installation de MySQL Comment optimiser les performances de la base de données après l'installation de MySQL Apr 08, 2025 am 11:36 AM

L'optimisation des performances MySQL doit commencer à partir de trois aspects: configuration d'installation, indexation et optimisation des requêtes, surveillance et réglage. 1. Après l'installation, vous devez ajuster le fichier my.cnf en fonction de la configuration du serveur, tel que le paramètre innodb_buffer_pool_size, et fermer query_cache_size; 2. Créez un index approprié pour éviter les index excessifs et optimiser les instructions de requête, telles que l'utilisation de la commande Explication pour analyser le plan d'exécution; 3. Utilisez le propre outil de surveillance de MySQL (ShowProcessList, Showstatus) pour surveiller la santé de la base de données, et sauvegarde régulièrement et organisez la base de données. Ce n'est qu'en optimisant en continu ces étapes que les performances de la base de données MySQL peuvent être améliorées.

Vue.js Comment convertir un tableau de type de chaîne en un tableau d'objets? Vue.js Comment convertir un tableau de type de chaîne en un tableau d'objets? Apr 07, 2025 pm 09:36 PM

Résumé: Il existe les méthodes suivantes pour convertir les tableaux de chaîne Vue.js en tableaux d'objets: Méthode de base: utilisez la fonction de carte pour convenir à des données formatées régulières. Gameplay avancé: l'utilisation d'expressions régulières peut gérer des formats complexes, mais ils doivent être soigneusement écrits et considérés. Optimisation des performances: Considérant la grande quantité de données, des opérations asynchrones ou des bibliothèques efficaces de traitement des données peuvent être utilisées. MEILLEUR PRATIQUE: Effacer le style de code, utilisez des noms de variables significatifs et des commentaires pour garder le code concis.

Les ingénieurs de backend senior à distance (plates-formes) ont besoin de cercles Les ingénieurs de backend senior à distance (plates-formes) ont besoin de cercles Apr 08, 2025 pm 12:27 PM

Ingénieur backend à distance Emploi Vacant Société: Emplacement du cercle: Bureau à distance Type d'emploi: Salaire à temps plein: 130 000 $ - 140 000 $ Description du poste Participez à la recherche et au développement des applications mobiles Circle et des fonctionnalités publiques liées à l'API couvrant l'intégralité du cycle de vie de développement logiciel. Les principales responsabilités complètent indépendamment les travaux de développement basés sur RubyOnRails et collaborent avec l'équipe frontale React / Redux / Relay. Créez les fonctionnalités de base et les améliorations des applications Web et travaillez en étroite collaboration avec les concepteurs et le leadership tout au long du processus de conception fonctionnelle. Promouvoir les processus de développement positifs et hiérarchiser la vitesse d'itération. Nécessite plus de 6 ans de backend d'applications Web complexe

See all articles