Ausgangssituation:

MLOps steht für Machine Learning Operations und ist ein Paradigma, das sich mit der Automatisierung, Operationalisierung und Skalierung von Machine Learning-Modellen befasst. In der fertigenden Industrie kann MLOps dazu beitragen, komplexe Produktionsprozesse zu optimieren, indem es möglich wird, enorme Datenmengen effektiv zu verarbeiten und zu analysieren. Dabei werden Maschinelles Lernen, Cloud-Computing und DevOps-Methoden miteinander verbunden, um eine nahtlose Integration von ML-Modellen in den Produktionsprozess zu ermöglichen. Eine erfolgreiche Umsetzung von MLOps erfordert ein tiefes Verständnis von Machine Learning-Modellen und der zugrunde liegenden Dateninfrastruktur sowie das Wissen, wie man sie mit anderen Komponenten wie Container-Orchestrierung und Continuous Integration/Continuous Deployment-Pipelines integriert. Die Fähigkeit, diese Technologien effektiv zu nutzen, kann dazu beitragen, die Effizienz und Qualität von Produktionsprozessen zu steigern und den Wettbewerbsvorteil von Unternehmen zu erhöhen.

Mögliche Aufgabenstellungen:

Im Rahmen des Forschungsprojekts ergeben sich einige mögliche Aufgabenschwerpunkte, welche je aus einer strukturierten Literaturrecherche, Konzeptionierung und Implementierung bestehen. Von folgenden Themen wird lediglich eines im Rahmen einer studentischen Arbeit betrachtet:

  • Continuous Integration (CI): Erarbeitung eines modularen Frameworks zum Einsatz verschiedener CI-Tools wie GitHub Actions, GitLab CI, Jenkins, CircleCI etc. zur Durchführung von Pre-Commit-Tests, Unit-Tests, Smoke-Tests etc. Der Fokus liegt auf der Entwicklung verschiedener CI-Pipeline-Templates, welche modular zusammengesetzt werden können.
  • Continuous Delivery (CD): Erarbeitung eines modularen Frameworks zum Einsatz verschiedener CD-Tools wie FluxCD oder ArgoCD. Der Fokus liegt auf der Bereitstellung von ML-Modellen auf Basis des GitOps-Paradigmas und der Erarbeitung von Best Practices im Umgang mit Helm Templates, Kustomize Overlays und Jsonnet Konfigurationen.
  • Continuous Training (CT): Konzeptionierung und Implementierung verschiedener Pipelines zum automatischen Trainieren von bestehenden neuronalen Netzen. Die Pipelines sollen über verschiedene Events und Trigger ausgelöst werden. Hierfür sind Tools wie Argo Workflows oder Kubeflow denkbar.
  • Monitoring: Erarbeitung relevanter Metriken von bereitgestellen neuronalen Netzen und Umsetzung von Dashboards in Tools wie Grafana, Kibana etc. Relevante Metriken umfassen beispielsweise Latenz, Durchsatz, Fehlerrate, Speichernutzung, CPU/GPU/TPU-Auslastung,  Netzwerkauslastung und Skalierbarkeit. Die Metriken werden über Prometheus abgefragt.
  • Linux Kernel Tracing: Integration des extended Berkeley Packet Filters (eBPF) um die Sicherheit, Netzwerktechnik und Überwachbarkeit direkt im Linux Kernel zu steigern.
  • Hyperparameteroptimierung: Das Ziel besteht in der Möglichkeit zur verteilten Hyperparameteroptimierung eines Modells mittels Ray oder der verteilten Datenvorverarbeitung mittels Apache Spark auf mehreren Grafikkarten. Zudem sollen relevanter Maßnahmen für Modellparallelisierung (Data Parallelism, Pipeline Parallelism, Tensor Parallelism, Expert Parallelism) erarbeitet werden. Alternativ kann an der Erarbeitung eines Frameworks zur automatischen Identifizierung und Variierung von Hyperparametern von neuronalen Netzen gearbeitet werden.
  • Cloud-native Implementierung: Implementierung eines der Tools Cloud-nativ in Kubernetes.
  • Public Key Infrastructure (PKI): Literaturrecherche und Aufsetzen einer Public Key Infrastructure zur Gewährleistung sicherer Kommunikation in einer Cloud-Edge-Umgebung in der Fertigung.
  • Auto-Labeling: Automatisierung des Labeling-Prozesses in Label Studio durch Entwicklung eines abstrahierten Inferenzservers.
  • Virtualisierung: Implementierung von GPU-fähiger Virtualisierung für Modellinferenz mittels QEMU, KVM und libvirt. Alternativ kann an der Minimierung der Größe von Docker Images gearbeitet werden.
  • User Interface: Entwicklung eines User Interfaces zur Bereitstellung neuronaler Netze und Konfiguration der beteiligten Technologien. Hierfür sollte Interesse an der Frontend-Entwicklung in SvelteVue, React oder Angular mitgebracht werden.

Unabhängig vom Schwerpunkt wird an der Mitgestaltung einer MLOps Plattform mitgewirkt. Nähere Informationen sowie Beginn und Umfang der Arbeit können im Rahmen eines persönlichen Gesprächs diskutiert werden. Eine Konkretisierung des Themas erfolgt nach Absprache der persönlichen Interessen. Alle Schwerpunkte können remote bearbeitet werden. Die Infrastruktur für alle aufgelisteten Tools wird durch den Betreuer bereitgestellt.

Hinweise zur Bewerbung:

  • Interesse an DevOps/MLOps und/oder Machine Learning
  • Möglichkeit der Einarbeitung gegeben; hierfür werden nach Absprache über den vorhandenen Wissensstand praxisnahe Online-Kurse und Bücher bereitgestellt
  • Hohe Motivation, Neugierde sowie strukturierte Arbeitsweise
  • IT-Affinität sowie Erfahrung in mindestens einer Programmiersprache wünschenswert (z.B. Python oder Golang)
  • Deutsch oder Englisch in Wort und Schrift von elementarer Bedeutung
  • Hier bewerben / Apply here: Do not change the subject of the e-mail. Your application will then not be considered.

Weitere interessante Themenstellungen im Bereich Machine Learning Operations und Deep Learning sind hier gelistet. Literaturrecherchen sind zu all diesen Themen ebenfalls nach Absprache möglich.

Kategorien:

Forschungsbereich:

Art der Arbeit:

Bachelorarbeit, Diplomarbeit, Hauptseminar, Masterarbeit, Projektarbeit

Studiengang:

Energietechnik, Informatik, IPEM, Maschinenbau, Mechatronik, Wirtschaftsingenieurwesen

Technologiefeld:

Künstliche Intelligenz und Maschinelles Lernen, Software Engineering und Deployment

Kontakt: