Serverless Computing
Explore comment l’informatique serverless simplifie le déploiement de l’IA. Apprends à créer des workflows évolutifs et économiques avec Ultralytics YOLO26 pour une inférence ML efficace.
L'informatique sans serveur est un modèle d'exécution cloud qui permet aux développeurs de concevoir et d'exécuter des applications sans la complexité liée à la gestion de l'infrastructure. Dans ce paradigme, le fournisseur cloud gère dynamiquement l'allocation et le provisionnement des serveurs, en masquant à l'utilisateur le matériel et les systèmes d'exploitation sous-jacents. Le code s'exécute dans des conteneurs sans état déclenchés par des événements spécifiques, comme une requête HTTP, une modification de base de données ou l'envoi d'un fichier. Cette approche est particulièrement pertinente pour les stratégies modernes de cloud computing, car elle permet aux organisations de payer uniquement le temps de calcul consommé et de respecter automatiquement les exigences de scalabilité en passant de zéro à des milliers d'instances selon la demande du trafic.
Les mécanismes du sans-serveur pour l'IA#
Au cœur de l'informatique sans serveur se trouve le concept de fonction en tant que service (FaaS), dans lequel les applications sont décomposées en fonctions individuelles qui exécutent des tâches distinctes. Pour les professionnels du Machine Learning (ML), cela offre une voie simplifiée vers 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 démarrer à la demande pour traiter les données, puis s'arrêter immédiatement après.
Toutefois, un élément clé à prendre en compte dans cette architecture est le « démarrage à froid », c'est-à-dire la latence engendrée lorsqu'une fonction est appelée pour la première fois ou après une période d'inactivité. Pour la réduire, les développeurs utilisent souvent des architectures légères comme YOLO26 ou des techniques comme 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 concrètes du machine learning#
Les architectures sans serveur sont particulièrement efficaces pour les workflows de vision par ordinateur (CV) pilotés par les événements et les pipelines de données.
- Prétraitement automatisé des données : Lorsqu'un utilisateur importe un jeu de données brutes dans un service de stockage comme Amazon S3, cela peut déclencher une fonction sans serveur chargée d'effectuer immédiatement le prétraitement des données. La fonction peut redimensionner les images, normaliser les valeurs des 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 leur cohérence sans intervention manuelle.
- Surveillance intelligente à la demande : Dans le domaine de l'AI in Security, un capteur de mouvement peut déclencher une caméra pour capturer une image. Cet événement appelle 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 à une diffusion en continu permanente.
Exemple Python : gestionnaire d'inférence sans serveur#
Le code suivant présente un gestionnaire sans serveur conceptuel. Il initialise une instance globale du modèle afin de tirer parti des « démarrages à chaud » (lorsque le conteneur reste actif entre les requêtes) et traite le chemin d'accès d'une image entrante.
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 associées#
Pour comprendre l'informatique sans serveur, il faut la distinguer des autres modèles d'infrastructure souvent utilisés dans le domaine du MLOps.
- Sans serveur et Edge Computing : Bien que les deux approches visent à optimiser l'efficacité, elles fonctionnent dans des emplacements différents. L'Edge Computing traite les données localement sur l'appareil (par exemple, une caméra intelligente ou un appareil IoT) afin de réduire le temps de transit sur le réseau. L'informatique sans serveur s'effectue dans un cloud public centralisé. Les solutions hybrides traitent souvent les données initiales à la périphérie, puis envoient les anomalies complexes à des fonctions cloud sans serveur pour une analyse d'images médicales approfondie ou un examen médico-légal.
- Sans serveur et Kubernetes : Kubernetes est une plateforme d'orchestration pour la conteneurisation qui offre aux développeurs un contrôle précis de l'environnement du cluster, du réseau et des pods. Bien que puissante, elle nécessite une importante charge de gestion. Les plateformes sans serveur, comme Google Cloud Functions ou Azure Functions, font totalement abstraction de cette orchestration, ce qui permet aux équipes de se concentrer uniquement sur la logique du code plutôt que sur l'état des nœuds.
- Sans serveur et IaaS : L'infrastructure en tant que service (IaaS) fournit des ressources de calcul virtualisées via Internet, comme Amazon EC2. Avec l'IaaS, l'utilisateur est responsable de l'application des correctifs au système d'exploitation et de la gestion du middleware. À l'inverse, l'informatique sans serveur supprime ces responsabilités opérationnelles, ce qui permet aux développeurs de se concentrer sur des tâches de plus haut niveau, comme l'amélioration de la précision de la classification d'images.
En exploitant des architectures sans serveur, les développeurs peuvent déployer des solutions d'IA robustes, économiques et capables de gérer des charges de travail imprévisibles, en utilisant des outils comme l'Ultralytics Platform pour simplifier le processus d'entraînement et de gestion des modèles avant le déploiement.









