Tools und Technologien in MLOps für FMCG: Ein technischer Leitfaden für Entwickler

Jakub Grabski
Jakub Grabski
May 8, 2025
24 min read
Loading the Elevenlabs Text to Speech AudioNative Player...

Einführung

In der Fast-Moving Consumer Goods (FMCG) -Branche ist Machine Learning Operations (MLOps) entscheidend für die Optimierung und Automatisierung des Einsatzes von Machine-Learning-Modellen. Dieser Artikel befasst sich mit den technischen Aspekten der wichtigsten Tools und Technologien, die in MLOPsund konzentriert sich darauf, wie sie von Entwicklern genutzt werden können, um Prozesse im FMCG-Sektor zu rationalisieren.

Überblick über beliebte MLOps-Tools

TensorFlow

TensorFlow ist eine Open-Source-Plattform für maschinelles Lernen, die ein umfassendes Ökosystem von Bibliotheken, Tools und Community-Ressourcen bietet. Sie wird häufig für die Entwicklung, das Training und den Einsatz von Modellen für maschinelles Lernen verwendet.

Kernkomponenten:

  • TensorFlow Core: Die primäre API zum Erstellen und Trainieren von Modellen.
  • TensorFlow Extended (TFX): Eine produktionsreife Plattform für den Einsatz von Modellen für maschinelles Lernen.
  • TensorFlow Serving: Ein flexibles, leistungsstarkes Serversystem für Modelle des maschinellen Lernens, das für Produktionsumgebungen entwickelt wurde.
  • TensorFlow Lite: Eine leichte Lösung für mobile und eingebettete Geräte.

Die wichtigsten Funktionen:

  • Eager Execution: Eine unverzichtbare Programmierumgebung, die Operationen sofort evaluiert.
  • Keras-API: Eine übergeordnete API zum Erstellen und Trainieren von Modellen.
  • Vertriebsstrategien: Unterstützung für Schulungen auf mehreren GPUs und verteilten Umgebungen.

Python

importiere Tensorflow als tf

aus Tensorflow Keras importieren

# Definieren Sie ein einfaches sequentielles Modell

Modell = Keras.Sequential ([

keras.layers.Dense (128, Aktivierung = 'Relu', input_shape= (784,)),

keras.layers.dropout (0.2),

keras.layers.Dense (10, Aktivierung = 'Softmax')

])

# Kompilieren Sie das Modell

model.compile (optimizer='adam',

loss = 'sparse_categorical_crossentropy',

metrics= ['Genauigkeit'])

# Trainiere das Modell

model.fit (train_images, train_labels, epochen=5)

# Speichern Sie das Modell

model.save ('mein_modell')
 

Kubernetes

Kubernetes ist ein Open-Source-System zur Automatisierung der Bereitstellung, Skalierung und Verwaltung von containerisierten Anwendungen. Es ist unerlässlich für die Verwaltung komplexer Microservices-Architekturen in MLOps.

Kernkomponenten:

  • Pods: Die kleinsten einsatzfähigen Einheiten, die einen oder mehrere Container enthalten können.
  • Dienste: Definiert einen logischen Satz von Pods und eine Richtlinie, mit der auf sie zugegriffen werden kann.
  • Bereitstellungen: Verwaltet die Bereitstellung von Pods.
  • ConfigMaps and Secrets: Verwaltet Konfigurationsdaten und vertrauliche Informationen.

Die wichtigsten Funktionen:

  • Horizontale Pod-Autoskalierung: Passt die Anzahl der Pods automatisch an die CPU-Auslastung oder andere ausgewählte Metriken an.
  • Helm: Ein Paketmanager für Kubernetes, der bei der Definition, Installation und Aktualisierung komplexer Kubernetes-Anwendungen hilft.

Beispiel für die Verwendung:

Yaml

API-Version: Apps/v1

Art: Einsatz

Metadaten:

Name: meine-ml-App

spezifikation:

Repliken: 3

Selektor:

Labels abgleichen:

App: meine-ml-App

schablone:

Metadaten:

Beschriftungen:

App: meine-ml-App

spezifikation:

Behälter:

— Name: ml-Behälter

Bild: my-ml-image

Anschlüsse:

