Nane Kratzke

Thesis:

Bereitstellung von Huggingface KI-Modellen in Form eines REST-basierten Microservices

Published: 09 Aug 2022 (latest update: 31 Jan 2024)
Type: Bachelor (B. 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 untersucht und demonstriert werden, ob und wie durch die Community auf Huggingface bereit gestellte Modelle für eine der folgenden Aufgaben in Form eines REST-basierten Microservices bereitgestellt werden kann.

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 REST-API in Form eines Microservice bereitzustellen.

  • Der Microservice soll auf Hugging Face bereitgestellte und bereits trainierte Modelle für das Inferencing mittels einer REST-API bereitstellen.
  • Die Funktionalität des KI-Modells 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 Personen bearbeitet werden, sofern unterschiedliche Aufgaben aus der Menge oben genannter Aufgaben gewählt werden.