Abstract:
In den letzten Jahren haben Fortschritte im Bereich der künstlichen Intelligenz (KI) zu einem weit verbreiteten Einsatz neuronaler Netze (NN) in verschiedenen Bereichen geführt, z. B. in der Computer Vision, der Spracherkennung und der Verarbeitung natürlicher Sprache. Die Leistungsverbesserung geht jedoch auf Kosten einer beträchtlichen Anzahl von Parametern und Berechnungsanforderungen. Daher werden KI-Anwendungen überwiegend in der Cloud eingesetzt. Die NN-Inferenz in der Cloud ist jedoch für Echtzeit- und verzögerungsempfindliche Edge-Anwendungen aufgrund geringer Latenzzeiten, Bandbreitenbeschränkungen und Datenschutzbedenken unpraktisch. ... mehrFolglich bietet die Edge-KI, bei der KI-Algorithmen auf Edge-Geräten eingesetzt werden, eine Lösung, indem eingehende Daten für die Inferenz auf dem Gerät verarbeitet werden, wodurch die Latenzzeit bei der Datenkommunikation verringert und der Datenschutz verbessert wird.
Dennoch ist die Inferenz auf dem Gerät eine Herausforderung, da die Inferenzphase der NN rechenintensiv und stromhungrig ist und einen hohen Speicherbedarf hat. Edge-Geräte verfügen jedoch in der Regel nur über begrenzte Ressourcen in Form von Rechen- und Speicherressourcen und sind batteriebetrieben. Daher ist die Durchführung von Schlussfolgerungen auf spezialisierten KI-Beschleunigerarchitekturen eine attraktive Lösung, die parallele Verarbeitung, geringen Stromverbrauch, geringere Latenzzeiten und bei einigen Architekturen auch In-Memory-Berechnungen bietet.
Trotz der Vorteile von Edge-KI-Beschleunigern sind diese aufgrund ihres Einsatzes in dynamischen und realen Umgebungen anfällig für verschiedene Unsicherheitsfaktoren. So können beispielsweise Verschiebungen in der Datenverteilung und Sensorrauschen die Inferenzdaten verfälschen oder stören. Obwohl die NN solche „verteilungsfremden“ Daten erhalten, neigen sie dazu, überhöhte Vorhersagen zu treffen. In ähnlicher Weise können auch Hardware-Nicht-Idealitäten wie Defekte und Schwankungen, die während des Herstellungsprozesses und des Online-Betriebs aufgrund von inhärenten Geräteeigenschaften, unausgereiften Herstellungsprozessen und externen Umweltfaktoren wie Temperatur und Strahlungsteilchen auftreten, die Parameter, Aktivierungen und Ausgaben von Edge-KI-Beschleunigern stören. Folglich wirken sich diese Nicht-Idealitäten negativ auf die Genauigkeit der Schlussfolgerungen aus, beeinträchtigen die Zuverlässigkeit erheblich und führen zu Unsicherheiten in der Funktionalität des Edge-KI-Beschleunigers. Unsichere Vorhersagen sind für viele Anwendungen inakzeptabel, einschließlich sicherheitskritischer Anwendungen, bei denen die Folgen einer falschen Vorhersage katastrophal sein können. Daher ist die Abschätzung der Unsicherheit sowohl bei den Daten als auch bei der Funktionalität und die anschließende Reduzierung der Unsicherheit entscheidend für die Gewährleistung eines äußerst zuverlässigen Betriebs von Edge-KI-Beschleunigern.
Bestehende Methoden konzentrieren sich oft auf spezifische Aspekte, wie Fehlertoleranz auf KI-Beschleunigern mit spezieller Speichertechnologie oder -architektur, und leiden unter Problemen der Skalierbarkeit von Ressourcen. Insbesondere nehmen Ressourcen wie die Anzahl der Zufallszahlengeneratoren (RNGs), Dropout-Module, Modelle, Testvektoren und Speicher mit der Größe des Modells, des Datensatzes und anderer Faktoren wie Ensemblemitglieder zu. Daher sind sie für ressourcenbeschränkte Edge-AI-Beschleuniger unpraktisch. Nichtsdestotrotz ist die effiziente Implementierung bestimmter Methoden, wie Bayes'sche Neuronale Netze, die für prädiktive Unsicherheitsabschätzungen sehr effektiv sind, selbst eine Herausforderung und erfordert eine ganzheitliche Algorithmus-Hardware-Ko-Optimierung.
Um diese Einschränkungen zu beheben, leistet diese Arbeit mehrere Beiträge: a) prädiktive Unsicherheitsabschätzung, b) funktionale Unsicherheitsabschätzung von Edge-KI-Beschleunigern, c) Reduzierung der Unsicherheit aufgrund von Hardware-Nicht-Idealitäten und d) kontinuierliche Verfügbarkeit von KI-Beschleunigern durch Algorithmus-Hardware-Co-Design-basierte Lösungen. Konkret werden problemorientierte Trainingsalgorithmen, Verlust- und Straffunktionen, Modellkomprimierung, neuartige neuronale Netztopologien, Normalisierungsschichten, Dropout-Methoden, Hardwarearchitekturen, Parameter-Mapping, Approximationsmethoden, kompakte automatische Testvektor-Generierungsmethoden und verschiedene Online-Test-Frameworks für unser Ziel vorgeschlagen. Das Hauptziel besteht darin, die Quantifizierung der Unsicherheit, die Testbarkeit, die Zuverlässigkeit, die Leistung, die Produktionsausbeute und die Effizienz von Edge AI auf eine ressourcenskalierbare Weise zu verbessern. Für jede Methode werden ausführliche Bewertungen durchgeführt, um ihre Wirksamkeit zu demonstrieren. Die Beiträge verbessern die allgemeine Zuverlässigkeit und Effizienz von Edge-KI-Beschleunigern aus einer ganzheitlichen Perspektive. Folglich ermöglichen sie den breiten Einsatz von NN in realen Anwendungen.
Abstract (englisch):
In recent years, advancements in artificial intelligence (AI) have led to the widespread deployment of neural networks (NNs) in various domains, such as computer vision, speech recognition, and natural language processing. However, performance improvement comes at the cost of a substantial number of parameters and computation requirements. Thus, the deployment of AI applications predominantly relies on cloud computing. However, NN inference in the cloud is impractical for real-time and delay-sensitive edge applications due to low latency, bandwidth limitations, and privacy concerns. ... mehrConsequently, edge AI, which involves deploying AI algorithms on edge devices, offers a solution by processing incoming data for inference on-device, thus reducing data communication latency and improving privacy.
Nevertheless, on-device inference is challenging since the inference stage of NN is computationally intensive, power-hungry, and has a high memory overhead. However, edge devices are typically resource-constrained in terms of computational and memory resources and are battery-powered. Therefore, performing inference on specialized AI accelerator architectures is an attractive solution that offers parallel processing, low-power consumption, reduced latency, and, in some architectures, in-memory computation.
Despite the benefits of edge AI accelerators, due to their deployment in dynamic and real-world environments, they are susceptible to various sources of uncertainty. For example, data distribution shifts and sensor noise can corrupt or perturb inference data. Despite the NN receiving such "out-of-distribution" data, they tend to make overconfident predictions. Similarly, hardware non-idealities such as defects and variations arising during the manufacturing process and online operation due to inherent device properties, immature fabrication processes, and external environmental factors such as temperature and radiation particles can also perturb parameters, activations, and outputs of edge AI accelerators. Consequently, these non-idealities negatively impact inference accuracy, significantly affect reliability, and introduce uncertainty in the functionality of the edge AI accelerator. Uncertain predictions are unacceptable for many applications, including safety-critical applications, where the consequences of an incorrect prediction can be catastrophic. Therefore, estimating uncertainty in both data and functionality, followed by uncertainty reduction, is crucial for ensuring the highly reliable operation of edge AI accelerators.
Existing methods often focus on specific aspects, such as fault tolerance on AI accelerators with specific memory technology or architecture, and suffer from resource scalability issues. Specifically, resources such as the number of random number generators (RNGs), dropout modules, models, test vectors, and memory increase with the size of the model, dataset, and other factors such as ensemble members. Therefore, they are impractical for resource-constrained edge AI accelerators. Nevertheless, the efficient implementation of certain methods, such as Bayesian Neural Networks, which are highly effective for predictive uncertainty estimation, is itself challenging and requires holistic algorithm-hardware co-optimization.
To address the limitations, this thesis makes several contributions: a) predictive uncertainty estimation, b) functional uncertainty estimation of edge AI accelerators, c) reducing uncertainty due to hardware non-idealities, and d) continuous availability of AI accelerators using algorithm-hardware co-design-based solutions. Specifically, problem-aware training algorithms, loss and penalty functions, model compression, novel neural network topologies, normalization layers, dropout methods, hardware architectures, parameter mapping, approximation methods, compact automatic test vector generation methods, and several online testing frameworks are proposed for our objective. The main goal is to improve the uncertainty quantification, testability, reliability, performance, manufacturing yield, and efficiency of edge AI in a resource-scalable manner. Extensive evaluations are performed for each method to demonstrate their effectiveness. The contributions enhance the overall reliability and efficiency of Edge AI accelerators from a holistic perspective. Consequently, it enables the wide-scale deployment of NN in real-world applications.