ML-Modell bedienen

Objective

After completing this lesson, you will be able to mL-Modell in SAP AI Core implementieren und die Deployment-URL für die Herleitung verwenden

Modellimplementierung in SAP AI Core

Nachdem ein Modell trainiert wurde, d.h., es hat (ausgeblendete) Muster aus dem bereitgestellten Datenset gelernt, muss das Modell implementiert werden. Durch das Deployment des Modells können Sie neue Daten an das Modell senden und eine „Vorhersage" für den angegebenen Datensatz erhalten. Dies wird auch als Model Serving oder Inferencing bezeichnet.

Ein Kubernetes-Cluster kann so konfiguriert werden, dass er sowohl CPU- (billig) als auch GPU-Container für Model Serving bereitstellt.

Darüber hinaus kann eine große Anzahl von Anforderungen gleichzeitig an den Modellserver gesendet werden. Um diese „Inferenz"-Requests zeitnah zu verarbeiten, ermöglicht Kubernetes die Skalierung des Model Servers „on demand".

Hier gibt es zwei Fälle:

  • Automatische Skalierung: Hinzufügen (Klonen) neuer Container bei Bedarf.

  • Auf Null skalieren: ermöglicht Kosteneffizienz und Bezahlung pro Nutzung durch Abschalten von Leerlaufcontainern.

Das Implementieren eines Modells in SAP AI Core besteht darin, eine Webanwendung zu schreiben, die die Inferenzanfragen über einen im Internet exponierten Endpunkt bedienen kann, der auf der Kubernetes-Infrastruktur leicht skaliert werden kann.

Schritte zum Deployment eines trainierten Modells: Übermitteln Sie eine Serving-Vorlage, um die Deployment-URL zu erhalten, die in jeder App für die Modellinferenz verwendet werden kann.

Servierende Anwendung

Um ein Modell zu bedienen, programmieren und entwickeln Sie eine dienende Anwendung, die in Form eines Containers ausgeführt wird.

Alles beginnt mit einer Inferenzanfrage, die an einen Endpunkt gesendet wird. Intern muss die Webanwendung die im Hauptteil des Aufrufs enthaltenen Daten interpretieren und dann das Modell aus dem Hyperscaler-Objektspeicher abrufen, auf die Daten anwenden und die Vorhersage in eine Antwort verpacken, die von einem benutzerdefinierten Service verwendet wird.

Beschreibung des Workflows Serving Application: Wenn Daten vom Modellserver empfangen werden, können die Daten vorverarbeitet werden, z.B. normalisiert werden, bevor sie in das Modell eingespeist und das Inferenzergebnis abgerufen werden.

Notiz

Während es verschiedene Möglichkeiten der Herleitung gibt (d.h. Batch-Inferenz), wird hauptsächlich die Online-Herleitung mit einem exponierten Endpunkt (AI-API) untersucht, den der Endbenutzer über einen HTTP-Request aufruft.

Quelltext ist von grundlegender Bedeutung, aber wie bereits erwähnt, wird der Modellserver, der implementiert wird, durch eine bestimmte Vorlage definiert. Diese in sich abgeschlossene Vorlage erstellt eine ausführbare Datei mit der Definition der erforderlichen Parameter, des auszuführenden Containers, der zum Starten der Webanwendung erforderlichen Ressourcen und der Anzahl der Replikate des zu startenden Modellservers.

Diese Kombination der entsprechenden ausführbaren Datei mit Bezug auf das zu verwendende Modell ermöglicht es SAP AI Core, Ihre Implementierung zu starten.

Wenn der Modellserver ausgeführt wird und die Deployment-URL bereit ist, ist der letzte Schritt des ML-Workflows in SAP AI Core die Verwendung des Modells über den exponierten Endpunkt. Das API kann einfach in jede Geschäftsanwendung über einen HTTP-Request wie ein Jupyter Notebook, Postman oder eine CAP-Anwendung usw. integriert werden.

Entwickeln Sie mit SAP AI Core einen Prädiktor für den Hauspreis