Aller au contenu
← Tous les articles
Conférence

Run:ai sur AWS — notes de webinaire (inférence et autoscaling)

Écouter en version balado

Qui détient le GPU ? · 2:27 · voix synthétiques, script rédigé avec l’IA

Transcription

Sylvie : Voici un test pour toute plateforme de ML : peut-on dire en moins d'une minute qui détient le GPU en ce moment ? Sinon, dit Antoine, on n'a pas une plateforme de production, on a un hôte SSH partagé avec des étapes en plus.

Thierry : Aïe. D'où ça vient ?

Sylvie : D'un webinaire Run:ai de septembre 2022 sur l'exécution et la mise à l'échelle automatique de l'inférence ML sur AWS. Antoine l'a suivi en plein dans ses cours et projets perso, et ce sont les notes qu'il a gardées pour du travail de plateforme plus tard.

Thierry : Pourquoi l'inférence compte plus que l'entraînement ici ?

Sylvie : L'entraînement a la gloire, mais l'inférence paie les factures chaque heure où le service est en ligne. La séance présentait ça comme un problème d'ordonnancement et de capacité, pas seulement d'export de modèle.

Thierry : Run:ai fait quoi, concrètement ?

Sylvie : C'est une couche de contrôle au-dessus de Kubernetes pour des grappes GPU partagées. Des files équitables, de la visibilité sur qui a consommé quoi, et des politiques pour que l'inférence ne soit pas affamée par l'entraînement, ou l'inverse. Le tableau de bord montre les tâches et surtout l'écart entre le temps GPU alloué et utilisé. C'est là que l'argent fuit.

Thierry : Et la mise à l'échelle ?

Sylvie : Un service de modèle logique avec plusieurs réplicas derrière, piloté par la profondeur de file, des objectifs de latence ou un horaire. Antoine a noté des questions en marge : les démarrages à froid quand les poids viennent du stockage, la fragmentation des GPU qui plafonne les réplicas, et si la réduction attend les requêtes en cours.

Thierry : Quelle partie était la plus franche ?

Sylvie : La diapo des défis. Faible utilisation des GPU. Voisins bruyants, où les pics d'entraînement affament l'inférence. Démarrage lent des nœuds GPU. Et l'attribution des coûts, parce que la finance demandera qui a dépensé quoi.

Thierry : Qu'est-ce qu'il ferait autrement aujourd'hui ?

Sylvie : Quatre choses. Séparer des groupes de nœuds pour l'inférence avant de les mélanger à l'entraînement. Définir les objectifs de latence d'abord, puis choisir les signaux de l'autoscaler. Ajouter dès le premier jour des étiquettes de refacturation comme équipe, modèle et environnement. Et traiter le partage de GPU comme une décision de produit.

Thierry : Il a déployé Run:ai ensuite ?

Sylvie : Non, il le dit franchement. L'article complet a les diapos et le tableau des défis.

Run:ai sur AWS — notes de webinaire (inférence et autoscaling)
Table des matières

J’ai suivi un webinaire Run:ai (Amériques) sur l’inférence ML et son autoscaling sur AWS. À l’époque j’étais plongé dans des projets GPU/containers, mais l’inférence en prod ressemblait encore à « quelqu’un a SSH sur une machine ». La session a été utile parce qu’elle cadrait l’inférence comme un problème de capacité et d’ordonnancement — pas seulement d’export de modèle.

1. Pourquoi j’ai regardé

L’entraînement fait le buzz ; l’inférence coûte cher tant que l’endpoint reste ouvert. Sur AWS, ça passe souvent par EKS, des groupes de nœuds GPU, du scaling type HPA/KEDA, et une finance qui demande pourquoi l’utilisation est à 12 % pendant que la latence grimpe. Run:ai se présente comme couche de contrôle Kubernetes pour clusters GPU partagés : files équitables, visibilité sur la consommation, politiques pour que l’inférence ne soit pas affamée par le batch — ou l’inverse.

Je n’ai pas déployé Run:ai ensuite ; ces notes servent pour du travail plateforme plus tard (quotas, observabilité, vocabulaire de refacturation). Pour d’autres notes de conférence en 2022, voir Snowflake Data-for-Breakfast ; côté appli ML, recherche vectorielle / RAG.

2. Ce que Run:ai optimise (en bref)

Les équipes achètent des GPU chers, traitent Kubernetes comme du CPU générique, puis s’étonnent des pics de latence ou des nœuds vides. Run:ai ajoute placement, priorisation et reporting sur les jobs GPU — entraînement, fine-tuning et services d’inférence dans le même parc. Sur AWS, ça rejoint la façon dont vous provisionnez les instances et exposez les modèles (conteneurs, réplicas).

