Imec/Globalfoundries 2900 TOPS/W für das Edge

Imec und Globalfoundries haben mit ANIA (Analog Inference Accelerator) einen Beschleuniger für das Inferenzieren im Edge vorgestellt. ANIA basiert auf der AiMC-Technologie vom Imec und der 22FDX-Technologie von Globalfoundries.

Das Imec hatte bereits auf der letzten IEDM 2019 ein Paper präsentiert, in dem die Vorteile der AiMC-Technologie, die Anforderungen an die Schaltungen und mögliche Umsetzungen beschrieben wurden. AiMC steht für Analog in-Memory Computing und ist laut Imec-Spezialisten ein Ansatz, der selbst im Vergleich zur neuesten digitalen Implementierung mindestens zehnmal energieeffizienter ist.

AiMC zielt auf Deep-Learning-Anwendungen, eine Technik, die beispielsweise in der Bildverarbeitung, für Übersetzungen und zur Spracherkennung genutzt wird. Die Imec-Forscher sind überzeugt, dass ein energieeffizientes Inferenzieren entscheidend dafür ist, dass diese Fähigkeiten auch in hochmodernen Endgeräten genutzt werden können. Sowohl in CNNs (Convolutional Neural Network: Faltungsnetz) als auch in rekurrenten neuronalen Netzen wie LSTMs (Long Short-Term Memory) sind Matrix-Vektor-Multiplikationen (MVM) mit geringer Präzision die dominierenden Operationen beim Inferenzieren mit niedriger Präzision. Und genau für diese MVMs setzt das Imec auf AiMC, denn: Eine optimierte MAC-Operation (Multiply-Accumulate) auf Basis eines 16-nm-Knotens verbraucht 10 fJ/MAC. Mit weiteren Optimierungen der Schaltung sowie kleineren Prozessstrukturen kann die Energieeffizienz einer digitalen Implementierung zwar noch verbessert werden, aber das ist weit entfernt von dem, was mit AiMC möglich. Im Imec-Paper zur IEDM hieß es bereits: eine AiMC-MVM braucht lediglich 0,1 fJ/Operation (ein MAC umfasst zwei Operationen).

Aus der Sicht der Imec-Forscher stellt dieser Ansatz für viele Anwendungen eine durchaus attraktive Option dar, auch deshalb, weil diese MVMs mit größeren Prozessstrukturen gefertigt werden können. In dem Paper für die IEDM hat das Imec auch gezeigt, dass ein MVM mithilfe von drei Speicherkonzepten realisiert werden kann: IGZO-basierte 2T1C-DRAM, SOT-MRAM und eine spezielle Form von PCMs (mit Projection Layer).

AiMC braucht keine Datenbewegungen

Typischerweise holen Inferenzierungssysteme für jede Schicht des neuronalen Netzes ständig Daten und Gewichtungen aus dem Speicher, um damit Multiplikationen und Additionen durchzuführen und das Ergebnis danach wieder abzuspeichern. Diese Datenbewegungen verbrauchen viel Energie, mehr als die eigentlichen Berechnungen. Geht es also um eine möglichst hohe Energieeffizienz, müssen diese Datentransfers vermieden werden. Und das lässt sich erreichen, wenn die Gewichtungen im Speicher abgelegt werden und die Inferenz dort mithilfe einer analogen In-Memory-Berechnung durchgeführt werden kann. Und genau das ist mit AiMC möglich.

Das Imec ist bei Weitem nicht allein, wenn es um analoges In-Memory Computing geht. Das Fraunhofer-Institut ISS erklärt beispielsweise zum Thema „Analoges neuromorphes Hardware-Design“: »Bereits seit den ersten Anläufen zur Entwicklung neuromorpher Hardware in den 1950er-Jahren werden analoge Schaltungen eingesetzt, um neuronale Netze in Hardware zu implementieren. Bei diesem Ansatz werden die Werte zur Berechnung neuronaler Netze durch reelle Werte physikalischer Größen abgebildet, zum Beispiel durch analoge Spannung, Stromstärke und elektrische Ladung. Die Berechnungen stützen sich dann auf einfache Operationen wie Multiplikation und Addition unter direkter Berücksichtigung physikalischer Gesetzmäßigkeiten, zum Beispiel der ohmschen und kirchhoffschen Gesetze.«

Dr. Diederik Verkest, Program Director for Machine Learning beim Imec, erklärt hinsichtlich AiMC, dass ein Speicher-Array realisiert wird, das sowohl die Gewichtungen speichert als auch die Matrix-Vektor-Multiplikationen (Gewichtung und Aktivierung) durchführt. Dabei ist die programmierte Leitfähigkeit des Memristors proportional zum Wert der Gewichtung. Die angelegte Spannung, die proportional zur Aktivierung ist, ergibt dann aufgrund des ohmschen Gesetzes einen Strom durch den Memristor, der proportional zum Produkt zwischen Aktivierung und Gewichtung ist. Speicherelemente in einer Spalte angeordnet repräsentieren einen Layer im neuronalen Netz. Durch weitere Spalten können dementsprechend mehrere Layer realisiert werden. Um weitere Berechnungen in der digitalen Domäne durchführen zu können, sind DACs beziehungsweise ADCs an den Eingängen und Ausgängen der Speicher notwendig.