Serverless Computing
Explore comment l'informatique sans serveur (serverless) simplifie le déploiement de l'IA. Apprends à construire des flux de travail évolutifs et rentables en utilisant Ultralytics YOLO26 pour une inférence ML efficace.
Le serverless computing (informatique sans serveur) est un modèle d'exécution cloud qui permet aux développeurs de créer 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 le matériel sous-jacent et les systèmes d'exploitation à 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 de cloud computing modernes, car elle permet aux organisations de payer uniquement pour le temps de calcul consommé, en s'adaptant automatiquement aux exigences de scalability en passant de zéro à des milliers d'instances selon la demande de trafic.
Le fonctionnement du sans serveur pour l'IA#
Au cœur du serverless computing se trouve le concept de Function-as-a-Service (FaaS), où les applications sont décomposées en fonctions individuelles qui effectuent des tâches distinctes. Pour les praticiens du Machine Learning (ML), cela offre une voie rationalisée pour le model deployment. Au lieu de maintenir un serveur dédié qui reste inactif pendant les périodes de faible trafic, une fonction serverless peut démarrer à la demande pour traiter les données et s'arrêter immédiatement après.
Cependant, un élément clé à prendre en compte dans cette architecture est le « cold start » (démarrage à froid) — la latence générée lorsqu'une fonction est invoquée pour la première fois ou après une période d'inactivité. Pour atténuer ce phénomène, les développeurs utilisent souvent des architectures légères comme YOLO26 ou des techniques comme le model quantization pour garantir des temps de chargement rapides, ce qui est essentiel pour maintenir une faible inference latency.
Applications concrètes dans le Machine Learning#
Les architectures serverless sont particulièrement efficaces pour les flux de travail de computer vision (CV) et les pipelines de données pilotés par les événements.
- Prétraitement automatisé des données : lorsqu'un utilisateur télécharge un jeu de données brut vers un service de stockage tel que Amazon S3, cela peut déclencher une fonction serverless pour effectuer un data preprocessing immédiat. La fonction peut redimensionner les images, normaliser les valeurs des pixels ou valider les formats de fichier avant que les données n'entrent dans un pipeline de training data, garantissant ainsi la cohérence sans intervention manuelle.
- Surveillance intelligente à la demande : en matière d'AI in Security, 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 d'object detection. Le modèle analyse l'image pour faire la distinction entre un animal inoffensif et un intrus potentiel, envoyant une alerte uniquement 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 en Python : gestionnaire d'inférence sans serveur#
Le code suivant montre un gestionnaire conceptuel sans serveur. Il initialise une instance de modèle globale pour tirer parti des « démarrages à chaud » (où le conteneur reste actif entre deux 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 associées#
Comprendre le serverless computing nécessite de le différencier des autres modèles d'infrastructure souvent utilisés dans le domaine du MLOps.
- Serverless vs Edge Computing : bien que tous deux visent à optimiser l'efficacité, ils fonctionnent à des emplacements différents. L'Edge computing traite les données localement sur l'appareil (par exemple, une caméra intelligente ou un IoT device) pour minimiser le temps de trajet sur le réseau. Le serverless computing s'exécute dans un cloud public centralisé. Les solutions hybrides traitent souvent les données initiales en périphérie (edge) et envoient les anomalies complexes vers des fonctions cloud serverless pour une medical image analysis plus approfondie ou un examen médico-légal.
- Serverless vs Kubernetes : Kubernetes est une plateforme d'orchestration pour la containerization qui donne aux développeurs un contrôle granulaire sur l'environnement de cluster, le réseau et les pods. Bien que puissante, elle nécessite une charge de gestion importante. Les plateformes serverless, telles que Google Cloud Functions ou Azure Functions, font abstraction de 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-as-a-Service (IaaS) fournit des ressources informatiques virtualisées sur Internet, comme Amazon EC2. Avec l'IaaS, l'utilisateur est responsable de l'application des correctifs sur le système d'exploitation et de la gestion des intergiciels (middleware). En revanche, le serverless computing 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 l'image classification.
En tirant parti des architectures serverless, tu peux déployer des solutions d'IA robustes, économiques et capables de gérer des charges de travail imprévisibles, tout en utilisant des outils tels que l'Ultralytics Platform pour rationaliser le processus d'entraînement et de gestion des modèles avant le déploiement.






