Glossar

Serverloses Rechnen

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

Serverloses Computing ist ein Cloud-Computing-Ausführungsmodell, bei dem der Cloud-Anbieter die Zuweisung und Bereitstellung von Servern dynamisch verwaltet. Entwickler können Code als einzelne Funktionen schreiben und bereitstellen, ohne sich um die zugrunde liegende Infrastruktur wie Betriebssysteme oder Serverhardware kümmern zu müssen. Es werden zwar weiterhin Server verwendet, aber ihre Verwaltung ist vollständig abstrahiert, so dass sich die Teams auf die Erstellung der Anwendungslogik konzentrieren können. Dies ist besonders vorteilhaft für die schnelle Iteration von Projekten der künstlichen Intelligenz (KI) und des maschinellen Lernens (ML) und ermöglicht schnellere Entwicklungszyklen und eine effiziente Ressourcennutzung.

Verstehen der serverlosen Architektur

In einem serverlosen Setup sind Anwendungen oft als eine Sammlung unabhängiger Funktionen strukturiert, die durch bestimmte Ereignisse ausgelöst werden. Dieses Modell wird gemeinhin als Function as a Service (FaaS) bezeichnet. Zu den Ereignissen können HTTP-Anfragen (wie API-Aufrufe), Datenbankänderungen, Datei-Uploads in einen Cloud-Speicher oder Nachrichten von einem Warteschlangensystem gehören. Wenn ein Ereignis eintritt, weist der Cloud-Anbieter automatisch die erforderlichen Rechenressourcen für die Ausführung der entsprechenden Funktion zu. Sobald die Ausführung abgeschlossen ist, werden diese Ressourcen heruntergefahren, oft auf Null, wenn keine Anfragen mehr anstehen. Dieser ereignisgesteuerte, automatisch skalierende Ansatz unterscheidet sich erheblich von herkömmlichen Architekturen, bei denen die Server kontinuierlich laufen, was zu ungenutzten Ressourcen und höheren Betriebskosten führen kann. Er passt gut zu den variablen Anforderungen vieler KI-Anwendungsfälle.

Vorteile für AI und ML

Serverloses Computing bietet überzeugende Vorteile für KI- und ML-Workloads, die häufig variable Rechenanforderungen haben:

  • Automatische Skalierbarkeit: Nahtloser Umgang mit unvorhersehbaren Belastungen. Beispielsweise kann eine Inferenz-Engine, die Vorhersagen liefert, plötzliche Spitzen bei den Anfragen verzeichnen. Serverlose Plattformen skalieren die Funktionsinstanzen automatisch nach oben oder unten, um der Nachfrage gerecht zu werden, ohne dass ein manuelles Eingreifen erforderlich ist, und gewährleisten so eine gleichbleibende Leistung. Dies ist von entscheidender Bedeutung für Anwendungen, die Echtzeit-Inferenzen benötigen.
  • Kosteneffizienz: Der Betrieb erfolgt auf einer Pay-per-Use-Basis. In der Regel wird nur die tatsächlich von Ihren Funktionen verbrauchte Rechenzeit in Rechnung gestellt, und zwar auf die Millisekunde genau. Dadurch entfallen die Kosten für ungenutzte Serverkapazitäten, was die Lösung für Aufgaben wie regelmäßiges Modelltraining oder seltene Datenverarbeitungsaufträge wirtschaftlich macht. Entdecken Sie die Vorteile von Skaleneffekten.
  • Schnellere Entwicklungszyklen: Die Verwaltung der Infrastruktur entfällt. Die Entwickler können sich ausschließlich auf das Schreiben von Code für bestimmte Aufgaben wie die Datenvorverarbeitung, die Merkmalsextraktion oder die Ausführung der Vorhersagelogik konzentrieren. Dies beschleunigt die Entwicklung und Bereitstellung und ermöglicht ein schnelleres Experimentieren mit verschiedenen Modellen oder Strategien zur Abstimmung der Hyperparameter(Ultralytics-Leitfaden).
  • Vereinfachte Abläufe: Reduziert den betrieblichen Aufwand. Aufgaben wie das Patchen von Betriebssystemen, die Verwaltung von Serverkapazitäten und die Sicherstellung der Hochverfügbarkeit werden vom Cloud-Anbieter übernommen, so dass Ressourcen für ML-Kernaufgaben frei werden. Erfahren Sie mehr über Machine Learning Operations (MLOps).

Real-World-Anwendungen in AI/ML

