Hauptnavigation

Pages about teaching are available in German only Zurück zu der Liste der Abschlussarbeiten

FastInference: Real-Time Anwendung von Machine Learning Modellen auf Kleinen Geräten

Title FastInference: Real-Time Anwendung von Machine Learning Modellen auf Kleinen Geräten
Description

Maschinelles Lernen (ML) ist heute Teil vieler Alltagsanwendung. In der alltäglichen Arbeit mit ML Modellen sind wir meistens durch die Trainingsgeschwindigkeit dieser Modelle beschränkt wodurch der Fokus vieler Algorithmen auf dem schnellen Training liegt. Wenn ein ML Modell jedoch in den Dauereinsatz in einem Produkt kommen soll, dann spielt die Trainingsgeschwindigkeit eine untergeordnete Rolle da die Modelle schlichtweg während der Anwendung nicht mehr trainiert werden. Hier spielt plötzlich die Anwendungsgeschwindigkeit der ML Modelle eine entscheidende Rolle für die benötigten Ressourcen. Im Rahmen dieser Arbeit sollen Möglichkeiten untersucht werden, wie man die Anwendung von Modellen schneller machen kann z.B durch:

1) Änderungen der Modelleigenschaften vor dem Training (z.B: durch die Einschränkung auf Bits anstatt Floating-Point Gewichte)

2) Änderungen der Modelleigenschaften während des Trainings (z.B: durch Regularisierung)

3) Änderungen der Modelleigenschaften nach dem Training (z.B: durch Quantisierung)

4) Änderungen am Ausführungscode vor der Ausführung (z.B. durch Anpassen das Speicherlayouts)

5) Änderungen an der Ausführungsplatform (z.B: CPU vs GPU vs FPGA)

Die Änderungen müssen immer im Hinblick auf Gütegarantien durch eventuelle Transformationen (z.B: bei einer Quantisierung) und den Speicher und Energieverbrauch untersucht werden. Am LS8 sind bereits verschiedene Arbeiten zu verschiedenen Teilbereichen durchgeführt wurden. Besonders geeignet für eine Bachelorarbeit sind Punkt 3) - 5), da wir hier bereits einiges an Tooling zur Verfügung haben, was aber natürlich NICHT die anderen Punkte ausschließt. Für eine Masterarbeit bietet sich eine Kombination von Teilbereichn an.

 

 

Machine Learning (ML) has become part of our everyday life and is used in many end-user applications. As a ML practitioner we are mostly concerned with the training of new models and thus put a lot of emphasis on fast model training. However, once a model is deployed into practice we usually do not care much about training time, but inference time. In this thesis we want to explore options to improve the inference of ML models, e.g. by

1) Changing model properties before model training (e.g. only using bits to represent weights instead of floating-point)

2) Changing model properties during training (e.g. by regularization)

3) Changing model properties after training (e.g. Quantization after model training)

4) Changing the the code a pre-trained model  (e.g. by changing the memory layout)

5) Changing the runtime environment / (e.g. CPU vs GPU vs FPGA)

These changes can have profound impact on the models performance (runtime, energy and accuracy) and thus must be evaluated with respect to these metrics and - if possible - mathematical guarantees should be given. We already conducted several studies / thesis at LS8 in various of these areas. For a bachelor thesis areas 3) - 5) are ideal, because we already have some tooling support available. However, we are open to any suggestions. For a master thesis a combination of serval areas seems most interesting.

Thesistype Bachelor Masterthesis
Second Tutor Buschjäger, Sebastian
Professor Morik, Katharina
Status Entwurf