Machine Learning Operations (MLOps)
Entdecken Sie die Leistungsfähigkeit von MLOps: Optimieren Sie die ML-Modellbereitstellung, automatisieren Sie Workflows, gewährleisten Sie Zuverlässigkeit und skalieren Sie den KI-Erfolg effizient.
Machine Learning Operations (MLOps) ist eine Reihe von Praktiken, die darauf abzielen, Modelle für maschinelles Lernen (ML) zuverlässig und effizient in der Produktion bereitzustellen und zu warten. Inspiriert von DevOps-Prinzipien, wendet MLOps ähnliche Konzepte auf den gesamten Lebenszyklus von KI-Modellen an, von der Datenerfassung und dem Modelltraining bis hin zur Bereitstellung und Überwachung. Das Hauptziel ist die Automatisierung und Straffung der Prozesse, die erforderlich sind, um ein ML-Modell von einem Forschungsprototypen zu einer robusten, skalierbaren Produktionsanwendung zu machen. Dies stellt sicher, dass Modelle nicht nur anfänglich gut funktionieren, sondern auch im Laufe der Zeit effektiv bleiben, wenn neue Daten verfügbar werden.
MLOps vs. verwandte Konzepte
Es ist wichtig, MLOps von verwandten, aber unterschiedlichen Konzepten zu unterscheiden:
- MLOps vs. AutoML: Obwohl sie zusammenarbeiten können, ist ihr Fokus unterschiedlich. Automated Machine Learning (AutoML) konzentriert sich auf die Automatisierung des Modellerstellungsprozesses, wie z. B. Datenvorverarbeitung, Feature Engineering und Hyperparameter-Optimierung. MLOps hingegen deckt den gesamten Lebenszyklus ab, einschließlich dessen, was nach der Erstellung des Modells kommt, wie z. B. Modellbereitstellung, Überwachung und Governance. AutoML kann als ein Tool innerhalb eines größeren MLOps-Frameworks betrachtet werden, das die Entwicklungsphase beschleunigt.
- MLOps vs. DevOps: MLOps ist eine Spezialisierung von DevOps, die auf die besonderen Bedürfnisse des maschinellen Lernens zugeschnitten ist. Während sich DevOps auf die Automatisierung der Softwareauslieferung durch Continuous Integration und Continuous Deployment (CI/CD) konzentriert, erweitert MLOps dieses Paradigma um die Daten- und Modellpipelines. Es werden Herausforderungen angegangen, die in der traditionellen Softwareentwicklung nicht typisch sind, wie z. B. Data Drift, Modellversionierung und die Notwendigkeit des kontinuierlichen Nachtrainings.
Anwendungsfälle in der Praxis
MLOps-Praktiken sind für die Verwaltung komplexer ML-Systeme in Produktionsumgebungen unerlässlich.
- Empfehlungssysteme: Unternehmen wie Netflix oder Spotify nutzen MLOps, um die Modelle ihrer Empfehlungssysteme auf der Grundlage neuer Nutzerinteraktionsdaten kontinuierlich neu zu trainieren. MLOps-Pipelines ermöglichen ihnen A/B-Tests verschiedener Modellversionen, die Überwachung von Interaktionsmetriken und das schnelle Zurücksetzen leistungsschwacher Modelle, um sicherzustellen, dass die Empfehlungen aktuell und personalisiert bleiben.
- Betrugserkennung: Finanzinstitute setzen MLOps ein, um Modelle zur Betrugserkennung zu verwalten. Dies umfasst die Überwachung von Transaktionsdaten auf neue Muster betrügerischer Aktivitäten, das automatische Retraining von Modellen mit neuen Daten, die Sicherstellung einer geringen Inferenzlatenz für die Echtzeit-Erkennung und die Aufrechterhaltung von Audit-Trails zur Einhaltung gesetzlicher Vorschriften. Ultralytics YOLO-Modelle, die in visuellen Inspektionssystemen verwendet werden und in die Betrugserkennung einfließen können, profitieren ebenfalls von MLOps für die Bereitstellung und Überwachung auf Edge-Geräten.
Tools und Plattformen
Eine Vielzahl von Tools unterstützt verschiedene Phasen des MLOps-Lebenszyklus und ermöglicht es Teams, effiziente und skalierbare Workflows zu erstellen.
- Experimentverfolgung & Versionierung: MLflow, Weights & Biases und Data Version Control (DVC) sind beliebt für die Verfolgung von Experimenten und die Versionierung von Daten und Modellen. Ultralytics bietet eine native Integration mit vielen dieser Tools, einschließlich Weights & Biases.
- Workflow-Orchestrierung: Tools wie Kubeflow Pipelines und Apache Airflow helfen bei der Automatisierung und Verwaltung komplexer ML-Workflows.
- Modellbereitstellung: Für die Bereitstellung von Modellen im großen Maßstab werden häufig Plattformen wie KServe, BentoML und NVIDIA Triton Inference Server verwendet. Ultralytics-Modelle können in Formate wie ONNX exportiert werden, um die Kompatibilität mit diesen Servern zu gewährleisten.
- Überwachung: Grafana und Prometheus werden häufig verwendet, um Dashboards zur Überwachung der Modellleistung und des Systemzustands zu erstellen.
- End-to-End-Plattformen: Umfassende Plattformen wie Amazon SageMaker, Google Cloud AI Platform, Microsoft Azure Machine Learning und Ultralytics HUB bieten integrierte Umgebungen, die die meisten, wenn nicht alle, MLOps-Phasen abdecken, von der Datenverwaltung bis zur Modellbereitstellung und -überwachung. Diese Plattformen nutzen Cloud Computing, um skalierbare Ressourcen für das Training von benutzerdefinierten Modellen bereitzustellen.