Serverlose Architekturen sind für verschiedene KI/ML-Aufgaben gut geeignet:

  1. Bild- und Videoanalyse: Stellen Sie sich eine Anwendung vor, die mithilfe eines Ultralytics YOLO-Modells eine Objekterkennung auf vom Benutzer hochgeladenen Bildern durchführt. Ein Upload-Ereignis auf einen Cloud-Speicher (wie Amazon S3 oder Google Cloud Storage) löst eine serverlose Funktion aus. Diese Funktion lädt das Bild, führt das YOLO-Modell zur Erkennung aus, führt möglicherweise eine Bildsegmentierung durch und speichert die Ergebnisse (z. B. Begrenzungsrahmen, Klassenbezeichnungen) in einer Datenbank oder gibt sie über eine API zurück. Das System skaliert automatisch auf der Grundlage der Anzahl der Uploads, ohne dass vorab bereitgestellte Server benötigt werden. Dieses Muster ist für Anwendungen von der Inhaltsmoderation bis zur medizinischen Bildanalyse nützlich. Siehe Ultralytics-Lösungen für weitere Beispiele.
  2. Chatbot-Backends: Viele Chatbots, die von Large Language Models (LLMs) angetrieben werden, verwenden serverlose Funktionen, um eingehende Benutzernachrichten zu verarbeiten. Jede Nachricht löst eine Funktion aus, die den Text verarbeitet, mit der LLM-API (wie GPT-4) interagiert, notwendige Aktionen durchführt (z. B. Datenbankabfragen über Vektorsuche) und eine Antwort zurückschickt. Das Pay-per-Request-Modell ist ideal für Chatbots mit schwankendem Nutzungsverhalten. Erforschen Sie Konzepte der natürlichen Sprachverarbeitung (NLP).

Serverlose Konzepte im Vergleich zu verwandten Konzepten

Es ist wichtig, Serverless Computing von verwandten Technologien zu unterscheiden:

  • Cloud Computing vs. Serverless: Cloud Computing ist die umfassende Bereitstellung von Rechendiensten über das Internet. Serverless ist ein spezielles Ausführungsmodell innerhalb des Cloud Computing, bei dem die automatische Ressourcenverwaltung und ereignisgesteuerte Funktionen (FaaS) im Vordergrund stehen und die Serververwaltung vollständig abstrahiert wird. Bei anderen Cloud-Modellen wie Infrastructure as a Service (IaaS) müssen die Nutzer weiterhin virtuelle Maschinen verwalten.
  • Containerisierung vs. Serverless: Containerisierungstools wie Docker verpacken Anwendungen und ihre Abhängigkeiten. Orchestrierungsplattformen wie Kubernetes automatisieren die Bereitstellung, Skalierung und Verwaltung dieser Container. Während Kubernetes den operativen Aufwand im Vergleich zur Verwaltung von Bare Metal oder VMs reduziert, müssen Sie immer noch die zugrunde liegende Cluster-Infrastruktur verwalten. Serverlose Plattformen abstrahieren diese Schicht vollständig; Sie verwalten nur den Funktionscode. Sehen Sie, wie Sie Docker mit Ultralytics verwenden können.
  • Edge Computing vs. Serverless: Beim Edge Computing werden Daten lokal auf Geräten in der Nähe der Datenquelle (Edge") verarbeitet, um Latenzzeiten und Bandbreitennutzung zu reduzieren. Beim Serverless Computing werden Funktionen in der Regel in zentralen Cloud-Rechenzentren ausgeführt. Ein Edge-KI-Gerät (z. B. ein Gerät, das auf einem NVIDIA Jetson läuft) kann eine erste Verarbeitung oder Filterung durchführen und dann eine serverlose Funktion in der Cloud für komplexere Analysen oder Aggregationen auslösen. Lesen Sie mehr über KI-gestützte Sicherheitskameras, die häufig Edge- und Cloud-Verarbeitung kombinieren.

Zu den führenden serverlosen Plattformen gehören AWS Lambda, Google Cloud Functions und Azure Functions. Diese Dienste stellen die Infrastruktur bereit, die für die Erstellung und den effektiven Betrieb von serverlosen KI/ML-Anwendungen erforderlich ist, und sind häufig mit anderen Cloud-Diensten für Speicherung, Datenbanken und Messaging integriert. Plattformen wie Ultralytics HUB können die Bereitstellung und Verwaltung von Modellen in verschiedenen Architekturen, einschließlich serverloser Setups, weiter optimieren(siehe HUB-Dokumente).

Werden Sie Mitglied der Ultralytics-Gemeinschaft

Beteiligen Sie sich an der Zukunft der KI. Vernetzen Sie sich, arbeiten Sie zusammen und wachsen Sie mit globalen Innovatoren

Jetzt beitreten
Link in die Zwischenablage kopiert