Ultralytics YOLO27 : Rejoins la liste d'attente.
Licence YOLO
Retour au glossaire Ultralytics

Serverless Computing

L’informatique sans serveur exécute du code à la demande, tandis que le fournisseur gère et adapte les serveurs, jusqu’à les ramener à zéro, avec une facturation par requête. Au programme : démarrages à froid et usages de l’IA.

L’informatique sans serveur est un modèle d’exécution dans le cloud où le fournisseur exécute le code uniquement lorsqu’un événement le déclenche, démarre et met automatiquement à l’échelle les serveurs sous-jacents, les arrête complètement lorsque le trafic cesse, et facture les requêtes et le temps d’exécution plutôt que des machines réservées. Les serveurs existent toujours, mais les développeurs n’ont jamais à les provisionner, les corriger ni en dimensionner les ressources. Ce modèle s’est généralisé avec AWS Lambda, annoncé en novembre 2014, et couvre désormais les plateformes de fonctions telles que Lambda, Azure Functions et Cloud Run functions, ainsi que les conteneurs sans serveur tels que Google Cloud Run et Azure Container Apps. Des chercheurs de l’UC Berkeley ont décrit ses atouts et ses limites dans l’article de 2019 « Cloud Programming Simplified: A Berkeley View on Serverless Computing ». Pour le machine learning, l’informatique sans serveur convient au service de modèles lorsque le trafic est irrégulier ou imprévisible : payer un serveur GPU inactif entre les pics coûterait plus cher que le travail lui-même.

Fonctionnement de l’exécution sans serveur#

Le code est empaqueté sous forme de fonction ou d’image de conteneur, puis associé à des déclencheurs : une requête HTTP, le dépôt d’un fichier dans un stockage objet, un message dans une file d’attente ou une tâche planifiée. Lorsqu’un événement survient et qu’une instance déjà démarrée est disponible, la plateforme y exécute immédiatement le gestionnaire. Sinon, elle effectue un démarrage à froid : elle crée un bac à sable isolé, par exemple l’une des microVM Firecracker qu’AWS a conçues pour Lambda, charge le code, démarre l’environnement d’exécution du langage et exécute le code d’initialisation en dehors du gestionnaire avant de traiter l’événement. Les instances sont sans état et éphémères ; tout ce qui doit subsister après une requête est donc stocké dans un service de stockage externe ou une base de données.

Démarrages à froid et modèles de machine learning#

Le machine learning rend les démarrages à froid coûteux, car l’initialisation importe un framework tel que PyTorch et charge des poids de modèle qui peuvent atteindre plusieurs centaines de mégaoctets. Le modèle standard consiste à charger le modèle une fois par instance, en dehors du gestionnaire ou lors de la première utilisation, afin que chaque appel ultérieur sur une instance active le réutilise. Ce gestionnaire suit ce modèle avec un classificateur ResNet-50 de torchvision :

import time

import torch
import torchvision

model = None  # module state survives between invocations while the instance stays warm


def handler(event, context):
    """Classify one image tensor, building the model only on a cold start."""
    global model
    cold_start = model is None
    if cold_start:
        model = torchvision.models.resnet50().eval()  # built once per instance
    with torch.inference_mode():
        logits = model(event["image"])
    return {"cold_start": cold_start, "class_id": int(logits.argmax())}


for _ in range(3):
    start = time.perf_counter()
    response = handler({"image": torch.rand(1, 3, 224, 224)}, context=None)
    print(response["cold_start"], f"{(time.perf_counter() - start) * 1000:.0f} ms")

Sur le CPU d’un Apple M5 Pro, le premier appel construit le réseau et prend environ 0,2 seconde, tandis que les deux appels suivants, qui réutilisent le réseau, prennent environ 15 ms chacun. Les équipes réduisent le temps de démarrage à froid restant à l’aide d’images de conteneur plus petites, de modèles compacts ou quantifiés et d’environnements d’exécution plus légers tels que ONNX Runtime, ou le suppriment en maintenant un nombre minimal d’instances actives, par exemple avec la concurrence provisionnée de Lambda ou les instances minimales de Cloud Run, ce qui implique de nouveau de payer les périodes d’inactivité.

L’informatique sans serveur pour les charges de travail d’IA#

Le sans serveur convient aux pipelines de vision par ordinateur déclenchés par des événements. Le téléversement vers un stockage d’objets peut déclencher une fonction qui valide et redimensionne l’image pendant le prétraitement des données, avant son ajout à un jeu de données d’entraînement. Dans un système d’alarme de sécurité, un capteur de mouvement peut envoyer une seule image à une fonction de détection d’objets, qui n’émet une alerte que si elle trouve une personne. Le reste dépend des limites de la plateforme : AWS Lambda exécute chaque invocation pendant 15 minutes maximum, avec jusqu’à 10 240 Mo de mémoire et sans GPU ; cela convient à l’inférence CPU avec des modèles compacts, mais exclut les longs entraînements et le entraînement distribué sur plusieurs GPU. Le sans serveur avec GPU a comblé cette lacune : Cloud Run associe des GPU NVIDIA L4 à des conteneurs qui peuvent toujours revenir à zéro, et des plateformes comme Modal facturent l’utilisation du GPU à la seconde.

