Entdecken Sie, wie Serverless Computing die Bereitstellung von KI vereinfacht. Lernen Sie, wie Sie mit Ultralytics skalierbare, kostengünstige Workflows für eine effiziente ML-Inferenz erstellen können.
Serverless Computing ist ein Cloud-Ausführungsmodell, das es Entwicklern ermöglicht, Anwendungen zu erstellen und auszuführen, ohne sich um die komplexe Verwaltung der Infrastruktur kümmern zu müssen. In diesem Paradigma verwaltet der Cloud-Anbieter dynamisch die Zuweisung und Bereitstellung von Servern und abstrahiert die zugrunde liegende Hardware und Betriebssysteme vom Benutzer. Der Code wird in zustandslosen Containern ausgeführt, die durch bestimmte Ereignisse ausgelöst werden, wie z. B. eine HTTP-Anfrage, eine Datenbankänderung oder ein Datei-Upload. Dieser Ansatz ist für moderne Cloud-Computing-Strategien von großer Bedeutung, da er es Unternehmen ermöglicht, nur für die tatsächlich genutzte Rechenzeit zu bezahlen und automatisch Skalierbarkeitsanforderungen zu erfüllen, indem sie je nach Datenverkehrsbedarf von null auf Tausende von Instanzen skalieren können.
Im Zentrum des serverlosen Computing steht das Konzept von Function-as-a-Service (FaaS), bei dem Anwendungen in einzelne Funktionen zerlegt werden , die diskrete Aufgaben ausführen. Für Praktiker im Bereich Machine Learning (ML) bietet dies einen optimierten Weg für die Modellbereitstellung. Anstatt einen dedizierten Server zu unterhalten, der in Zeiten mit geringem Datenverkehr untätig ist, kann eine serverlose Funktion bei Bedarf hochgefahren werden, um Daten zu verarbeiten, und unmittelbar danach wieder heruntergefahren werden.
Ein wichtiger Aspekt dieser Architektur ist jedoch der „Kaltstart“ – die Latenz, die auftritt, wenn eine Funktion zum ersten Mal oder nach einer Phase der Inaktivität aufgerufen wird. Um dies zu mildern, verwenden Entwickler häufig leichtgewichtige Architekturen wie YOLO26 oder Techniken wie die Modellquantisierung, um schnelle Ladezeiten zu gewährleisten , was für die Aufrechterhaltung einer geringen Inferenzlatenz unerlässlich ist.
Serverlose Architekturen sind besonders effektiv für ereignisgesteuerte Computer-Vision-Workflows (CV) und Datenpipelines .
Der folgende Code veranschaulicht einen konzeptionellen serverlosen Handler. Er initialisiert eine globale Modellinstanz, um die Vorteile von „Warmstarts” zu nutzen (bei denen der Container zwischen den Anfragen aktiv bleibt), und verarbeitet einen eingehenden Bildpfad.
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",
},
}
Um serverloses Computing zu verstehen, muss man es von anderen Infrastrukturmodellen unterscheiden, die häufig in MLOps verwendet werden.
Durch die Nutzung serverloser Architekturen können Entwickler robuste KI-Lösungen bereitstellen, die kostengünstig sind und unvorhersehbare Arbeitslasten bewältigen können, indem sie Tools wie die Ultralytics einsetzen, um den Prozess des Modelltrainings und der Modellverwaltung vor der Bereitstellung zu optimieren.