Hauptinhalt
Topinformationen
Bachelor- und Masterarbeiten im Bereich "Ressourceneffizientes Maschinelles Lernen"
KI-Systeme auf Basis künstlicher neuronaler Netze haben in vielen Anwendungsbereichen Lösungen mit bisher nicht erreichter Qualität ermöglicht. Bild-, Text- oder Spracherkennung sowie die vielfältigen Herausforderungen im Bereich des autonomen Fahrens sind nur einige Beispiele für aktuelle Einsatzgebiete. Möglich wurde der rasante Fortschritt in diesem Bereich insbesondere durch die Verfügbarkeit riesiger Datenmengen für das Training der künstlichen neuronalen Netze und die enorme Rechenleistung moderner paralleler Computerarchitekturen. Eine wichtige Voraussetzung für das Etablieren neuer Einsatzgebiete ist eine massive Verbesserung der Energieeffizienz. Aktuell findet ein Großteil der Berechnungen für Training und Inferenz (die Anwendung des Gelernten) in der Cloud, d. h. in Rechenzentren statt. Die Reduzierung des Energiebedarfs ist nicht nur aus ökologischer Sicht ein zentrales Forschungsziel, sie macht vielmehr eine Vielzahl von Anwendungen erst möglich, für die ein Auslagern von Daten in die Cloud nicht gangbar ist. Gründe dafür sind beispielsweise kurze geforderte Antwortzeiten beim autonomen Fahren oder im Bereich der Automatisierungstechnik (Industrie 4.0) sowie Schutz der gesammelten Daten oder der Privatsphäre.
Vor diesem Hintergrund bietet die Arbeitsgruppe Technische Informatik Bachelor- und Masterarbeiten an, die sich mit neuen Hardwareplattformen für KI und mit deren Programmierung und Evaluierung befassen. Einige Beispiele sind im Folgenden exemplarisch skizziert.
Aktuelle Themen für Bachelor- und Masterarbeiten
- FPGA-Implementierung von State-of-the-Art Reinforcement Learning Algorithmen (Masterarbeit)
- Flexibles Reinforcement Learning Environment auf FPGA (Bachelorarbeit)
- Neural Network Training mit Brackpropagation auf FPGA (Bachelor- oder Masterarbeit)
- Energieeffizienz von Edge-Plattformen für KI (Bachelorarbeit)
- Maschinelles Lernen für Bildverarbeitung mit FPGAs (Bachelor- oder Masterarbeit)
- Miniroboter-Plattform mit Embedded-GPUs oder FPGAs (Bachelor- oder Masterarbeit)
- Neue Speichertechnologien für ML-Hardware (Bachelor- oder Masterarbeit)
- Eine skalierbare Plattform für Cognitive Edge Computing (Bachelorarbeit)
FPGA-Implementierung von State-of-the-Art Reinforcement Learning Algorithmen (Masterarbeit)
Reinforcement Learning ist eine Unterkategorie von Machine Learning, in der ein Agent lernt, auf intelligente Weise mit seiner Umwelt zu interagieren. Oft benötigen Reinforcement Learning Algorithmen viel Zeit zum Training, bis ein adäquates Ergebnis geliefert werden kann. Um das Training zu beschleunigen, können Reinforcement Learning Algorithmen auf FPGAs realisiert werden. Dafür bieten sich vor allem Deep Reinforcement Learning (DRL) Algorithmen an, die zum Lernen neuronale Netze verwenden. Es gibt eine ganze Reihe aktuell relevanter DRL Algorithmen und für einige davon gibt es noch keine FPGA Implementationen. Ziel der Arbeit ist es, eine erste FPGA Implementierung für einen dieser Algorithmen anzufertigen. Der Entwurf erfolgt unter Einsatz aktueller Entwurfswerkzeuge auf Register-Transfer- oder HLS-Ebene.
Ansprechpartner: Marc Rothmann, Mario Porrmann
Flexibles Reinforcement Learning Environment auf FPGA (Bachelorarbeit)
Für die Evaluation von Reinforcement Learning Algorithmen werden häufig Sammlungen von Trainingsumgebungen wie beispielsweise OpenAI Gym oder das Atari Learning Environment (ALE) verwendet. Für das Training von Reinforcement Learning Algorithmen auf FPGAs kann die Anbindung von Software-basierten Trainingsumgebungen zu ungewolltem Kommunikationsoverhead führen. Deshalb sollen in dieser Arbeit flexibel parametrierbare, Hardware-basierte Trainingsumgebungen, nach Vorbild populärer Umgebungen aus zum Beispiel OpenAI Gym, entwickelt und getestet werden. Der Entwurf erfolgt unter Einsatz aktueller Entwurfswerkzeuge auf Register-Transfer- oder HLS-Ebene.
Ansprechpartner: Marc Rothmann, Mario Porrmann
Neural Network Training mit Brackpropagation auf FPGA (Bachelor- oder Masterarbeit)
Künstliche neuronale Netze sind ein Machine Learning Ansatz, der in vielfältigen Bereichen angewendet werden kann. Häufig wird das Training dabei mit GPUs beschleunigt. Wenn neuronale Netze auf FPGAs angewendet werden, geht es meistens um die Beschleunigung der Inferenzphase. In dieser Arbeit soll ein Beschleuniger für das Training von neuronalen Netzen auf FPGAs implementiert und die Funktionsweise an einer Beispielanwendungen demonstriert werden. Der Entwurf erfolgt unter Einsatz aktueller Entwurfswerkzeuge auf Register-Transfer- oder HLS-Ebene.
Ansprechpartner: Marc Rothmann, Mario Porrmann
Energieeffizienz von Edge-Plattformen für KI (Bachelorarbeit)
Neue, auf KI-Anwendungen zugeschnittene Hardwareplattformen, wie beispielsweise NVIDIA Jetson Nano oder Google Coral ermöglichen den Einsatz künstlicher neuronaler Netze in eingebetteten Systemen unabhängig von der Cloud. Die neuen Architekturen reichen von herkömmlichen Prozessoren mit eingebetteten GPUs bis hin zu Spezialprozessoren, die explizit für das maschinelle Lernen optimiert sind. Im Rahmen der angebotenen Arbeiten wählen wir gemeinsam Kombinationen aus Programmierumgebungen und Architekturen aus und Sie analysieren die Ressourceneffizienz und Flexibilität der Plattformen am Beispiel einer Anwendung aus dem Bereich der Bild- oder Sprachverarbeitung.
Ansprechpartner: Marco Tassemeier, Mario Porrmann
Maschinelles Lernen für Bildverarbeitung mit FPGAs (Bachelor- oder Masterarbeit)
FPGAs sind eine interessante Alternative zu herkömmlichen Prozessoren. Mit vielen tausend internen Verarbeitungseinheiten ermöglichen die Bausteine massiv-parallele Verarbeitung und versprechen dabei eine deutlich höhere Leistungsfähigkeit und Energieeffizienz als alternative Architekturen. Ziel der Arbeit ist es, die Effizienz dieser rekonfigurierbaren Architekturen am Beispiel einer Video-basierten Objekterkennung zu analysieren und zu optimieren. Die Programmierung erfolgt unter Einsatz aktueller Entwurfswerkzeuge, wie beispielsweise TensorFlow, wahlweise unterstützt durch FPGA-Architekturerweiterungen auf Register-Transfer-Ebene oder in C/C++ mit anschließender High-Level-Synthese.
Ansprechpartner: Marco Tassemeier, Mario Porrmann
Neue Speichertechnologien für ML-Hardware (Bachelor- oder Masterarbeit)
Machine-Learning-Algorithmen, insbesondere tiefe neuronale Netze, lassen sich auf massiv-paralleler Hardware, wie beispielsweise GPUs oder FPGAs, stark beschleunigen. Um die Parallelität der Hardware effektiv zu nutzen, muss sie mit einer erheblichen Menge an Daten aus dem Speicher versorgt werden, so dass die Speicherbandbreite zu einem begrenzenden Faktor werden kann. Im Rahmen dieser Arbeit sollen daher neue Speichertechnologien, wie beispielsweise High-Bandwidth-Memory, oder alternative Architekturansätze, wie near-Memory-Computing, für den Einsatz in Hardwarebeschleunigern für ML evaluiert und prototypisch umgesetzt werden.
Ansprechpartner: Marc Rothmann, Mario Porrmann
Eine skalierbare Plattform für Cognitive Edge Computing (Bachelorarbeit)
Im Rahmen dieser Arbeit soll eine neue Hardwareplattform entwickelt werden. Sie entwerfen eine eigene Leiterplatte, die im Rahmen der Arbeit professionell gefertigt und anschließend von Ihnen getestet wird. Ziel ist es, eine neue modulare Plattform für den Einsatz in eingebetteten Systemen (beispielsweise in mobilen Robotern) zu konzipieren und zu realisieren. Die Modularität soll die einfache Kombination unterschiedlicher Architekturen, wie z. B. GPUs, FPGAs und Prozessoren ermöglichen. Für die Module setzen wir auf kompakte, kommerziell verfügbare Systeme. Sie müssen sich daher in erster Linie um die Kommunikation zwischen den Modulen und die Schnittstellen zur Außenwelt kümmern.
Ansprechpartner: Marco Tassemeier, Mario Porrmann