Lernen Sie die Grundlagen des Model Serving kennen – stellen Sie KI-Modelle für Echtzeitvorhersagen, Skalierbarkeit und nahtlose Integration in Anwendungen bereit.
Die Modellbereitstellung ist die kritische Phase im Lebenszyklus des maschinellen Lernens, in der ein trainiertes Modell auf einem Server oder Gerät gehostet wird, um Gerät gehostet wird, um Inferenzanfragen in Echtzeit zu bearbeiten. Sobald ein Modell für maschinelles Lernen (ML) Sobald ein Modell für maschinelles Lernen trainiert und validiert wurde, muss es in eine Produktionsumgebung integriert werden, um einen Mehrwert zu bieten. Serving fungiert als Brücke zwischen der statischen Modelldatei und den Endbenutzeranwendungen, indem es über eine API auf eingehende Daten - wie Bilder oder Text - über eine API und gibt die Vorhersagen des Modells zurück. Dieser Prozess ermöglicht Softwaresystemen die Nutzung von prädiktive Modellierungsfunktionen sofort und in großem Umfang nutzen.
Ein effektives Modellserving erfordert eine robuste Softwarearchitektur, die in der Lage ist, das Modell in den Speicher zu laden, Hardware-Ressourcen wie Hardware-Ressourcen wie GPUs und Anfragen effizient zu verarbeiten. Während einfache Skripte die Inferenz durchführen können, werden für die produktionsgerechte Bereitstellung häufig spezialisierte Frameworks wie das NVIDIA Triton Inference Server oder TorchServe. Diese Tools sind für einen hohen Durchsatz und niedrige Inferenzlatenz optimiert und stellen sicher, dass Anwendungen auch bei hoher Benutzerlast reaktionsschnell bleiben.
Ein umfassendes Serving-Setup umfasst mehrere verschiedene Ebenen, die zusammenarbeiten, um zuverlässige Vorhersagen zu liefern.
Um ein Modell effektiv zu nutzen, ist es oft von Vorteil, es in ein standardisiertes Format zu exportieren, wie ONNXzu exportieren, was die Interoperabilität zwischen verschiedenen Trainingsframeworks und Serving Engines fördert. Das folgende Beispiel zeigt, wie man Laden einer YOLO11 Modell zu laden und eine Inferenz durchzuführen, die die Logik simuliert die innerhalb eines Serving-Endpunktes existieren würde.
from ultralytics import YOLO
# Load the YOLO11 model (this would happen once when the server starts)
model = YOLO("yolo11n.pt")
# Simulate an incoming request with an image source
image_source = "https://ultralytics.com/images/bus.jpg"
# Run inference to generate predictions
results = model.predict(source=image_source)
# Process and return the results (e.g., bounding boxes)
for box in results[0].boxes:
print(f"Class: {box.cls}, Confidence: {box.conf}")
Model Serving ermöglicht allgegenwärtige KI-Funktionen in verschiedenen Branchen, indem es sofortige Entscheidungen auf der Grundlage von Daten ermöglicht. Daten.
Auch wenn der Begriff oft synonym verwendet wird, muss zwischen der Bereitstellung von Modellen und der Modellbereitstellung. Die Bereitstellung bezieht sich auf den umfassenderen Prozess der Freigabe eines Modells in einer Produktionsumgebung, der Schritte wie Testen, Verpacken und Einrichten Einrichtung der Infrastruktur. Model Serving ist der spezielle Laufzeitaspekt des Deployments - die tatsächliche Ausführung des Modells und die Bearbeitung von Anfragen.
Ein wirksamer Dienst erfordert auch eine laufende Modellüberwachung zur detect Datenabweichung, wenn die Verteilung der eingehenden Daten von den Trainingsdaten abweicht, was möglicherweise Genauigkeit verschlechtern. Moderne Plattformen, wie die kommende Ultralytics Platform, zielen darauf ab, diese Phasen zu vereinheitlichen und bieten nahtlose nahtlose Übergänge vom Training zur Bereitstellung und Überwachung.
Die Wahl der Serving-Strategie hängt stark vom jeweiligen Anwendungsfall ab. Online Serving bietet sofortige Antworten für benutzerseitige Anwendungen, erfordert aber eine geringe Latenzzeit. Umgekehrt verarbeitet Batch Serving große Datenmengen offline, was sich für Aufgaben wie die nächtliche Berichterstellung eignet, bei denen eine sofortige Rückmeldung nicht entscheidend ist. Für Anwendungen, die auf dezentraler Hardware, wie Drohnen oder Mobiltelefonen, eingesetzt werden, Edge AI verlagert den Serving-Prozess direkt auf das Gerät, Dadurch wird die Abhängigkeit von der Cloud-Konnektivität beseitigt und die Bandbreitenkosten werden gesenkt.
Der Einsatz von Tools wie Prometheus für die Sammlung von Metriken und Grafana für die Visualisierung hilft den Entwicklungsteams track den Zustand ihrer Serving Infrastruktur zu verfolgen und sicherzustellen, dass die Modelle auch Computer-Vision-Fähigkeiten lange nach ihrer ersten Start.