Institut für Technik der Informationsverarbeitung (ITIV)

Fehlerabsicherung von modernen KI-Beschleuniger-Architekturen wie Systolic Arrays auf Hardwareebene

Fehlerabsicherung von modernen KI-Beschleuniger-Architekturen wie Systolic Arrays auf Hardwareebene

.
KI-Beschleuniger (Systolisches Array) mit Überbrückungen für Fehlerfall
.
Fatale Fehlklassifikation durch Hardwarefehler: Statt einem LKW wird ein Vogel erkannt

Umfeld

Künstliche Intelligenz und neuronale Netze spielen In den letzten Jahren eine immer größere Rolle, insbesondere in der Bildverarbeitung. Dadurch werden hochkomplexe Anwendungen wie Computer Vision im autonomen Fahren ermöglicht. Je genauer diese Modelle allerdings werden, umso größer wird auch der Rechenaufwand. Da normale Computer dafür nicht mehr ausreichen, wird an speziellen Hardwarebeschleunigern geforscht, die auch eingebettet in mobile Systeme die anspruchsvollen Echtzeitanforderungen erfüllen.

Am ITIV wird dazu insbesondere an der Absicherung, sowohl der Algorithmen, aber vor allem an den zugrundeliegenden, neuen Hardwarearchitekturen geforscht. Das Thema soll auch im Rahmen dieser Arbeit betrachtet werden.

 

Aufgabe

Konkret soll in der Arbeit untersucht werden, inwieweit ein Beschleuniger (z. B. sog. Systolisches Array) so konzipiert werden kann, dass neben einer hohen Performanz auch ein vollständiger Funktions-Test durchführbar ist. Im Falle eines Hardwarefehlers könnte es dann möglich sein, ein defektes Funktionselement zu überbrücken und die fehlende Funktion mithilfe eines redundanten Elements auszuführen.

Dabei kann die Arbeit in die folgenden Teilschritte gegliedert werden:

  • Einarbeitung in das Aufgabenumfeld, neuronale Netze, KI-spezialisierte Hardwarebeschleuniger sowie Absicherungsmethoden
  • Entwicklung eines Konzepts und einer exemplarischen Implementierung für permanente Hardwarefehler
  • Optional Übertragung des Konzepts auf transiente Fehler
  • Test und Evaluation des Verfahrens

 

Voraussetzungen

  • Interesse an: Machine Learning und dem Verständnis auf einer tiefen Ebene
  • Kenntnisse in C/C++ werden vorausgesetzt, Vorkenntnisse in genereller Softwareentwicklung und Machine Learning sind von Vorteil