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.
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.
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 .
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",
},
}
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.
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.