3. Tableau de bord — jobs et utilisation

Les slides UI = le « cerveau ops » : quoi tourne, quoi attend, et si les GPU sont utilisés ou seulement réservés.

  • Liste / statut des jobs — réplicas d’inférence et batch comme objets visibles, pas seulement des pods anonymes.
  • Utilisation — l’écart alloué vs utilisé est là où l’argent fuit ; le tableau de bord vise les propriétaires de plateforme.
  • Deuxième vue — découpe cluster vs équipe/projet (utile pour défendre des quotas).

Tableau de bord Run:ai

Tableau de bord — autre vue

Bilan perso : si je ne peux pas répondre « qui tient le GPU ? » en moins d’une minute, ce n’est pas une plateforme d’inférence — c’est un serveur partagé déguisé.

4. CLI — automatisation et pipelines

La CLI reprend les objets de l’UI : soumettre des charges, inspecter les files, brancher les pipelines. L’autoscaling d’inférence n’est pas que du HPA : il faut aussi des déploiements versionnés, des canaries et du teardown quand un modèle est retiré.

Patterns évoqués :

  • CI construit l’image → CLI/API enregistre une charge d’inférence avec bornes CPU/GPU/RAM.
  • Règles de scale sur profondeur de file, SLO de latence ou plages horaires.
  • Politiques cluster côté plateforme ; artefacts modèle côté équipes ML.

CLI Run:ai

5. Modèles — packaging et multi-instance

Vue centrée modèle : un service logique, N réplicas. C’est la différence entre « un pod sur un g5 » et « un service qui survit à la perte d’un nœud ».

Le slide multi-instance = scale horizontal quand le trafic monte — dupliquer les workers, répartir sur les nœuds, garder la planification sensible à la mémoire GPU (gros LLM vs petit modèle CV).

Vue modèle

Scaling multi-instance

Questions notées :

  • Cold start au montage des poids (S3/EFS) ?
  • Plafond de réplicas limité par la fragmentation GPU ?
  • Scale-down : drain des requêtes ou arrêt brutal (SLO vs coût) ?

6. Workloads — files, plafonds, équité

Gestion des workloads : quotas par équipe, priorités, préemption, fenêtres horaires. C’est le contrat social quand 10 équipes partagent 8 GPU.

  • L’inférence veut souvent socle stable + burst ; l’entraînement veut de longs blocs.
  • Une bonne plateforme montre la position dans la file et une estimation de départ — pas seulement un échec après six heures.

Gestion des workloads

7. Infrastructure — serveurs et facture

Vue serveurs / cluster : nœuds Kubernetes, types d’instances, santé. Sur AWS, à recouper avec :

  • Groupes de nœuds (g5.xlarge vs cartes plus grosses, mix d’instances).
  • Cluster autoscaler vs remplissage d’abord par le scheduler Run:ai.
  • Spot pour le batch tolérant aux pannes vs on-demand pour l’inférence sensible à la latence.

Vue serveurs / cluster

8. Démo et défis (le slide honnête)

La démo enchaînait déploiement ou scale d’inférence, mouvement du tableau de bord, parité CLI. Le slide défis valait le détour :

DéfiImpact
Faible utilisation GPUPayer des cartes idle avec des files d’attente
Voisins bruyantsPics training qui tuent les SLO d’inférence
Trou d’observabilitéPrometheus voit des pods, pas « latence modèle v3 »
Lag d’autoscalingNouveaux nœuds GPU lents ; réplicas inutiles si non planifiables
Attribution des coûtsFinance par produit ; labels et quotas dès le jour 1
Colle MLOpsRegistry, monitoring et scheduler = trois outils

Démo

Défis

9. Ce que j’en retirerais aujourd’hui

  1. Pools nœuds inference séparés (ou taints) avant de mélanger avec le training.
  2. SLO d’abord (p95, temps max en file), puis signaux d’autoscaler.
  3. Labels refacturation (team, model, env) dès le départ.
  4. Traiter le partage GPU comme décision produit : cartes dédiées vs quotas partagés.

10. Références


Notes de septembre 2022 ; noms produit et chemins AWS peuvent avoir changé depuis.

Références

  1. Documentation Run:ai. (). [Web page] docs.run.ai.
  2. AWS Marketplace. (). [Web page] aws.amazon.com.
  3. Planification GPU Kubernetes. (). [Web page] kubernetes.io.

Les références utilisent la date de publication de cet article.