Glossar

Serverloses Rechnen

Entdecke, wie serverloses Computing die KI/ML mit Skalierbarkeit, Kosteneffizienz und schneller Bereitstellung revolutioniert. Baue noch heute intelligenter und schneller!

Trainiere YOLO Modelle einfach
mit Ultralytics HUB

Mehr erfahren

Serverloses Computing ist ein Cloud-Computing-Ausführungsmodell, bei dem der Cloud-Anbieter die Zuweisung und Bereitstellung von Servern dynamisch verwaltet. Im Wesentlichen können Entwickler/innen Code schreiben und einsetzen, ohne sich um die Verwaltung der Server kümmern zu müssen. Der Begriff "serverlos" ist nicht ganz zutreffend, denn die Server sind zwar immer noch beteiligt, aber ihre Verwaltung ist für den Nutzer völlig abstrahiert. Dieser Ansatz ermöglicht es Entwicklern, sich ausschließlich auf das Schreiben von Code und das Erstellen von Anwendungen zu konzentrieren, was besonders im sich schnell entwickelnden Bereich der KI und des maschinellen Lernens (ML) von Vorteil ist.

Die serverlose Architektur verstehen

Beim serverlosen Computing werden die Anwendungen in einzelne, unabhängige Funktionen aufgeteilt, die durch bestimmte Ereignisse ausgelöst werden. Diese Ereignisse können HTTP-Anfragen, Datenänderungen, Systemereignisse oder sogar geplante Auslöser sein. Wenn eine Funktion ausgelöst wird, weist der Cloud-Anbieter sofort die erforderlichen Rechenressourcen zu, um den Code auszuführen, und baut die Ressourcen automatisch ab, wenn die Funktion nicht mehr ausgeführt wird. Diese bedarfs- und ereignisgesteuerte Ausführung steht im Gegensatz zu herkömmlichen serverbasierten Architekturen, bei denen die Server unabhängig von der Anwendungsnachfrage ständig in Betrieb sind, was zu Ressourcenverschwendung und erhöhter betrieblicher Komplexität führen kann. Serverlose Architekturen sind eine Schlüsselkomponente des Cloud Computing und bieten eine flexiblere und effizientere Möglichkeit, Anwendungen einzusetzen und zu verwalten.

Vorteile für KI und ML

Serverloses Computing bietet erhebliche Vorteile für KI- und ML-Workloads, die oft rechenintensive Aufgaben und schwankende Anforderungen beinhalten.

  • Skalierbarkeit: Serverlose Plattformen skalieren Ressourcen automatisch je nach Bedarf. Das ist besonders wichtig für ML-Anwendungen, bei denen es zu Nutzungsspitzen kommen kann, z. B. während der Spitzenzeiten einer Objekterkennungs-API oder bei der Stapelverarbeitung großer Datensätze.
  • Kosteneffizienz: Du zahlst nur für die Rechenzeit, die verbraucht wird, wenn dein Code tatsächlich läuft. Für KI-/ML-Projekte, bei denen es Zeiten der Inaktivität oder der variablen Nutzung geben kann, kann dieses Pay-as-you-go-Modell deutlich kostengünstiger sein als die Unterhaltung von ständig aktiven Servern.
  • Geringerer operativer Aufwand: Die Entwickler werden von der Serververwaltung entlastet und können sich auf die Modellentwicklung, die Abstimmung der Hyperparameter und das Feature Engineering konzentrieren. Dieser gestraffte Arbeitsablauf beschleunigt die Entwicklungszyklen und reduziert den mit der Infrastrukturverwaltung verbundenen Arbeitsaufwand.
  • Schnellere Bereitstellung: Serverlose Funktionen können schnell und einfach implementiert werden, was schnelle Iterationen und Experimente in KI/ML-Projekten ermöglicht. Die Integration mit Plattformen wie Ultralytics HUB vereinfacht die Bereitstellung von Ultralytics YOLO Modellen in serverlosen Umgebungen.

Reale Anwendungen in KI/ML

Serverloses Computing wird in einer Vielzahl von KI/ML-Anwendungen eingesetzt:

  • Inferenz-APIs in Echtzeit: Die Bereitstellung von ML-Modellen als serverlose Funktionen ermöglicht die Erstellung skalierbarer und kosteneffizienter Endpunkte zur Modellbereitstellung. Zum Beispiel kann ein Bildklassifizierungsmodell, das mit Ultralytics YOLOv8 erstellte Bildklassifizierungsmodell kann als serverlose API eingesetzt werden, um Echtzeitvorhersagen für hochgeladene Bilder zu liefern. Dies ist ideal für Anwendungen, die eine sofortige Analyse erfordern, wie z. B. die medizinische Bildanalyse oder die automatisierte Qualitätskontrolle in der Fertigung.
  • Datenvorverarbeitungspipelines: Serverlose Funktionen eignen sich gut für den Aufbau ereignisgesteuerter Datenpipelines. Stell dir ein System vor, in dem ständig neue Daten gesammelt werden, z. B. von Sensoren oder Benutzer-Uploads. Serverlose Funktionen können ausgelöst werden, um diese Daten automatisch vorzuverarbeiten - sie zu bereinigen, umzuwandeln und zu ergänzen - bevor sie für das Modelltraining oder die Analyse verwendet werden. Dies kann besonders in Szenarien wie der Computer Vision in der Landwirtschaft nützlich sein, wo Bilddaten verarbeitet werden müssen, bevor Ultralytics YOLOv5 Modelle für die Ernteüberwachung zu trainieren.

Serverless vs. Edge Computing

Während sich Serverless Computing auf die Ausführung in der Cloud konzentriert, bringt Edge Computing die Berechnungen und die Datenspeicherung näher an die Datenquelle, oft auf physische Geräte oder lokale Server. Edge Computing ist vorteilhaft für Anwendungen, die eine extrem niedrige Latenzzeit und Offline-Verarbeitung erfordern, wie z. B. die Echtzeit-Objekterkennung in autonomen Fahrzeugen oder KI-gestützte Sicherheitskameras. Serverloses und Edge Computing schließen sich nicht gegenseitig aus und können in hybriden Architekturen kombiniert werden, bei denen Edge-Geräte die erste Datenverarbeitung übernehmen und serverlose Funktionen komplexere, cloudbasierte Aufgaben erledigen.

Beliebte serverlose Plattformen sind AWS Lambda, Google Cloud Functions und Azure Functions. Diese Plattformen bieten die Infrastruktur und die Werkzeuge, die notwendig sind, um serverlose KI/ML-Anwendungen effizient zu entwickeln und einzusetzen.

Alles lesen