— Containerport: 8080



API-Version: v1

Art: Service

Metadaten:

Name: my-ml-service

spezifikation:

Selektor:

App: meine-ml-App

Anschlüsse:

— Protokoll: TCP

Anschluss: 80

Zielport: 8080

Typ: LoadBalancer
 

DS STREAM-Implementierung mit Kubernetes

Für einen Kunden im FMCG-Sektor richtete DS Stream eine Webanwendung auf Azure Kubernetes Service (AKS) ein, um Deep-Learning-Modelle leicht zugänglich zu machen. Wir nutzten das horizontale Pod-Autoscaling von Kubernetes, um sicherzustellen, dass die App hohen Datenverkehr reibungslos bewältigen kann, und passten die Ressourcen nach Bedarf an.

In einem anderen Projekt verwendete DS Stream Kubernetes-Namespaces, um Umgebungen getrennt zu halten und Ressourcen in Azure für Modellinferenzaufgaben ordnungsgemäß zuzuweisen. Diese Methode half uns dabei, Ressourcen effizient zu verwalten und durch die gemeinsame Infrastruktur Kosten zu sparen.

MLFlow

MLflow ist eine Open-Source-Plattform für die Verwaltung des gesamten Lebenszyklus des maschinellen Lernens, einschließlich Experimentieren, Reproduzierbarkeit und Bereitstellung.

Kernkomponenten:

  • MLflow Tracking: Zeichnet Experimente auf und fragt sie ab: Code, Daten, Konfiguration und Ergebnisse.
  • MLflow Projects: Ein Format zum wiederverwendbaren und reproduzierbaren Verpacken von Data-Science-Code.
  • MLflow-Modelle: Ein Format zum Paketieren von Modellen für maschinelles Lernen, um sie einfach bereitzustellen.
  • MLflow Registry: Ein zentralisierter Modellspeicher zur kollaborativen Verwaltung des gesamten Lebenszyklus eines MLflow-Modells.

Die wichtigsten Funktionen:

  • Versuchsverfolgung: Log-Parameter, Codeversionen, Metriken und Ausgabedateien.
  • Modellpaketierung: Paketmodelle in verschiedenen Formaten (z. B. Python, R, Java).
  • Bereitstellung: Stellen Sie Modelle auf verschiedenen Plattformen bereit, einschließlich REST-APIs, Cloud-Diensten und Edge-Geräten.

Python

mlflow importieren

importiere mlflow.sklearn

aus sklearn.ensemble importiere randomForestRegressor

# Setze den Namen des Experiments

mlflow.set_experiment ('mein-experiment')

# Starte einen neuen Lauf

mit mlflow.start_run ():

# Trainiere ein Modell

modell = RandomForestRegressor (n_estimators=100)

model.fit (X_Zug, y_Zug)



# Modellparameter protokollieren

mlflow.log_param ('n_estimators', 100)



# Modellmetriken protokollieren

mlflow.log_metric ('rmse', rmse)



# Das Modell protokollieren

mlflow.sklearn.log_model (Modell, 'Random-Forest-Modell')
 

Kubeflow

Kubeflow ist eine Open-Source-Plattform, die entwickelt wurde, um die Bereitstellung von Workflows für maschinelles Lernen auf Kubernetes einfach, portabel und skalierbar zu machen.

Kernkomponenten:

  • Kubeflow Pipelines: Eine Plattform für die Erstellung und Bereitstellung portabler, skalierbarer Workflows für maschinelles Lernen (ML) auf der Basis von Docker-Containern.
  • Katib: Ein Kubernetes-natives Projekt für automatisiertes Hyperparameter-Tuning.
  • KFServing: Ein System zur Bereitstellung von Modellen für maschinelles Lernen auf Kubernetes, optimiert für Inferenz-Workloads.

Die wichtigsten Funktionen:

  • Reproduzierbare Pipelines: Erstellen und verwalten Sie tragbare, skalierbare ML-Workflows.
  • Hyperparameter-Tuning: Automatisieren Sie die Suche nach den besten Hyperparametern.
  • Model Serving: Stellen Sie Modelle mit hoher Leistung und Skalierbarkeit bereit und stellen Sie sie bereit.

