Yolo Vision Shenzhen
Shenzhen
Rejoindre maintenant
Glossaire

Informatique sans serveur (Serverless Computing)

Découvrez comment l'informatique sans serveur révolutionne l'IA/ML grâce à l'évolutivité, la rentabilité et le déploiement rapide. Construisez plus intelligemment, plus rapidement dès aujourd'hui !

L'informatique sans serveur est un modèle d'exécution en nuage dans lequel le fournisseur de nuage gère dynamiquement l'allocation et le provisionnement des serveurs. serveurs, ce qui permet aux développeurs de créer et d'exécuter des applications sans avoir à gérer l'infrastructure sous-jacente. l'infrastructure sous-jacente. Dans cette architecture, le code est exécuté dans des conteneurs sans état qui sont déclenchés par des événements spécifiques, et passe automatiquement de zéro à des milliers de requêtes instantanément. Ce modèle de paiement à l'utilisation est très efficace pour les charges de travail dont le trafic est variable. charges de travail à trafic variable, ce qui en fait la pierre angulaire du développement d'applications modernes de Machine Learning (ML). développement d'applications modernes de Machine Learning (ML) et des stratégies de Cloud Computing.

La mécanique du sans serveur

Au cœur de l'informatique sans serveur se trouve le paradigme paradigme de la fonction en tant que service (FaaS ). Au lieu de déployer une application monolithique, la logique est décomposée en fonctions individuelles qui exécutent des tâches uniques. Ces fonctions sont pilotées par les événements, ce qui signifie qu'elles ne s'exécutent que lorsqu'elles sont déclenchées par une action, telle qu'une requête HTTP via une passerelle API, le téléchargement d'un fichier vers le serveur de l'entreprise, etc. API Gateway, un téléchargement de fichier vers des services de stockage comme Amazon S3, ou une mise à jour de la base de données.

Le fournisseur de services en nuage prend en charge tous les frais généraux d'exploitation, y compris la maintenance du système d'exploitation, l'approvisionnement en capacité et l'évolutivité. capacité et l'évolutivité. Cette abstraction permet aux de se concentrer entièrement sur l'écriture du code pour vision par ordinateur ou l'analyse de données, ce qui accélérer considérablement le cycle de développement défini par les meilleures pratiques MLOps. MLOps.

Serverless dans l'IA et l'apprentissage automatique

Les architectures sans serveur sont particulièrement avantageuses pour le déploiement de modèles d'IA en raison de leur capacité à gérer des modèles de trafic "en rafale" sans encourir de coûts liés à des serveurs inactifs. "bursty" (en rafale) sans avoir à supporter les coûts liés à des serveurs inactifs.

  • Inférence à la demande : L'hébergement d'un modèle pour l'inférence l 'inférence en temps réel sur un serveur dédié être coûteux si les demandes sont sporadiques. Les fonctions sans serveur peuvent charger un modèle comme YOLO11 uniquement lorsqu'un utilisateur en fait la demande, en traitant l'image et en renvoyant des prédictions de manière rentable. l'image et renvoyer les prédictions de manière rentable.
  • Pipelines de prétraitement des données : Les fonctions sans serveur sont idéales pour pour les tâches de prétraitement des données. Par exemple, le téléchargement d'un ensemble de données brutes peut déclencher des fonctions pour redimensionner les images, normaliser les valeurs des pixels ou convertir les formats de fichiers, les préparer à l'entraînement du modèle.
  • Réentraînement du modèle : Dans un flux de travail piloté par les événements, les baisses significatives de performances du modèle détectées par les outils de les outils de surveillance peuvent déclencher automatiquement un pipeline de recyclage à l'aide de nouvelles données.

Exemple Python : Gestionnaire d'inférence sans serveur

Le code suivant illustre une fonction de gestion conceptuelle qui charge un modèle Ultralytics léger pour effectuer la détection d'objets sur un chemin d'image fourni par un serveur. détection d'objets sur un chemin d'image fourni par un déclencheur d'événement.

from ultralytics import YOLO

# Initialize the model outside the handler to cache it for warm starts
# YOLO11n is chosen for its small size and speed, ideal for serverless environments
model = YOLO("yolo11n.pt")


def lambda_handler(event, context):
    """Simulated serverless handler for performing inference. 'event' contains the input data, e.g., path to an image.
    """
    image_path = event.get("image_path", "data/images/bus.jpg")

    # Run inference
    results = model(image_path)

    # Return the count of detected objects
    return {"status": "success", "objects_detected": len(results[0].boxes)}

Applications concrètes

  1. Systèmes de sécurité intelligents : Les caméras de sécurité domestique peuvent utiliser Edge AI pour detect mouvements et télécharger un cliché sur le cloud. cloud. Cet événement de téléchargement déclenche une fonction sans serveur (par exemple, sur AWS Lambda ou Google Cloud Functions) qui exécute un modèle de détection plus précis afin d'identifier si le mouvement a été causé par une personne ou un Google personnes. pour identifier si le mouvement a été causé par une personne ou un animal de compagnie, réduisant ainsi les fausses alertes.
  2. Analyse agricole : En l 'IA dans l'agriculture, les drones qui capturent des peuvent télécharger des données vers un réservoir central. Cela déclenche des fonctions parallèles sans serveur pour analyser la santé des cultures sur des milliers d'images simultanément, en tirant parti du parallélisme massif du cloud pour terminer le travail en quelques minutes plutôt que des heures.

Distinguer les concepts apparentés

Pour comprendre où se situe le serverless, il faut le distinguer des technologies similaires :

  • Serverless vs. conteneurisation : Alors que le serverless utilise souvent des conteneurs sous le capot, les technologies de conteneurisation comme Docker et les plateformes d'orchestration comme Kubernetes exigent de l'utilisateur qu'il gère le cycle de vie des conteneurs et les ressources du cluster. du cycle de vie des conteneurs et des ressources du cluster. La technologie sans serveur fait abstraction de tout cela.
  • L'informatique sans serveur et l'informatique de périphérie : L'informatique de périphérie traite les données localement sur l'appareil dispositif (par exemple, un système embarqué ou un capteur IoT) afin de minimiser la latence. L'informatique sans serveur se produit dans un environnement centralisé. Les approches hybrides utilisent souvent des appareils en périphérie pour le filtrage immédiat et des appareils sans serveur pour l'analyse d'apprentissage approfondi (deep learning). l'analyse d'apprentissage en profondeur.
  • Serverless vs. PaaS : La plateforme en tant que service (PaaS) fournit un cadre pour la création d'applications mais implique souvent plus de configuration concernant le nombre d'instances ou d'environnements d'exécution par rapport à la nature purement événementielle de la technologie sans serveur. d'instances ou d'environnements d'exécution par rapport à la nature purement événementielle du serverless.

En adoptant l'informatique sans serveur, les organisations peuvent déployer de robustes robustes de vision par ordinateur qui sont à la fois rentables et capables de s'étendre à l'échelle mondiale, en alignant les dépenses d'infrastructure directement sur la valeur de l'entreprise.

Rejoindre la communauté Ultralytics

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

Rejoindre maintenant