Ultralytics Platform propose le même compromis pour les déploiements YOLO : un point de terminaison de taille par défaut de 1 vCPU et 2 GiB est gratuit et revient à zéro lorsqu’il est inactif ; son démarrage depuis l’inactivité peut prendre environ une minute, tandis que les tailles personnalisées maintiennent une instance active et facturent sa durée de fonctionnement.

  • Infrastructure en tant que service : des machines virtuelles qui s’exécutent et sont facturées en continu, que des requêtes arrivent ou non, le client étant chargé de gérer le système d’exploitation et la mise à l’échelle. Les longues tâches d’entraînement s’exécutent généralement ici.
  • Kubernetes : orchestre les conteneurs sur des clusters exploités par l’équipe. Knative y ajoute une mise à l’échelle pilotée par les requêtes, jusqu’à zéro, que KServe utilise pour servir les modèles.
  • Informatique en périphérie : exécute le code sur les appareils qui produisent les données, ou à proximité de ceux-ci. L’informatique sans serveur l’exécute dans une région du cloud, et certaines plateformes en périphérie associent les deux en exécutant des fonctions dans de nombreux petits emplacements proches des utilisateurs.

Découvre les solutions

La vision par ordinateur dans le sport

La vision par ordinateur dans le sport

Découvre comment Ultralytics YOLO propulse la vision par ordinateur dans le sport grâce au suivi des joueurs et du ballon, aux analyses de performance, aux conseils d’entraînement et à la rééducation des athlètes.
En savoir plus
Vision par ordinateur pour les images aériennes

Vision par ordinateur pour les images aériennes

Transforme les images de drones et les images aériennes en informations exploitables en temps réel pour l’agriculture, l’aquaculture, la conservation et l’analyse géospatiale avec Ultralytics YOLO.
En savoir plus
Vision par ordinateur dans l’aérospatiale

Vision par ordinateur dans l’aérospatiale

Applique la vision par ordinateur dans l’aérospatiale avec Ultralytics YOLO pour l’inspection des aéronefs, la détection des corps étrangers sur les pistes, les opérations au sol des aéroports et la détection des défauts des matériaux composites.
En savoir plus
La vision par ordinateur dans la sécurité

La vision par ordinateur dans la sécurité

Protège chaque site avec les modèles Ultralytics YOLO. L’IA visuelle permet la surveillance des périmètres, la détection des menaces, la reconnaissance des plaques d’immatriculation et la sécurité au travail.
En savoir plus
La vision par ordinateur en robotique

La vision par ordinateur en robotique

Donne plus de capacités à tes machines grâce aux modèles Ultralytics YOLO. Dans la robotique, l’IA visuelle permet la navigation autonome, la perception, le suivi des objets et le contrôle en temps réel.
En savoir plus
La vision par ordinateur dans la logistique

La vision par ordinateur dans la logistique

Optimise la logistique avec les modèles Ultralytics YOLO. La vision par IA permet d’inspecter les colis, de les trier, de suivre les véhicules et de surveiller la sécurité des entrepôts en temps réel.
En savoir plus
La vision par ordinateur dans le commerce de détail

La vision par ordinateur dans le commerce de détail

Réinvente le commerce de détail avec les modèles Ultralytics YOLO. La vision par IA permet de suivre les stocks, de surveiller les rayons, de gérer les files d’attente et de mieux comprendre les clients.
En savoir plus
La vision par ordinateur dans le secteur de la santé

La vision par ordinateur dans le secteur de la santé

Crée des solutions de santé avec les modèles Ultralytics YOLO. La vision par IA dans le secteur de la santé accélère l’imagerie médicale, améliore les diagnostics et facilite la surveillance des patients.
En savoir plus
La vision par ordinateur dans l’industrie manufacturière

La vision par ordinateur dans l’industrie manufacturière

Optimise la fabrication avec les modèles Ultralytics YOLO. La vision par IA améliore le contrôle qualité, la détection des défauts, le respect des règles concernant les EPI et l’automatisation des chaînes de montage.
En savoir plus
La vision par ordinateur dans l’automobile

La vision par ordinateur dans l’automobile

Mets la vision par ordinateur au service de l’automobile avec les modèles Ultralytics YOLO. La vision par IA renforce la sécurité routière, l’aide à la conduite et l’automatisation des véhicules pour des routes plus intelligentes.
En savoir plus
Vision par ordinateur dans l’agriculture

Vision par ordinateur dans l’agriculture

Fais entrer l’IA de vision dans l’agriculture intelligente avec les modèles Ultralytics YOLO. Optimise le suivi des cultures et du bétail ainsi que l’agriculture de précision pour obtenir des rendements plus élevés et plus intelligents.
En savoir plus

Construisons ensemble l’avenir de l’IA !

Commence ton parcours vers l’avenir de l’apprentissage automatique