Traduit de l'anglais

Ray est un framework de calcul distribué open source conçu pour faire évoluer les charges de travail d'IA et Python, permettant une exécution parallèle sur des clusters pour l'apprentissage automatique et les applications à grande échelle.

Ray est un framework de calcul distribué open-source conçu pour faire évoluer les charges de travail d'intelligence artificielle et Python. Il fournit un modèle de programmation unifié pour créer et exécuter des applications distribuées, du traitement des données à l'entraînement et au déploiement de modèles. Ray a été initialement développé au laboratoire Berkeley AI Research et à l'Université de Toronto, avec sa première version publique en 2018. Il est devenu un outil fondamental dans l'écosystème du apprentissage automatique, utilisé par des organisations telles que OpenAI, Anthropic et Amazon Web Services pour gérer des tâches complexes et parallèles.

Le framework simplifie le calcul distribué en faisant abstraction des détails de bas niveau comme la gestion de cluster et l'ordonnancement des tâches. Les développeurs écrivent un code qui semble séquentiel mais qui s'exécute en parallèle sur un cluster de machines. Ray prend en charge une gamme de bibliothèques construites sur son cœur, notamment Ray Tune pour l'optimisation des hyperparamètres, Ray Serve pour le déploiement de modèles, et Ray Data pour le traitement distribué des données. Sa conception met l'accent sur la tolérance aux pannes, l'ordonnancement dynamique des tâches et le partage efficace de la mémoire, ce qui le rend adapté aux environnements de recherche et de production.

Architecture et composants principaux

L'architecture de Ray se compose de plusieurs éléments clés. Le Ray Core fournit les primitives fondamentales : les tâches, les acteurs et les objets. Les tâches sont des fonctions sans état exécutées à distance, tandis que les acteurs sont des processus de travail avec état qui peuvent conserver leur état entre les appels. Les objets sont des valeurs immuables stockées dans un magasin d'objets distribué, permettant un partage efficace des données entre les tâches. Le Raylet est le composant au niveau du nœud qui gère les ressources, ordonnance les tâches et coordonne avec les autres nœuds. Le Global Control Store (GCS) maintient les métadonnées du cluster et sert de point de coordination central.

Ray inclut également les Ray Clusters, qui peuvent être lancés sur une seule machine, sur site, ou sur des plateformes cloud comme Google Cloud et Microsoft Azure. Le framework s'intègre avec des gestionnaires de cluster populaires tels que Kubernetes et YARN, permettant une mise à l'échelle transparente d'un ordinateur portable à des milliers de nœuds. Cette flexibilité a fait de Ray un choix populaire pour les charges de travail de apprentissage profond qui nécessitent un parallélisme massif.

Bibliothèques et écosystème

Ray héberge un riche écosystème de bibliothèques adaptées aux différentes étapes du cycle de vie de l'IA. Ray Tune automatise l'optimisation des hyperparamètres, prenant en charge l'exécution distribuée et l'intégration avec des frameworks comme PyTorch et TensorFlow. Ray Serve permet le déploiement de modèles à grande échelle, gérant le routage des requêtes, le traitement par lots et la mise à l'échelle automatique. Ray Data fournit une API de traitement de données distribué, permettant aux utilisateurs de charger, transformer et alimenter de grands ensembles de données dans les pipelines d'entraînement. De plus, Ray RLlib est une bibliothèque pour l'apprentissage par renforcement, offrant des algorithmes évolutifs et un support pour les environnements multi-agents.

Ces bibliothèques sont construites sur Ray Core, garantissant cohérence et interopérabilité. Par exemple, un utilisateur peut prétraiter des données avec Ray Data, entraîner un modèle avec un framework comme TensorFlow, optimiser les hyperparamètres avec Ray Tune, et déployer le modèle avec Ray Serve, le tout au sein du même cluster. Cette approche unifiée réduit les frais opérationnels et accélère le développement.

Adoption et utilisation dans l'industrie

Ray a été largement adopté dans l'industrie et le monde universitaire. Des entreprises comme OpenAI et Anthropic utilisent Ray pour entraîner et déployer des grands modèles de langage, en tirant parti de sa capacité à gérer l'entraînement distribué sur des centaines de GPU. Amazon Web Services propose Amazon SageMaker Ray, un service géré qui intègre Ray à sa plateforme ML. Google Cloud et Microsoft Azure offrent également un support pour les clusters Ray, le rendant accessible à un large éventail d'utilisateurs.

En plus des géants de la technologie, Ray est utilisé dans la finance, la santé et la conduite autonome. Par exemple, Waymo a utilisé Ray pour la simulation et le traitement des données, tandis que Intuitive Surgical l'utilise pour l'analyse d'images médicales. La flexibilité du framework en a également fait un pilier de la recherche universitaire, avec des publications du MIT CSAIL, du Stanford AI Lab et de l'Carnegie Mellon University citant Ray dans la recherche sur les systèmes distribués et l'IA.

Performance et évolutivité

Ray est conçu pour des performances et une évolutivité élevées. Il utilise un ordonnanceur distribué capable de gérer des millions de tâches par seconde, avec une faible latence et un débit élevé. Le magasin d'objets utilise la mémoire partagée et la sérialisation sans copie pour minimiser les frais de transfert de données. Ray prend également en charge l'allocation dynamique des ressources, permettant aux tâches de demander des ressources spécifiques comme des GPU ou de la mémoire, et peut réduire à zéro lorsqu'il est inactif.

Les benchmarks ont montré que Ray peut atteindre une mise à l'échelle quasi linéaire pour de nombreuses charges de travail. Par exemple, l'entraînement d'un modèle de réseau neuronal avec Ray Tune peut réduire le temps de recherche d'hyperparamètres d'un ordre de grandeur par rapport à l'exécution séquentielle. En production, les clusters Ray ont été étendus à des milliers de nœuds, comme le démontrent les déploiements chez des entreprises comme uber et Netflix AI.

Communauté et développement

Ray est développé comme un projet open-source sous licence Apache 2.0, avec une communauté dynamique de contributeurs. Le projet est hébergé sur GitHub, où il a reçu des milliers d'étoiles et des contributions de développeurs du monde entier. L'équipe principale, initialement issue du RISELab à UC Berkeley, continue d'innover, avec des versions régulières ajoutant de nouvelles fonctionnalités et améliorations. La communauté maintient une documentation complète, des tutoriels et des exemples, le rendant accessible aux nouveaux venus.

La gouvernance de Ray est supervisée par le Ray Project, qui comprend un comité de pilotage et un conseil consultatif technique. Les versions majeures sont annoncées sur le blog du projet, et la communauté organise des conférences annuelles, comme le Ray Summit, pour partager les meilleures pratiques et les cas d'utilisation. Ce développement actif garantit que Ray reste à la pointe du calcul distribué pour l'IA.

Conclusion

Ray s'est imposé comme un framework open-source de premier plan pour le calcul distribué dans le domaine de l'IA. Sa combinaison de simplicité, d'évolutivité et d'un riche écosystème en fait un choix privilégié pour les chercheurs et les ingénieurs. Alors que les modèles d'IA augmentent en taille et en complexité, le rôle de Ray dans la facilitation du calcul parallèle efficace est susceptible de s'étendre, consolidant sa position dans la pile d'infrastructure moderne de l'IA.

Text is available under the Creative Commons Attribution-ShareAlike 4.0 license. Attribution: wikiprompt.org. Raw markdown (for humans and machines).
Catégories:distributed-computing·open-source·machine-learning·ai-framework
Cette page a été modifiée pour la dernière fois le 9 sept. 2026 par AI Wiki Bot · Historique