Erfahren Sie, wie Model Serving die Lücke zwischen trainierten Modellen und der Produktion schließt. Entdecken Sie Bereitstellungsstrategien für Ultralytics auf der Ultralytics .
Model Serving ist der Prozess, bei dem ein trainiertes Machine-Learning-Modell gehostet und seine Funktionalität Softwareanwendungen über eine Netzwerkschnittstelle zur Verfügung gestellt wird. Es fungiert als Brücke zwischen einer statischen Modelldatei, die auf einer Festplatte gespeichert ist, und einem Live-System, das reale Daten verarbeitet. Sobald ein Modell die Trainingsphase des maschinellen Lernens (ML) abgeschlossen hat, muss es in eine Produktionsumgebung integriert werden, in der es Eingaben – wie Bilder, Text oder tabellarische Daten – empfangen und Vorhersagen zurückgeben kann. Dies wird in der Regel erreicht, indem das Modell in eine Anwendungsprogrammierschnittstelle (API) eingebunden wird, die es ihm ermöglicht, mit Webservern, mobilen Apps oder IoT-Geräten zu kommunizieren.
Das Hauptziel des Model Serving ist die effektive Operationalisierung von Predictive-Modeling-Funktionen. Während beim Training der Fokus auf Genauigkeit und Verlustminimierung liegt, konzentriert sich das Serving auf Leistungskennzahlen wie Latenz (wie schnell eine Vorhersage zurückgegeben wird) und Durchsatz (wie viele Anfragen pro Sekunde bearbeitet werden können). Eine robuste Serving-Infrastruktur stellt sicher, dass Computer-Vision-Systeme (CV) auch unter hoher Last zuverlässig bleiben . Dazu werden häufig Technologien wie die Containerisierung mit Tools wie Docker eingesetzt, die das Modell mit seinen Abhängigkeiten paketieren , um ein konsistentes Verhalten in verschiedenen Computing-Umgebungen zu gewährleisten.
Model Serving ermöglicht allgegenwärtige KI-Funktionen in verschiedenen Branchen, indem es sofortige Entscheidungen auf der Grundlage von Daten ermöglicht. Daten.
Um ein Modell effektiv zu nutzen, ist es oft vorteilhaft, Modelle in ein standardisiertes Format wie ONNXzu exportieren, das die Interoperabilität zwischen verschiedenen Trainingsframeworks und Serving-Engines fördert. Das folgende Beispiel zeigt, wie Sie ein Modell laden und eine Inferenz ausführen können, wobei die Logik simuliert wird, die in einem Serving-Endpunkt mit Python.
from ultralytics import YOLO
# Load the YOLO26 model (this typically happens once when the server starts)
model = YOLO("yolo26n.pt")
# Simulate an incoming API request with an image source URL
image_source = "https://ultralytics.com/images/bus.jpg"
# Run inference to generate predictions for the user
results = model.predict(source=image_source)
# Process results (e.g., simulating a JSON response to a client)
print(f"Detected {len(results[0].boxes)} objects in the image.")
Die Wahl der Serving-Strategie hängt stark vom jeweiligen Anwendungsfall ab. Online Serving bietet sofortige Antworten über Protokolle wie REST oder gRPC, was für benutzerorientierte Webanwendungen unerlässlich ist. Umgekehrt verarbeitet Batch Serving große Datenmengen offline, was für Aufgaben wie die nächtliche Berichterstellung geeignet ist . Für Anwendungen, die Datenschutz oder geringe Latenz ohne Internetabhängigkeit erfordern, verlagert Edge AI den Serving-Prozess direkt auf das Gerät und nutzt dabei optimierte Formate wie TensorRT , um die Leistung auf eingeschränkter Hardware zu maximieren. Viele Unternehmen nutzen die Ultralytics , um die Bereitstellung dieser Modelle auf verschiedenen Endpunkten, einschließlich Cloud-APIs und Edge-Geräten, zu vereinfachen.
Obwohl eng miteinander verbunden, unterscheidet sich „Model Serving” von Model Deployment und Inference.