Beispiel für die Verwendung:

Python

kfp importieren

von kfp import dsl

@dsl .pipeline (

name='Meine Pipeline',

description='Eine Beispiel-Pipeline'

)

def my_pipeline ():

# Pipeline-Schritte definieren

train_op = dsl.containerOp (

name='Eisenbahnmodell',

image='gcr.io/mein-projekt/train-image:neuest',

argumente= ['—modellverzeichnis', '/mnt/models']

)

serve_op = dsl.containerOp (

name='Modell servieren',

image='gcr.io/mein-projekt/serve-image:neuest',

argumente= ['—modellverzeichnis', '/mnt/models']

)

# Kompiliere die Pipeline

kfp.compiler.compiler () .compile (meine_pipeline, 'meine_pipeline.yaml')
 

DS STREAM-Implementierung mit Kubeflow

In einem Projekt zur Zentralisierung des Betriebs auf der Google Cloud Platform (GCP) verwendete DS Stream Kubeflow, um die Workflows für maschinelles Lernen zu verbessern. Durch die Implementierung von Kubeflow Pipelines haben wir die Bereitstellung von ML-Workflows automatisiert und sie so skalierbar und portabel für verschiedene Cloud-Setups gemacht.

Ein anderes Projekt beinhaltete das Verschieben von Code nach Kubeflow auf GCP. Dieser Prozess umfasste die Trennung von Umgebungen mit Kubernetes-Namespaces, die Verwendung von CI/CD-Branching-Strategien auf GitHub, die Durchführung von Datenvalidierungsprüfungen, das Einrichten von Docker-Images und die Zuweisung von Ressourcen für das Modelltraining. Diese Schritte sorgten für einen reibungslosen und wiederverwendbaren Übergang von der Entwicklung zur Produktion.

Integration von MLOps-Tools in FMCG-Geschäftsprozesse

Die Integration von MLOps-Tools in die FMCG-Geschäftsprozesse umfasst mehrere wichtige Schritte:

Datenaufnahme und -verarbeitung:

  • Verwenden Sie Tools wie Apache Kafka oder Google Pub/Sub für die Datenaufnahme in Echtzeit.
  • Verarbeiten Sie Daten mit Apache Beam oder Spark und speichern Sie verarbeitete Daten in Data Warehouses wie BigQuery oder Snowflake.

Modelltraining und Experimentieren:

  • Verwenden Sie MLFlow oder TensorFlow für Modelltraining und Experimente.
  • Implementieren Sie verteiltes Training mit Kubernetes und TensorFlow.

DS STREAM-Implementierung des Modelltrainings:

DS Stream erstellte eine automatisierte CI/CD-Pipeline mit GitHub Actions, um die Bereitstellung und Skalierung von Worker-Pods in AKS zu verwalten. Durch dieses Setup waren Batch-Inferencing und Modellüberwachung effizient, was eine hohe Leistung und Skalierbarkeit sicherstellte und gleichzeitig die Kosten durch intelligente Ressourcennutzung niedrig hielt.

Bereitstellung und Bereitstellung von Modellen:

  • Stellen Sie Modelle mit KFServing oder TensorFlow Serving bereit.
  • Verwenden Sie Kubernetes, um containerisierte Anwendungen zu verwalten und Skalierbarkeit sicherzustellen.

DS STREAM-Implementierung der Modellbereitstellung:

In einem Projekt bereitete DS Stream Docker-Images vor und richtete die Ressourcenzuweisung für GPU-basierte Modellinferencing in Azure ein. Dieser Ansatz sorgte für eine effiziente Bereitstellung und Skalierung von Worker-Pods auf der Grundlage eingehender Anfragen, was im Vergleich zu herkömmlichen verwalteten Endpunkten zu erheblichen Kosteneinsparungen führte.

Überwachung und Wartung:

  • Implementieren Sie die Überwachung mithilfe von Prometheus und Grafana, um die Modellleistung zu verfolgen.
  • Verwenden Sie MLflow und Kubeflow für die kontinuierliche Modellvalidierung und Neuausbildung.

DS STREAM Implementierung von Überwachung und Wartung

