GUIDE Technique

Ray pour l'IA distribuée

Ray est un framework open source qui facilite la mise à l'échelle des charges de travail Python et IA d'un ordinateur portable à un cluster de milliers de machines.

2 minutes de lectureDernière mise à jour

Aperçu

It matters because it gives a simple, unified way to distribute training, tuning, data processing, and serving without rewriting your code for each.

Plongée profonde

L'idée principale de Ray est de transformer les fonctions et classes Python ordinaires en unités distribuées avec un minimum de changements. Une fonction marquée comme « tâche » distante s'exécute de manière asynchrone sur n'importe quel travailleur du cluster ; une classe marquée comme « acteur » distant devient un service avec état vivant sur un travailleur. Ray renvoie des contrats à terme légers (références d'objet) et gère la planification, le mouvement des données via un magasin d'objets partagé et la tolérance aux pannes. En plus de ce noyau se trouvent des bibliothèques spécialement conçues : Ray Train pour la formation de modèles distribués, Ray Tune pour la recherche d'hyperparamètres, Ray Data pour les pipelines de données en streaming, RLlib pour l'apprentissage par renforcement et Ray Serve pour le service de modèles évolutifs. Cela permet à un cluster de gérer l’intégralité d’un flux de travail ML de bout en bout.

Aperçu technique

Les primitives clés sont les tâches (appels de fonctions parallèles et sans état) et les acteurs (travailleurs avec état qui contiennent des éléments comme un modèle chargé ou un compteur). Lorsque vous appelez une tâche distante, Ray renvoie immédiatement un futur et planifie le travail sur les CPU/GPU disponibles ; vous appelez ray.get() pour récupérer les résultats. Un magasin d'objets distribué en mémoire avec une mémoire partagée sans copie déplace efficacement les objets volumineux tels que des tableaux entre les travailleurs, évitant ainsi la sérialisation répétée et accélérant les pipelines d'IA gourmands en données.

Impact stratégique

Coût et budget

Les décisions en matière d'architecture déterminent les performances et les coûts d'exploitation pendant des années.

Décisions plus claires

La formation technique aide les équipes à choisir la bonne pile, pas seulement la plus récente.

Contrôle qualité

De meilleurs choix d’ingénierie réduisent les incidents de fiabilité en production.

L'avenir de Ray pour l'IA distribuée

Ray est devenu l'épine dorsale de l'IA à grande échelle, notamment utilisée dans la formation et au service de grands modèles de langage. Attendez-vous à une croissance du service spécifique au LLM (Ray Serve avec vLLM), à une planification GPU hétérogène, à une intégration plus étroite avec les lacs de données et Kubernetes via KubeRay et à une meilleure mise à l'échelle automatique pour les charges de travail génératives pointues. À mesure que les modèles se développent, le rôle de Ray dans l'orchestration de la formation multi-nœuds, des pipelines RLHF et de l'inférence par lots sur des milliers d'accélérateurs est susceptible de s'étendre.

Mise en œuvre dans le monde réel

Exécution de Ray Tune pour rechercher des centaines de combinaisons d'hyperparamètres en parallèle sur un cluster GPU afin de trouver la meilleure configuration de modèle

Utiliser Ray Train pour distribuer la formation d'un modèle d'apprentissage profond sur de nombreux GPU et nœuds avec un minimum de modifications de code

Création d'un pipeline d'inférence par lots avec Ray Data pour évaluer des millions d'enregistrements en les diffusant via un modèle sur un cluster

Déployer plusieurs modèles derrière un seul point de terminaison d'autoscaling avec Ray Serve pour gérer un trafic de production variable

Risques et garde-fous

L’optimisation d’un benchmark peut masquer des faiblesses plus larges du système.

Les coûts d’infrastructure et de maintenance sont souvent sous-estimés.

Les lacunes en matière de sécurité et d’observabilité peuvent se creuser à mesure que les systèmes deviennent plus complexes.

Feuille de route de mise en œuvre

1

Définissez les objectifs de latence, de qualité et de coût avant la mise en œuvre.

2

Benchmark dans des conditions de charge et de données réalistes.

3

Surveillance des instruments pour détecter les erreurs, la dérive et l'impact sur l'utilisateur.

4

Préparez les chemins de restauration et de réponse aux incidents avant la mise à l’échelle.

Continuez à explorer

Free newsletter

Get the daily AI briefing

Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.

One email each weekday. Unsubscribe in one click. We never sell or share your address.

Test yourself

Take the Ray for Distributed AI quiz

Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.

Démarrer le quiz

Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation

Guide suivant

Points de contrôle de dégradé

Questions fréquemment posées

What is Ray for Distributed AI?

Ray est un framework open source qui facilite la mise à l'échelle des charges de travail Python et IA d'un ordinateur portable à un cluster de milliers de machines. C'est important car cela offre un moyen simple et unifié de distribuer la formation, le réglage, le traitement des données et le service sans réécrire votre code pour chacun.

Quel problème Ray résout-il principalement ?

Ray fournit un moyen simple et unifié de répartir les calculs sur de nombreuses machines sans réécrire votre code pour chaque type de charge de travail.

Dans Ray, quelle est la différence entre une « tâche » et un « acteur » ?

Les tâches sont des fonctions distantes sans état exécutées en parallèle, tandis que les acteurs sont des objets de longue durée qui conservent leur état, comme un modèle chargé.

Que renvoie Ray immédiatement lorsque vous lancez une tâche distante ?

Ray renvoie immédiatement un futur léger afin que le travail s'exécute de manière asynchrone ; vous appelez ray.get() pour récupérer le résultat réel en cas de besoin.

Quelle bibliothèque Ray est conçue pour la recherche distribuée d'hyperparamètres ?

Ray Tune est spécialisé dans l'exécution de nombreux essais d'hyperparamètres en parallèle sur un cluster.

Comment le magasin d'objets de Ray rend-il efficaces les pipelines d'IA gourmands en données ?

Le magasin d'objets en mémoire partagé utilise des lectures sans copie afin que les travailleurs puissent accéder aux grands tableaux sans re-sérialisation coûteuse.