Nane Kratzke

Thesis:

Bereitstellung von Huggingface KI-Modellen in Form eines GraphQL-basierten Service-Portfolios

Published: 09 Aug 2022 (latest update: 09 Aug 2022)
Type: Master (M. Sc.)
State: open
Study: Informatik
Language: Deutsch
Company: myLab

Huggingface ist eine Online-Plattform für die KI-Community, die es ermöglicht, Modelle zu erstellen, zu trainieren und bereitzustellen, die auf Open-Source-Referenzdaten für maschinelles Lernen und neuronalen Netzen basieren. Solche (oder ähnliche Modelle) werden bislang häufig in Form von Programmbibliotheken (oft Python) zur Verfügung gestellt und müssen somit programmatisch genutzt werden. Oft ist dabei die Sprachbindung ein Problem, insbesondere wenn oben genannte Funktionalitäten in Komponenten erforderlich werden, die nicht in Python implementiert wurden oder diese Bibliotheken auf Devices ausgeführt werden müssen, die bspw. keine geeignete Hardware (z. B. Mobile Devices ohne GPU) für das Inferencing haben. In diesen Fällen kann eine Auslagerung in externe Remote-Services sinnvoll sein.

Im Rahmen dieser Abschlussarbeit soll daher untersucht werden, wie eine Menge von AI-Services mittels einer einheitlich nutzbaren GraphQL-basierten Schnittstelle für die folgenden Aufgaben bereitgestellt werden kann, so dass sich diese in KI-basierten Anwendungen kombinieren lassen.

Natural Language Processing:

  • Fill-Mask
  • Question-Answering
  • Sentence Similarity
  • Summarization
  • Text Classification
  • Text Generation
  • Token Classification
  • Translation

Audio:

  • Audio Classification
  • Audio-to-Audio
  • Automatic Speech Recognition (Speech-to-Text)
  • Text-to-Speech

Computer Vision:

  • Image Classification
  • Image Segmentation
  • Object Detection

Ziel dieser Arbeit ist es, derartige KI-Modelle webbasiert mittels einer Web UI und einer GraphQL-basierten API bereitzustellen. Hierzu ist

  • eine repräsentative Auswahl von oben genannter Aufgaben durch Microservices für das Inferencing mittels einer HTTP-basierten GraphQL-API bereitgestellt werden.
  • Die Funktionalität soll ergänzend im Rahmen einer Web UI demonstriert werden.
  • Die Lösung soll in Kubernetes automatisiert deploybar sein. Eine entsprechende Infrastruktur wird im Rahmen der Abschlussarbeit bereitgestellt werden. Die Implementierung ist vorzugsweise mittels Python vorzunehmen.

Im Sinne des Open Source Gedankens sollte die Autor:in anstreben, die Lösung als Open Source Projekt im Anschluss der Arbeit der Allgemeinheit zur Verfügung zu stellen und über die Abschlussarbeit hinaus als Open Source Produkt fortzuführen.

Hinweis: Die Arbeit kann von mehreren bearbeitet werden, sofern die zur Demonstration genutzte repräsentative Auswahl oben genannter Aufgaben nicht deckungsgleich ist.