Yolo Vision Shenzhen
Shenzhen
Jetzt beitreten
Glossar

Serverless Computing (Serverloses Rechnen)

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.

Die Mechanismen von Serverless für KI

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.

Praktische Anwendungen des maschinellen Lernens

Serverlose Architekturen sind besonders effektiv für ereignisgesteuerte Computer-Vision-Workflows (CV) und Datenpipelines .

  • Automatisierte Datenvorverarbeitung: Wenn ein Benutzer einen Rohdatensatz in einen Speicherdienst wie Amazon S3 hochlädt, kann dies eine serverlose Funktion auslösen, die sofort eine Datenvorverarbeitung durchführt. Die Funktion kann die Größe von Bildern ändern, Pixelwerte normalisieren oder Dateiformate validieren, bevor die Daten in eine Trainingsdaten-Pipeline gelangen, wodurch Konsistenz ohne manuelles Eingreifen gewährleistet wird.
  • On-Demand-Smart-Überwachung: In AI in Security kann ein Bewegungssensor eine Kamera auslösen, um ein Bild aufzunehmen. Dieses Ereignis ruft eine Cloud-Funktion auf, die ein Objekterkennungsmodell hostet. Das Modell analysiert das Bild, um zwischen einem harmlosen Tier und einem potenziellen Eindringling zu unterscheiden, und sendet nur bei Bedarf eine Warnung. Dies reduziert die Bandbreiten- und Speicherkosten im Vergleich zu kontinuierlichem Streaming drastisch.

Python : Serverloser Inferenz-Handler

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

Unterscheidung verwandter Technologien

Um serverloses Computing zu verstehen, muss man es von anderen Infrastrukturmodellen unterscheiden, die häufig in MLOps verwendet werden.

  • Serverless Computing vs. Edge Computing: Beide zielen auf Effizienzoptimierung ab, werden jedoch an unterschiedlichen Standorten eingesetzt. Beim Edge Computing werden Daten lokal auf dem Gerät (z. B. einer Smart-Kamera oder einem IoT-Gerät) verarbeitet, um die Netzwerkübertragungszeit zu minimieren. Serverless Computing findet in einer zentralisierten öffentlichen Cloud statt. Hybride Lösungen verarbeiten oft die ersten Daten am Rand und senden komplexe Anomalien an serverlose Cloud-Funktionen für eine tiefergehende medizinische Bildanalyse oder forensische Überprüfung.
  • Serverless vs. Kubernetes: Kubernetes ist eine Orchestrierungsplattform für die Containerisierung, die Entwicklern eine detaillierte Kontrolle über die Clusterumgebung, das Netzwerk und die Pods ermöglicht. Sie ist zwar leistungsstark, erfordert jedoch einen erheblichen Verwaltungsaufwand . Serverlose Plattformen wie Google Functions oder Azure Functions abstrahieren diese Orchestrierung vollständig, sodass sich Teams ausschließlich auf die Codelogik und nicht auf den Zustand der Knoten konzentrieren können.
  • Serverless vs. IaaS: Infrastructure-as-a-Service (IaaS) stellt über das Internet virtualisierte Rechenressourcen bereit, wie beispielsweise Amazon EC2. Bei IaaS ist der Nutzer für das Patchen des Betriebssystems und die Verwaltung der Middleware verantwortlich. Im Gegensatz dazu entfallen bei Serverless Computing diese operativen Aufgaben, sodass sich Entwickler auf übergeordnete Aufgaben wie die Verbesserung der Genauigkeit der Bildklassifizierung konzentrieren können.

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.

Werden Sie Mitglied der Ultralytics

Gestalten Sie die Zukunft der KI mit. Vernetzen Sie sich, arbeiten Sie zusammen und wachsen Sie mit globalen Innovatoren

Jetzt beitreten