Für die Modellüberwachung verwendete DS Stream OpenTelemetry, um die Anwendungsleistung zu verfolgen und Datenabweichungen zu erkennen. Automatisierte Prozesse für die Neuschulung und Überwachung der Modelle sorgten dafür, dass die eingesetzten Modelle im Laufe der Zeit genau und zuverlässig blieben.

Fazit

Für Entwickler in der FMCG-Branche ist die Beherrschung der Tools und Technologien von MLOps unerlässlich, um die Workflows für maschinelles Lernen zu optimieren und den Geschäftsbetrieb zu verbessern. Durch die Nutzung von TensorFlow, Kubernetes, MLFlow und Kubeflow können Entwickler robuste, skalierbare und effiziente ML-Systeme entwickeln, die ihren Unternehmen einen erheblichen Mehrwert bieten. Das Verständnis der technischen Aspekte und Integrationsstrategien dieser Tools ermöglicht es Entwicklern, Prozesse zu rationalisieren, Betriebskosten zu senken und hochwertige ML-Lösungen bereitzustellen.

Häufig gestellte Fragen: Technischer Leitfaden zu MLOps-Tools und -Technologien für FMCG-Entwickler

1. Was sind die Kernkomponenten von TensorFlow, die in MLOps für die FMCG-Industrie verwendet werden?

  • TensorFlow Core: Die primäre API zum Erstellen und Trainieren von Modellen.
  • TensorFlow Extended (TFX): Eine produktionsreife Plattform für den Einsatz von Modellen für maschinelles Lernen.
  • TensorFlow Serving: Ein Hochleistungs-Serversystem für Produktionsumgebungen.
  • TensorFlow Lite: Eine leichte Lösung für mobile und eingebettete Geräte.

2. Wie hilft Kubernetes bei der Verwaltung von Workflows für maschinelles Lernen im FMCG-Sektor?

  • Kubernetes automatisiert die Bereitstellung, Skalierung und Verwaltung von containerisierten Anwendungen. Es hilft bei der Verwaltung komplexer Microservices-Architekturen, unterstützt die horizontale Pod-Autoskalierung und bietet Tools wie Helm für die Paketierung und Bereitstellung von Kubernetes-Anwendungen.

3. Was ist MLFlow und wie wird es in MLOps für FMCG verwendet?

  • MLflow ist eine Open-Source-Plattform für die Verwaltung des gesamten Lebenszyklus des maschinellen Lernens, einschließlich Experimentieren, Reproduzierbarkeit und Bereitstellung. Sie bietet Komponenten wie MLflow Tracking zum Protokollieren von Experimenten, MLflow Projects zum Paketieren von Code und MLflow Models zum Verpacken und Bereitstellen von Modellen.

4. Welche Vorteile bietet Kubeflow für FMCG-Workflows für maschinelles Lernen?

  • Kubeflow vereinfacht die Bereitstellung von Workflows für maschinelles Lernen auf Kubernetes. Es bietet Komponenten wie Kubeflow Pipelines für die Erstellung und Bereitstellung von ML-Workflows, Katib für das Hyperparameter-Tuning und KFServing für die Bereitstellung von Modellen mit hoher Leistung und Skalierbarkeit.

5. Wie können FMCG-Entwickler MLOps-Tools in Geschäftsprozesse integrieren?

  • Entwickler können MLOps-Tools integrieren, indem sie:
  • Verwenden Sie Tools zur Datenaufnahme wie Apache Kafka oder Google Pub/Sub.
  • Verarbeitung von Daten mit Apache Beam oder Spark und Speicherung in Data Warehouses wie BigQuery.
  • Training und Experimentieren mit Modellen mit MLFlow oder TensorFlow.
  • Bereitstellung von Modellen mit KFServing oder TensorFlow Serving.
  • Überwachung der Leistung mit Prometheus und Grafana und Verwendung kontinuierlicher Validierung und Nachschulung mit MLflow und Kubeflow.
DS Stream banner with the text 'Make Accurate and Timely Decisions' and a 'Learn More' button, featuring an illustration of data analysis.

[/vc_column_text] [/vc_column] [/vc_row]

Share this post
DevOps
Jakub Grabski
MORE POSTS BY THIS AUTHOR
Jakub Grabski

Curious how we can support your business?

TALK TO US