Yolo Vision Shenzhen
Shenzhen
Rejoindre maintenant
Glossaire

Informatique sans serveur (Serverless Computing)

Découvrez comment l'informatique sans serveur simplifie le déploiement de l'IA. Apprenez à créer des workflows évolutifs et rentables à l'aide Ultralytics pour une inférence ML efficace.

Le serverless computing est un modèle d'exécution cloud qui permet aux développeurs de créer et d'exécuter des applications sans avoir à gérer la complexité de l'infrastructure. Dans ce paradigme, le fournisseur de cloud gère de manière dynamique l'allocation et le provisionnement des serveurs, en abstraisant le matériel et les systèmes d'exploitation sous-jacents de l'utilisateur. Le code est exécuté dans des conteneurs sans état déclenchés par des événements spécifiques, tels qu'une requête HTTP, une modification de base de données ou un téléchargement de fichier. Cette approche est très pertinente pour les stratégies modernes de cloud computing, car elle permet aux organisations de ne payer que pour le temps de calcul consommé, en se conformant automatiquement aux exigences de scalabilité en passant de zéro à des milliers d'instances en fonction de la demande de trafic.

Les mécanismes du sans serveur pour l'IA

Au cœur de l'informatique sans serveur se trouve le concept de Function-as-a-Service (FaaS), où les applications sont décomposées en fonctions individuelles qui exécutent des tâches distinctes. Pour les praticiens du machine learning (ML), cela offre un chemin simplifié pour le déploiement de modèles. Au lieu de maintenir un serveur dédié qui reste inactif pendant les périodes de faible trafic, une fonction sans serveur peut être activée à la demande pour traiter les données et s'éteindre immédiatement après.

Cependant, un élément clé à prendre en compte dans cette architecture est le « démarrage à froid », c'est-à-dire la latence qui survient lorsqu'une fonction est invoquée pour la première fois ou après une période d'inactivité. Pour atténuer ce problème, les développeurs utilisent souvent des architectures légères telles que YOLO26 ou des techniques telles que la quantification des modèles afin de garantir des temps de chargement rapides , ce qui est essentiel pour maintenir une faible latence d'inférence.

Applications réelles de l'apprentissage automatique

Les architectures sans serveur sont particulièrement efficaces pour les flux de travail et les pipelines de données de vision par ordinateur (CV) pilotés par les événements .

  • Pré-traitement automatisé des données : lorsqu'un utilisateur télécharge un ensemble de données brutes vers un service de stockage tel qu' Amazon S3, cela peut déclencher une fonction sans serveur afin d'effectuer immédiatement le pré-traitement des données. La fonction peut redimensionner les images, normaliser les valeurs de pixels ou valider les formats de fichiers avant que les données n'entrent dans un pipeline de données d'entraînement, garantissant ainsi la cohérence sans intervention manuelle.
  • Surveillance intelligente à la demande : dans le domaine de l' IA appliquée à la sécurité, un capteur de mouvement peut déclencher une caméra pour capturer une image. Cet événement invoque une fonction cloud hébergeant un modèle de détection d'objets. Le modèle analyse l' image pour distinguer un animal inoffensif d'un intrus potentiel, et n'envoie une alerte que lorsque cela est nécessaire. Cela réduit considérablement les coûts de bande passante et de stockage par rapport à un streaming continu.

Exemple Python : Gestionnaire d'inférence sans serveur

Le code suivant illustre un gestionnaire sans serveur conceptuel. Il initialise une instance de modèle global afin de tirer parti des « démarrages à chaud » (où le conteneur reste actif entre les requêtes) et traite un chemin d'image entrant .

from ultralytics import YOLO

# Initialize the model outside the handler to cache it for subsequent requests
# YOLO26n is ideal for serverless due to its compact size and speed
model = YOLO("yolo26n.pt")


def lambda_handler(event, context):
    """Simulates a serverless function handler triggered by an event. 'event' represents the input payload containing
    the image source.
    """
    image_source = event.get("url", "https://ultralytics.com/images/bus.jpg")

    # Perform inference
    results = model(image_source)

    # Return prediction summary
    return {
        "statusCode": 200,
        "body": {
            "objects_detected": len(results[0].boxes),
            "top_class": results[0].names[int(results[0].boxes.cls[0])] if len(results[0].boxes) > 0 else "None",
        },
    }

Distinguer les technologies connexes

Pour comprendre le concept de l'informatique sans serveur, il faut le différencier des autres modèles d'infrastructure souvent utilisés dans le MLOps.

  • Serverless vs Edge Computing : bien que les deux visent à optimiser l'efficacité, ils fonctionnent à des endroits différents. Le Edge Computing traite les données localement sur l'appareil (par exemple, une caméra intelligente ou un appareil IoT) afin de réduire au minimum le temps de transit sur le réseau. Le Serverless Computing s'effectue dans un cloud public centralisé. Les solutions hybrides traitent souvent les données initiales à la périphérie et envoient les anomalies complexes vers des fonctions cloud sans serveur pour une analyse plus approfondie des images médicales ou un examen médico-légal.
  • Serverless vs Kubernetes : Kubernetes est une plateforme d'orchestration pour la conteneurisation qui offre aux développeurs un contrôle granulaire sur l'environnement du cluster, la mise en réseau et les pods. Bien que puissante, elle nécessite une charge de gestion importante . Les plateformes serverless, telles que Google Functions ou Azure Functions, abstraient entièrement cette orchestration , permettant aux équipes de se concentrer uniquement sur la logique du code plutôt que sur la santé des nœuds.
  • Serverless vs. IaaS : L'infrastructure en tant que service (IaaS) fournit des ressources informatiques virtualisées sur Internet, comme Amazon EC2. Avec l'IaaS, l'utilisateur est responsable de la mise à jour du système d'exploitation et de la gestion des intergiciels. En revanche, l'informatique sans serveur supprime ces responsabilités opérationnelles, permettant aux développeurs de se concentrer sur des tâches de plus haut niveau, telles que l'amélioration de la précision de la classification des images.

En tirant parti des architectures sans serveur, les développeurs peuvent déployer des solutions d'IA robustes, rentables et capables de gérer des charges de travail imprévisibles, en utilisant des outils tels que Ultralytics pour rationaliser le processus de formation et de gestion des modèles avant leur déploiement.

Rejoindre la communauté Ultralytics

Rejoignez le futur de l'IA. Connectez-vous, collaborez et évoluez avec des innovateurs mondiaux.

Rejoindre maintenant