Data Universe
Newsletter
AccueilOutilsRay
☀️

Ray

ML Platform

Framework open source pour le ML distribué — entraînement, hyperparameter tuning et serving à l'échelle

Tarif

Gratuit (open source). Anyscale propose une version managée (cloud).

Open sourceFree tierAvancé

Ray est le framework open source de référence pour le ML distribué en Python. Ray Core permet de paralléliser n'importe quel code Python sur un cluster. Ray Train gère l'entraînement distribué de modèles ML/DL. Ray Tune est la bibliothèque de hyperparameter optimization la plus populaire. Ray Serve déploie des modèles ML en production avec auto-scaling. Ray Data gère les pipelines de données ML.

Ray Core : parallélisme Python sur cluster
Ray Train : entraînement distribué (PyTorch, TF, XGBoost)
Ray Tune : hyperparameter optimization (Optuna, Bayesian, ASHA)
Ray Serve : serving de modèles ML avec auto-scaling
Ray Data : preprocessing parallèle pour le ML
Ray RLlib : reinforcement learning distribué
Ray on Kubernetes via KubeRay
Intégration avec MLflow, W&B, Hugging Face
1

Hyperparameter tuning distribué

Ray Tune parallélise des centaines d'essais d'hyperparamètres sur 20 GPUs en utilisant ASHA pour arrêter les essais non prometteurs tôt.

2

Serving d'un ensemble de modèles

Ray Serve déploie un pipeline : preprocessing → modèle embedding → modèle de classification, avec auto-scaling selon le trafic et A/B testing natif.

✓ Points forts

+Scalabilité native de 1 GPU à 1000 GPUs sans changer le code
+Ray Tune est le standard de facto pour le hyperparameter tuning
+Ray Serve supporte les ensembles de modèles et les pipelines complexes
+Compatible avec tous les frameworks ML (PyTorch, TF, scikit-learn)

✗ Limites

Courbe d'apprentissage initiale importante
Debugging sur cluster distant complexe
Overhead pour les petits workloads (moins efficace que multiprocessing local)

⚠️ Pièges connus en production

1.Les objets Ray sont sérialisés : les fonctions Python et les closures avec des objets non-sérialisables échouent silencieusement.
2.Ray Dashboard est indispensable pour comprendre les bottlenecks — ne pas déployer sans monitoring activé.
3.Le placement des ressources (num_gpus, num_cpus) doit être spécifié précisément pour éviter les blocages de ressources.

✓ Fait pour vous si…

Entraînement distribué de modèles ML/DL, hyperparameter tuning à grande échelle, et serving de modèles ML complexes en production.

✗ Pas fait pour vous si…

Cas simples ne nécessitant pas de distribution. Débutants ML cherchant un framework facile.

distributedmlopen-sourcegputraining