Eine Verarbeitung
HeimHeim > Nachricht > Eine Verarbeitung

Eine Verarbeitung

May 16, 2023

Wissenschaftliche Berichte Band 12, Artikelnummer: 14396 (2022) Diesen Artikel zitieren

3220 Zugriffe

4 Zitate

5 Altmetrisch

Details zu den Metriken

Der Bedarf, riesige Datenmengen zu verarbeiten, die von hochmodernen hochauflösenden Kameras generiert werden, hat zu neuartigen energieeffizienten KI-Lösungen auf dem Gerät geführt. Visuelle Daten in solchen Kameras werden normalerweise von einem Sensorpixelarray in analogen Spannungen erfasst und dann zur anschließenden KI-Verarbeitung mithilfe von Analog-Digital-Wandlern (ADC) in den digitalen Bereich umgewandelt. Neuere Forschungen haben versucht, massiv parallele analoge/digitale Berechnungen mit geringem Stromverbrauch in Form von Near- und In-Sensor-Verarbeitung zu nutzen, bei denen die KI-Berechnung teilweise in der Peripherie des Pixelarrays und teilweise in einem separaten Bereich durchgeführt wird -Board-CPU/Beschleuniger. Leider müssen hochauflösende Eingabebilder immer noch Bild für Bild zwischen der Kamera und der KI-Verarbeitungseinheit gestreamt werden, was zu Energie-, Bandbreiten- und Sicherheitsengpässen führt. Um dieses Problem zu mildern, schlagen wir ein neuartiges Processing-in-Pixel-in-Memory (P2M)-Paradigma vor, das das Pixelarray durch Hinzufügen von Unterstützung für analoge Mehrkanäle, Multibit-Faltung, Batch-Normalisierung und gleichgerichtete lineare Einheiten anpasst ( ReLU). Unsere Lösung umfasst einen ganzheitlichen Algorithmus-Schaltkreis-Co-Design-Ansatz und das resultierende P2M-Paradigma kann als Drop-in-Ersatz für die Einbettung speicherintensiver erster Schichten von Convolutional Neural Network (CNN)-Modellen in gießfertig herstellbare CMOS-Bildsensorplattformen verwendet werden . Unsere experimentellen Ergebnisse zeigen, dass P2M die Datenübertragungsbandbreite von Sensoren und Analog-Digital-Umwandlungen um \({\sim }\,21\times\) und das Energieverzögerungsprodukt (EDP) reduziert, das bei der Verarbeitung eines MobileNetV2-Modells auf einem TinyML entsteht Anwendungsfall für Visual Wake Words Dataset (VWW) um bis zu \(\mathord {\sim }\,11\times\) im Vergleich zu standardmäßigen Near-Processing- oder In-Sensor-Implementierungen, ohne dass die Testgenauigkeit wesentlich abnimmt.

Die heute weit verbreiteten Anwendungen von Computer Vision in den Bereichen Überwachung1, Katastrophenmanagement2, Kamerafallen zur Wildtierüberwachung3, autonomes Fahren, Smartphones usw. werden durch die bemerkenswerten technologischen Fortschritte bei Bilderfassungsplattformen4 und dem sich ständig verbessernden Bereich der Deep-Learning-Algorithmen5 vorangetrieben. Allerdings sind Hardware-Implementierungen von Vision-Sensing- und Vision-Verarbeitungsplattformen traditionell physisch getrennt. Beispielsweise fungieren aktuelle auf CMOS-Technologie basierende Vision-Sensorplattformen als Transduktionseinheiten, die einfallende Lichtintensitäten über ein zweidimensionales Array von Fotodioden in digitalisierte Pixelwerte umwandeln6. Die von solchen CMOS-Bildsensoren (CIS) generierten Bilddaten werden häufig an anderer Stelle in einer Cloud-Umgebung verarbeitet, die aus CPUs und GPUs7 besteht. Diese physische Trennung führt zu Engpässen bei Durchsatz, Bandbreite und Energieeffizienz für Anwendungen, die die Übertragung großer Datenmengen vom Bildsensor zum Back-End-Prozessor erfordern, wie z. B. Objekterkennung und -verfolgung aus hochauflösenden Bildern/Videos.

Um diese Engpässe zu beheben, versuchen viele Forscher, die intelligente Datenverarbeitung näher an die Quelle der Sehdaten, d In-Pixel-Verarbeitung11,12,13. Ziel der sensornahen Verarbeitung ist die Integration eines dedizierten Beschleunigerchips für maschinelles Lernen auf derselben Leiterplatte8 oder sogar 3D-Stacking mit dem CIS-Chip9. Obwohl dies eine Verarbeitung der CIS-Daten näher am Sensor und nicht in der Cloud ermöglicht, entstehen dennoch Kosten für die Datenübertragung zwischen CIS und Verarbeitungschip. Andererseits integrieren In-Sensor-Verarbeitungslösungen10 digitale oder analoge Schaltkreise in die Peripherie des CIS-Sensorchips und reduzieren so die Datenübertragung zwischen dem CIS-Sensor und den Verarbeitungschips. Dennoch erfordern diese Ansätze immer noch häufig, dass Daten über einen Bus von CIS-Fotodiodenarrays in die peripheren Verarbeitungsschaltkreise gestreamt (oder parallel gelesen) werden10. Im Gegensatz dazu zielen In-Pixel-Verarbeitungslösungen wie 11,12,13,14,15 darauf ab, Verarbeitungsfunktionen in die einzelnen CIS-Pixel einzubetten. Erste Bemühungen konzentrierten sich auf den analogen Faltungsvorgang im Pixel14,15, aber viele11,14,15,16 erfordern die Verwendung neuer nichtflüchtiger Speicher oder 2D-Materialien. Leider sind diese Technologien noch nicht ausgereift und daher nicht für die bestehende Gießereifertigung von CIS geeignet. Darüber hinaus unterstützen diese Arbeiten keine Multi-Bit-, Multi-Channel-Faltungsoperationen, Batch-Normalisierung (BN) und Rectified Linear Units (ReLU), die für die meisten praktischen Deep-Learning-Anwendungen erforderlich sind. Darüber hinaus unterstützen Arbeiten, die auf digitale CMOS-basierte In-Pixel-Hardware abzielen und als pixelparallele Single Instruction Multiple Data (SIMD)-Prozessor-Arrays12 organisiert sind, keine Faltungsoperation und sind daher auf Spielzeug-Workloads wie die Ziffernerkennung beschränkt. Viele dieser Werke basieren auf digitaler Verarbeitung, die im Vergleich zu ihren analogen In-Pixel-Alternativen typischerweise zu einem geringeren Grad an Parallelität führt. Im Gegensatz dazu nutzt die Arbeit in13 die parallele analoge Berechnung in Pixeln, wobei die Gewichte eines neuronalen Netzwerks als Belichtungszeit einzelner Pixel dargestellt werden. Ihr Ansatz erfordert die Bereitstellung von Gewichten zur Manipulation der Pixelbelichtungszeit durch Steuerimpulse, was zu einem Engpass bei der Datenübertragung zwischen den Gewichtsspeichern und dem Sensorarray führt. Daher ist eine In-situ-CIS-Verarbeitungslösung, bei der sowohl die Gewichte als auch die Eingabeaktivierungen innerhalb einzelner Pixel verfügbar sind und die kritische Deep-Learning-Operationen wie Multibit-, Multikanal-Faltungs-, BN- und ReLU-Operationen effizient implementiert, bislang schwer zu finden. Darüber hinaus verfügen alle bestehenden In-Pixel-Computing-Lösungen über gezielte Datensätze, die keine realistischen Anwendungen maschineller Intelligenz darstellen, die auf hochmoderne CIS abgebildet werden. Insbesondere konzentrieren sich die meisten vorhandenen Arbeiten auf vereinfachte Datensätze wie MNIST12, während nur wenige13 den CIFAR-10-Datensatz verwenden, der Eingabebilder mit einer deutlich niedrigen Auflösung (\(32\times 32\)) enthält, die keine von aufgenommenen Bilder darstellen Hochmodernes hochauflösendes CIS.

Zu diesem Zweck schlagen wir ein neuartiges In-situ-Computing-Paradigma an den Sensorknoten namens Processing-in-Pixel-in-Memory (P2M) vor, das in Abb. 1 dargestellt ist und sowohl die Netzwerkgewichte als auch die Aktivierungen einbezieht, um massiv parallele, Intelligentes Rechnen mit hohem Durchsatz innerhalb von CISs. Insbesondere ermöglicht unsere Schaltungsarchitektur nicht nur die für die Faltung erforderliche In-situ-Mehrbit-, Mehrkanal- und Skalarprodukt-Analogbeschleunigung, sondern nutzt auch die On-Chip-Schaltung für digitale korrelierte Doppelabtastung (CDS) und den Single-Slope-ADC (SS). -ADC), die normalerweise in herkömmlichen CIS verfügbar sind, um alle erforderlichen Rechenaspekte für die ersten Schichten eines hochmodernen Deep-Learning-Netzwerks zu implementieren. Darüber hinaus ist die vorgeschlagene Architektur mit einem Co-Design-Paradigma zwischen Schaltung und Algorithmus gekoppelt, das die Nichtlinearitäten, Einschränkungen und Bandbreitenreduzierungsziele der Schaltung erfasst, um die Latenz und die Energieeffizienz zu verbessern. Das daraus resultierende Paradigma ist das erste, das die Machbarkeit für die Ermöglichung komplexer, intelligenter Bildverarbeitungsanwendungen (über Spielzeugdatensätze hinaus) auf hochauflösenden Bildern von Visual Wake Words (VWW)-Datensätzen demonstriert, die auf eine reale TinyML-Anwendung zugeschnitten sind. Wir haben uns entschieden, die Wirksamkeit von P2M bei TinyML-Anwendungen zu bewerten, da diese knappe Rechen- und Speicherbudgets erfordern, die ansonsten mit aktuellen In- und Near-Sensor-Verarbeitungslösungen, insbesondere für hochauflösende Eingabebilder, nur schwer zu erfüllen sind. Die wichtigsten Highlights der präsentierten Arbeit sind folgende:

Bestehende und vorgeschlagene Lösungen zur Linderung des Energie-, Durchsatz- und Bandbreitenengpasses, der durch die Trennung von Erfassung und Rechenleistung verursacht wird.

Wir schlagen ein neuartiges Processing-in-Pixel-in-Memory (P2M)-Paradigma für ressourcenbeschränkte Sensorintelligenzanwendungen vor, bei dem neuartige speichereingebettete Pixel eine massiv parallele Skalarproduktbeschleunigung mithilfe von In-situ-Eingangsaktivierungen (Fotodiodenströmen) und in- Situ-Gewichte sind alle innerhalb einzelner Pixel verfügbar.

Wir schlagen eine Neuverwendung von in den Chip integrierten Speicherpixeln, CDS-Schaltkreisen und SS-ADCs vor, um positive und negative Gewichte, BN und digitale ReLU-Funktionalität innerhalb des CIS-Chips zu implementieren und so alle rechnerischen Aspekte für die ersten paar Schichten abzubilden ein komplexes, hochmodernes Deep-Learning-Netzwerk innerhalb von CIS.

Wir entwickeln ein kompaktes, auf MobileNet-V2 basierendes Modell weiter, das speziell für P2M-implementierte Hardwareeinschränkungen optimiert ist, und vergleichen seine Genauigkeit und sein Energieverzögerungsprodukt (EDP) mit dem VWW-Datensatz, der einen häufigen Anwendungsfall von visuellem TinyML darstellt.

Der Rest des Papiers ist wie folgt gegliedert. Im Abschnitt „Herausforderungen und Chancen bei P2M“ werden die Herausforderungen und Chancen für P2M erörtert. Im Abschnitt „P2M-Schaltungsimplementierung“ wird unsere vorgeschlagene P2M-Schaltungsimplementierung unter Verwendung herstellbarer Speichertechnologien erläutert. Dann, Abschn. „P2M-beschränktes Algorithmus-Schaltkreis-Co-Design“ diskutiert unseren Ansatz für P2M-beschränktes Algorithmus-Schaltkreis-Co-Design. Im Abschnitt „Experimentelle Ergebnisse“ werden unser TinyML-Benchmarking-Datensatz, Modellarchitekturen, Testgenauigkeit und EDP-Ergebnisse vorgestellt. Abschließend werden in Abschn. 1 einige Schlussfolgerungen gezogen. „Schlussfolgerungen“.

Die allgegenwärtige Präsenz von CIS-basierten Vision-Sensoren hat den Bedarf erhöht, maschinelle Lernberechnungen näher an den Sensorknoten zu ermöglichen. Angesichts der Rechenkomplexität moderner CNNs wie Resnet-1817 und SqueezeNet18 ist es jedoch nicht möglich, das gesamte Deep-Learning-Netzwerk einschließlich aller Schichten innerhalb des CIS-Chips auszuführen. Daher verfügen aktuelle intelligente Vision-Sensoren, beispielsweise von Sony 9, die mit grundlegenden KI-Verarbeitungsfunktionen (z. B. Berechnung von Bildmetadaten) ausgestattet sind, über eine Multi-Stack-Konfiguration bestehend aus separaten Pixel- und Logikchips, die auf hohe und hohe Leistung angewiesen sind relativ energieintensive Kommunikationsbandbreite zwischen den Chips.

Alternativ behaupten wir, dass die In-situ-Einbettung eines Teils des Deep-Learning-Netzwerks in Pixelarrays zu einer erheblichen Reduzierung der Datenbandbreite (und damit des Energieverbrauchs) zwischen Sensorchip und Downstream-Verarbeitung für die übrigen Faltungsschichten führen kann. Dies liegt daran, dass die ersten paar Schichten sorgfältig entworfener CNNs, wie im Abschnitt „P2M-beschränkter Algorithmus-Schaltkreis-Co-Design“ erläutert, eine erhebliche Komprimierungseigenschaft aufweisen können, d. h. die Ausgabe-Feature-Maps weisen im Vergleich zur Eingabe eine reduzierte Bandbreite/Dimensionalität auf Bilderrahmen. Insbesondere ermöglicht uns unser vorgeschlagenes P2M-Paradigma, alle Berechnungen der ersten Schichten eines CNN im Pixelarray abzubilden. Das Paradigma umfasst ein ganzheitliches Hardware-Algorithmus-Co-Design-Framework, das das spezifische Schaltkreisverhalten, einschließlich Schaltkreis-Nichtidealitäten und Hardware-Einschränkungen, während des Entwurfs, der Optimierung und des Trainings der vorgeschlagenen maschinellen Lernnetzwerke erfasst. Die trainierten Gewichte für die ersten paar Netzwerkschichten werden dann bestimmten Transistorgrößen im Pixel-Array zugeordnet. Da die Transistorbreiten während der Herstellung festgelegt werden, sind die entsprechenden CNN-Gewichte nicht programmierbar. Glücklicherweise ist es üblich, die vorab trainierten Versionen der ersten paar Schichten moderner CNNs zu verwenden, da High-Level-Feature-Extraktoren bei vielen Sehaufgaben üblich sind19. Daher schränken die festen Gewichte in den ersten paar CNN-Schichten die Verwendung unseres vorgeschlagenen Schemas für eine breite Klasse von Bildverarbeitungsanwendungen nicht ein. Darüber hinaus möchten wir betonen, dass die in den Speicher eingebetteten Pixel auch nahtlos funktionieren, indem sie feste Transistoren durch neue nichtflüchtige Speicher ersetzen, wie im Abschnitt „CIS-Prozessintegration und Flächenüberlegungen“ beschrieben. Schließlich kann das vorgestellte P2M-Paradigma in Verbindung mit bestehenden sensornahen Verarbeitungsansätzen verwendet werden, um zusätzliche Vorteile zu erzielen, beispielsweise die Verbesserung der Energieeffizienz der verbleibenden Faltungsschichten.

In diesem Abschnitt werden wichtige Schaltkreisinnovationen beschrieben, die es uns ermöglichen, alle Rechenaspekte für die ersten Schichten einer komplexen CNN-Architektur in das CIS einzubetten. Eine Übersicht über unser vorgeschlagenes Pixelarray, das die Verfügbarkeit von Gewichten und Aktivierungen innerhalb einzelner Pixel mit entsprechenden peripheren Schaltkreisen ermöglicht, ist in Abb. 2 dargestellt.

Vorgeschlagene Schaltungstechniken basierend auf dem vorgestellten P2M-Schema, mit denen alle Rechenaspekte für die ersten paar Schichten einer modernen CNN-Schicht innerhalb von CIS-Pixel-Arrays abgebildet werden können.

Unsere modifizierte Pixelschaltung baut auf dem Standardpixel mit drei Transistoren auf, indem sie zusätzliche Transistoren (W_i) einbettet, die Gewichtungen der CNN-Schicht darstellen, wie in Abb. 2 dargestellt. Jeder Gewichtstransistor (W_i) ist in Reihe mit dem geschaltet Source-Folger-Transistor \(G_s\). Wenn ein bestimmter Gewichtstransistor \(W_i\) aktiviert wird (indem seine Gate-Spannung auf \(V_{DD}\) gezogen wird), wird die Pixelausgabe sowohl durch die Treiberstärke des Transistors \(W_i\) als auch durch die Spannung moduliert am Gate des Source-Folger-Transistors \(G_s\). Ein höherer Fotodiodenstrom bedeutet, dass der PMOS-Source-Folger stark eingeschaltet ist, was zu einem Anstieg der Ausgangspixelspannung führt. In ähnlicher Weise führt eine größere Breite des Gewichtstransistors \(W_i\) zu einem niedrigeren Transistorwiderstand und damit zu einer geringeren Source-Degeneration für den Source-Folger-Transistor, was zu einer höheren Pixelausgangsspannung führt. Abbildung 3a, erhalten aus SPICE-Simulationen mit 22-nm-GlobalFoundries-Technologie, zeigt die gewünschte Abhängigkeit von der Transistorbreite und dem Eingangsfotodiodenstrom. Somit führt der Pixelausgang eine ungefähre Multiplikation der Eingangslichtintensität (Spannung am Gate des Transistors \(G_s\)) und des Gewichts (oder der Antriebsstärke) des Transistors \(W_i\) durch, wie im Diagramm in dargestellt Abb. 3b. Die Näherung beruht auf der Tatsache, dass Transistoren von Natur aus nichtlinear sind. Im Abschnitt „P2M-beschränktes Algorithmus-Schaltungs-Co-Design“ nutzen wir unser Hardware-Algorithmus-Co-Design-Framework, um die Schaltungs-Nichtlinearitäten in das CNN-Trainings-Framework zu integrieren und so eine Klassifizierungsgenauigkeit nahezu auf dem neuesten Stand zu halten . Mehrere Gewichtstransistoren \(W_i\)s sind im selben Pixel integriert und werden durch unabhängige Gate-Steuersignale gesteuert. Jeder Gewichtstransistor implementiert einen anderen Kanal in der Ausgabe-Feature-Map der Ebene. Somit stellen die Gate-Signale Auswahlleitungen für bestimmte Kanäle in der Ausgabe-Feature-Map dar. Beachten Sie, dass es wünschenswert ist, die Anzahl der Ausgangskanäle zu reduzieren, um die Gesamtzahl der in jedem Pixel eingebetteten Gewichtstransistoren zu reduzieren und gleichzeitig eine hohe Testgenauigkeit für VWW sicherzustellen. Für unsere Arbeit konnten wir mithilfe eines ganzheitlichen Hardware-Algorithmus-Co-Design-Frameworks (Abschnitt „Klassifizierungsgenauigkeit“) die Anzahl der Kanäle in der ersten Schicht von 16 auf 8 reduzieren. Dies bedeutet, dass die vorgeschlagene Schaltung jeweils 8 Gewichtstransistoren erfordert Pixel, die sinnvoll implementiert werden können.

Die vorgestellte Schaltung kann abhängig von der Anzahl der Gewichtstransistoren \(W_i\)s pro Pixel sowohl überlappende als auch nicht überlappende Schritte unterstützen. Insbesondere kann jeder Schritt für einen bestimmten Kernel einem anderen Satz von Gewichtstransistoren über die Pixel zugeordnet werden (Eingangsaktivierungen). Die Transistoren \(W_i\)s stellen Multi-Bit-Gewichte dar, da die Antriebsstärke der Transistoren über einen weiten Bereich basierend auf der Transistorbreite, -länge und der Schwellenspannung gesteuert werden kann.

Um die Faltungsoperation zu erreichen, aktivieren wir gleichzeitig mehrere Pixel. Im speziellen Fall von VWW aktivieren wir \(X\times Y\times 3\) Pixel gleichzeitig, wobei X und Y die räumlichen Dimensionen bezeichnen und 3 den RGB-Kanälen (Rot, Blau, Grün) im entspricht Eingabeaktivierungsschicht. Für jedes aktivierte Pixel wird der Pixelausgang durch den Fotodiodenstrom und das Gewicht des aktivierten \(W_i\)-Transistors moduliert, der dem Pixel zugeordnet ist, gemäß Abb. 3a,b. Für eine bestimmte Faltungsoperation wird pro Pixel nur ein Gewichtstransistor aktiviert, der einem bestimmten Kanal in der ersten Schicht des CNN entspricht. Die Gewichtstransistoren \(W_i\) repräsentieren durch ihre Antriebsstärke Multi-Bit-Gewichte. Wie im Abschnitt „Eingebettete Mehrkanal-Pixel mit Multi-Bit-Gewichtung“ ausführlich beschrieben, entspricht die Ausgangsspannung für jedes Pixel ungefähr der Multiplikation von Lichtintensität und Gewicht. Für jede Bitleitung, die in Abb. 2 als vertikale blaue Linien dargestellt ist, wird sie durch die kumulative Pull-Up-Stärke der mit dieser Leitung verbundenen aktivierten Pixel hochgefahren. Der Anstieg der Pixelausgangsspannungen akkumuliert sich auf den Bitleitungen und führt eine analoge Summationsoperation durch. Folglich stellt die Spannung am Ausgang der Bitleitungen die Faltungsoperation zwischen Eingangsaktivierungen und dem im Pixel gespeicherten Gewicht dar.

Abbildung 3c zeigt die Ausgangsspannung (am Knoten „Analog Convolution Output“ in Abb. 2) als Funktion der normalisierten idealen Faltungsoperation. Der Plot in der Abbildung wurde unter Berücksichtigung der gleichzeitigen Aktivierung von 75 Pixeln erstellt. Für jede Zeile in Abb. 3c werden die aktivierten Gewichtstransistoren \(W_i\) so gewählt, dass sie die gleiche Breite haben, und der Satz farbiger Linien stellt den Breitenbereich dar. Für jede Zeile wird die Eingabe I von ihrem minimalen zum maximalen Wert durchgestrichen und das ideale Skalarprodukt wird normalisiert und auf der x-Achse aufgetragen. Auf der Y-Achse ist die tatsächliche Ausgabe der SPICE-Schaltung dargestellt. Die weitgehend lineare Natur des Diagramms weist darauf hin, dass die Schaltkreise wie erwartet funktionieren und die geringe Menge an Nichtlinearitäten in unserem Trainingsrahmen erfasst wird, der im Abschnitt „Benutzerdefinierte Faltung für die Nichtidealitäten von Schaltkreisen zur Modellierung der ersten Schicht“ beschrieben wird.

Beachten Sie, dass zum Generieren mehrerer Ausgabe-Feature-Maps der Faltungsvorgang für jeden Kanal in der Ausgabe-Feature-Map wiederholt werden muss. Die entsprechende Gewichtung für jeden Kanal wird in einem separaten Gewichtungstransistor gespeichert, der in jedes Pixel eingebettet ist. Somit sind in einem Pixel so viele Gewichtungstransistoren eingebettet, wie es Kanäle in der Ausgabe-Feature-Map gibt. Beachten Sie, dass wir die Anzahl der Filter zwar auf 8 reduzieren können, ohne die Genauigkeit des VWW-Datensatzes wesentlich zu beeinträchtigen, es aber bei Bedarf möglich ist, die Anzahl der Filter auf 64 zu erhöhen (viele SOTA-CNN-Architekturen verfügen über bis zu 64 Kanäle). erste Schicht), ohne wesentliche Vergrößerung der Fläche mithilfe der erweiterten 3D-Integration, wie im Abschnitt „CIS-Prozessintegration und Flächenüberlegungen“ beschrieben.

Zusammenfassend lässt sich sagen, dass das vorgestellte Schema eine In-situ-Mehrbit-Mehrkanal-Analogfaltung innerhalb des Pixelarrays durchführen kann, wobei sowohl Eingabeaktivierungen als auch Netzwerkgewichte innerhalb einzelner Pixel vorhanden sind.

(a) Pixelausgangsspannung als Funktion des Gewichts (Transistorbreite) und der Eingangsaktivierung (normalisierter Fotodiodenstrom), simuliert auf dem 22-nm-FD-SOI-Knoten von GlobalFoundries. Wie erwartet steigt die Pixelausgabe sowohl als Funktion der Gewichte als auch der Eingabeaktivierung. (b) Ein Streudiagramm, das die Pixelausgangsspannung mit dem idealen Multiplikationswert der Gewichte\(\times\)Eingangsaktivierung vergleicht (normalisiert \(W\times I\)). (c) Analoge Faltungsausgangsspannung im Vergleich zum idealen normalisierten Faltungswert, wenn 75 Pixel gleichzeitig aktiviert sind.

Gewichte in einer CNN-Schicht umfassen positive und negative Werte. Wie im vorherigen Unterabschnitt besprochen, werden Gewichte durch die Treiberstärke (oder Breite) der Transistoren \(W_i\)s abgebildet. Da die Breite von Transistoren nicht negativ sein kann, können die \(W_i\)-Transistoren selbst keine negativen Gewichte darstellen. Interessanterweise umgehen wir dieses Problem, indem wir die digitale CDS-Schaltung auf dem Chip, die in vielen hochmodernen kommerziellen CIS20,21 vorhanden ist, umgestalten. Ein digitales CDS wird normalerweise in Verbindung mit spaltenparallelen Single Slope ADCs (SS-ADCs) implementiert. Ein Single-Slope-ADC besteht aus einem Rampengenerator, einem Komparator und einem Zähler (siehe Abb. 2). Eine analoge Eingangsspannung wird über den Komparator mit einer Rampenspannung mit fester Steigung verglichen, die vom Rampengenerator erzeugt wird. Ein zunächst zurückgesetzter und mit einem entsprechenden Takt versorgter Zähler zählt weiter, bis die Rampenspannung die analoge Eingangsspannung kreuzt. Zu diesem Zeitpunkt wird der Ausgang des Zählers zwischengespeichert und stellt den umgewandelten digitalen Wert für die analoge Eingangsspannung dar. Eine herkömmliche digitale CIS-CDS-Schaltung verwendet als Eingabe zwei korrelierte Abtastwerte zu zwei unterschiedlichen Zeitpunkten. Das erste Sample entspricht dem Reset-Rauschen des Pixels und das zweite Sample dem tatsächlichen Signal, überlagert mit dem Reset-Rauschen. Eine digitale CIS-CDS-Schaltung ermittelt dann die Differenz zwischen den beiden Abtastwerten und eliminiert so das Rücksetzrauschen während der ADC-Umwandlung. In einem SS-ADC wird die Differenz ermittelt, indem der Zähler einfach für eine Probe „aufwärts“ und für die zweite „abwärts“ gezählt wird.

(a) Eine typische Timing-Wellenform mit doppelter Abtastgewichtung (eine für positive und eine für negative). Die numerischen Beschriftungen in der Abbildung entsprechen den numerischen Beschriftungen in der in Abb. 2 gezeigten Schaltung. (b) Typische Zeitwellenform für den SS-ADC mit Komparatorausgang (Comp), Zählerfreigabe (Trigger), Rampengeneratorausgang und Zähler Uhr (Zähler).

Wir nutzen das Rauschunterdrückungs- und Differenzierungsverhalten der digitalen CIS-CDS-Schaltung, die bereits auf kommerziellen CIS-Chips verfügbar ist, um positive und negative Gewichte zu implementieren und ReLU zu implementieren. Zunächst wird jeder in ein Pixel eingebettete Gewichtstransistor als positives oder negatives Gewicht „gekennzeichnet“, indem er mit „roten Linien“ (in Abb. 2 als VDD für positive Gewichte gekennzeichnet) und „grünen Linien“ (gekennzeichnet als) verbunden wird VDD für negative Gewichte in Abb. 2). Für jeden Kanal aktivieren wir mehrere Pixel, um ein inneres Produkt durchzuführen und zwei Samples auszulesen. Die erste Probe entspricht einer hohen VDD-Spannung, die an die „roten Linien“ (in Abb. 2 als VDD für positive Gewichte markiert) angelegt wird, während die „grünen Linien“ (in Abb. 2 als VDD für negative Gewichte markiert) auf Masse gehalten werden . Das akkumulierte Multi-Bit-Skalarproduktergebnis wird vom SS-ADC digitalisiert, während der Zähler „aufwärts“ zählt. Die zweite Probe hingegen entspricht einer hohen VDD-Spannung, die an den „grünen Linien“ (in Abb. 2 als VDD für negative Gewichte markiert) angelegt wird, während die „roten Linien“ (in Abb. 2 als VDD für positive Gewichte markiert) angelegt werden. 2) werden am Boden gehalten. Das akkumulierte Ergebnis des Mehrbit-Skalarprodukts wird erneut digitalisiert und vom SS-ADC auch vom ersten Abtastwert subtrahiert, während der Zähler „abwärts“ zählt. Somit akkumuliert die digitale CDS-Schaltung zunächst die Faltungsausgabe für alle positiven Gewichte und subtrahiert dann die Faltungsausgabe für alle negativen Gewichte für jeden Kanal, gesteuert durch entsprechende Auswahlleitungen für einzelne Kanäle. Beachten Sie, dass mögliche Kriechströme, die zwischen Gewichtstransistoren fließen, die positive und negative Gewichte darstellen, vermieden werden können, indem eine Diode in Reihe mit den Gewichtstransistoren integriert wird oder indem jeder Gewichtstransistor einfach in zwei in Reihe geschaltete Transistoren aufgeteilt wird, wobei die Kanalauswahlleitungen einen der in Reihe geschalteten Transistoren steuern Transistor, während der andere Transistor von einer Auswahlleitung gesteuert wird, die positive/negative Gewichte darstellt.

Interessanterweise ermöglicht uns die Neuausrichtung des On-Chip-CDS für die Implementierung positiver und negativer Gewichte auch die einfache Implementierung einer quantisierten ReLU-Operation innerhalb des SS-ADC. ReLU schneidet negative Werte auf Null. Dies kann erreicht werden, indem sichergestellt wird, dass der endgültige vom Zähler gespeicherte Zählwert (nach der CDS-Operation bestehend aus „Aufwärts“-Zählen und dann „Abwärts“-Zählen) entweder positiv oder Null ist. Interessanterweise kann der Zähler vor der Durchführung der Skalarproduktoperation auf einen Wert ungleich Null zurückgesetzt werden, der den Skalierungsfaktor der BN-Schicht darstellt, wie im Abschnitt „P2M-beschränkter Algorithmus-Schaltkreis-Co-Design“ beschrieben. Durch die Einbettung einer Multipixel-Faltungsoperation und die Neuausrichtung der On-Chip-CDS- und SS-ADC-Schaltung zur Implementierung positiver/negativer Gewichte, Batch-Normalisierung und ReLU-Operation kann unser vorgeschlagenes P2M-Schema den gesamten Rechenaspekt für die ersten paar implementieren Schichten eines komplexen CNN innerhalb des Pixelarrays, was massiv parallele In-situ-Berechnungen ermöglicht.

Durch die Kombination dieser Funktionen berechnet unsere vorgeschlagene P2M-Schaltung jeweils einen Kanal und verfügt über drei Betriebsphasen:

Reset-Phase: Zunächst wird die Spannung am Fotodiodenknoten M (siehe Abb. 2) vorgeladen oder zurückgesetzt, indem der Reset-Transistor \(G_r\) aktiviert wird. Beachten Sie, dass die Pixelmenge \(X\times Y\times 3\) gleichzeitig zurückgesetzt wird, da wir eine Faltung mit mehreren Pixeln anstreben.

Multipixel-Faltungsphase: Als nächstes entladen wir das Gate des Reset-Transistors \(G_r\), wodurch \(G_r\) deaktiviert wird. Anschließend werden \(X\times Y\times 3\) Pixel aktiviert, indem das Gate der jeweiligen \(G_H\)-Transistoren auf VDD gezogen wird. Innerhalb des aktivierten Pixelsatzes wird ein einzelner Gewichtungstransistor, der einem bestimmten Kanal in der Ausgabe-Feature-Map entspricht, aktiviert, indem seine Gate-Spannung über die Auswahlleitungen (in Abb. 2 als Auswahlleitungen für mehrere Kanäle gekennzeichnet) hochgezogen wird. Da die Fotodiode auf das einfallende Licht reagiert, wird ein Fotostrom erzeugt, wenn Licht auf die Diode fällt (für eine Dauer, die der Belichtungszeit entspricht), und die Spannung am Gate von \(G_s\) wird entsprechend dem Fotodiodenstrom moduliert das ist proportional zur Intensität des einfallenden Lichts. Die Pixelausgangsspannung ist eine Funktion des einfallenden Lichts (Spannung am Knoten M) und der Ansteuerstärke des aktivierten Gewichtstransistors in jedem Pixel. Die Pixelausgabe mehrerer Pixel wird in den Spaltenzeilen akkumuliert und stellt die analoge Multipixel-Faltungsausgabe dar. Der SS-ADC in der Peripherie wandelt den analogen Ausgang in einen digitalen Wert um. Beachten Sie, dass der gesamte Vorgang zweimal wiederholt wird, einmal für positive Gewichte („Aufwärtszählung“) und einmal für negative Gewichte („Abwärtszählung“).

ReLU-Betrieb: Schließlich wird die Ausgabe des Zählers zwischengespeichert und stellt eine quantisierte ReLU-Ausgabe dar. Es wird sichergestellt, dass der zwischengespeicherte Ausgang entweder positiv oder Null ist, wodurch die ReLU-Funktionalität innerhalb des SS-ADC nachgeahmt wird.

Die gesamte P2M-Schaltung wird mithilfe der kommerziellen 22-nm-FD-SOI-Technologie (Fully Depleted Silicon-on-Insulator) von GlobalFoundries simuliert. Die SS-ADCs werden mithilfe eines Bootstrap-Rampengenerators und dynamischer Komparatoren implementiert. Unter der Annahme, dass der Zählerausgang, der die ReLU-Funktion darstellt, eine N-Bit-Ganzzahl ist, benötigt er \(2^N\) Zyklen für eine einzelne Konvertierung. Der ADC wird mit einem 2GHz-Takt für die Zählerschaltung versorgt. SPICE-Simulationen, die die multiplikative Natur der in Gewichtstransistoren eingebetteten Pixel in Bezug auf den Fotodiodenstrom zeigen, sind in Abb. 3a, b dargestellt. Das Funktionsverhalten der Schaltung für den analogen Faltungsbetrieb ist in Abb. 3c dargestellt. Eine typische Timing-Wellenform, die den Pixelbetrieb zusammen mit dem SS-ADC-Betrieb zeigt, simuliert auf dem 22-nm-GlobalFoundries-Technologieknoten, ist in Abb. 4 dargestellt.

Es ist vielleicht auch wichtig anzumerken, dass ein Highlight unseres Vorschlags darin besteht, dass wir verschiedene Schaltkreisfunktionen, die bereits in kommerziellen Kameras verfügbar sind, neu verwenden. Dadurch wird sichergestellt, dass die meisten der vorhandenen Peripheriegeräte und entsprechenden Zeitsteuerungsblöcke nur geringfügige Änderungen erfordern, um unsere vorgeschlagenen P2M-Berechnungen zu unterstützen. Konkret erfordert P2M nicht die Aktivierung einer Zeile nach der anderen im Rolling-Shutter-Verfahren, sondern die gleichzeitige Aktivierung einer Gruppe von Zeilen, entsprechend der Größe der Kernel in den ersten Schichten. Anschließend würden mehrere Reihengruppen in einem typischen Rolling-Shutter-Format aktiviert. Insgesamt wäre die Reihenfolge der Pixelaktivierung (mit Ausnahme der Tatsache, dass eine Gruppe von Zeilen anstelle einer einzelnen Zeile aktiviert werden muss), CDS, ADC-Betrieb und Bus-Auslesung ähnlich wie bei typischen Kameras22.

In diesem Abschnitt möchten wir die Realisierbarkeit des vorgeschlagenen P2M-Paradigmas mit speichereingebetteten Pixeln im Hinblick auf seine Herstellbarkeit unter Verwendung vorhandener Gießereiprozesse hervorheben. Eine repräsentative Darstellung eines heterogen integrierten Systems, das den Anforderungen des vorgeschlagenen P2M-Paradigmas gerecht wird, ist in Abb. 5 dargestellt. Die Abbildung besteht aus zwei Schlüsselelementen: (i) einem rückseitig beleuchteten CMOS-Bildsensor (Bi-CIS), bestehend aus foto- Dioden, Ausleseschaltungen und Pixeltransistoren (Reset-, Source-Folger- und Auswahltransistoren) und (ii) ein Chip, der aus Transistoren mit mehreren Gewichten pro Pixel besteht (siehe Abbildung 2). Aus Abb. 2 ist ersichtlich, dass jedes Pixel aus mehreren Gewichtstransistoren besteht, was zu einem außergewöhnlich hohen Flächenaufwand führen würde. Bei dem in Abb. 5 dargestellten heterogenen Integrationsschema sind die Gewichtungstransistoren jedoch vertikal unterhalb eines Standardpixels ausgerichtet, wodurch keine (oder nur eine minimale) Vergrößerung des Platzbedarfs entsteht. Konkret kann jeder Bi-CIS-Chip in einem führenden oder hinterherhinkenden Technologieknoten implementiert werden. Der aus Gewichtstransistoren bestehende Chip kann auf einem fortschrittlichen planaren oder nicht-planaren Technologieknoten aufgebaut werden, sodass die mehreren Gewichtstransistoren auf derselben Fläche untergebracht werden können, die von einem einzelnen Pixel eingenommen wird (vorausgesetzt, die Pixelgröße ist größer als die der eingebetteten Speicherschaltung mit Gewichtstransistor). Aufbau). Der Bi-CIS-Bildsensorchip/Die wird durch einen Bondprozess (Die-zu-Die oder Die-zu-Wafer) heterogen integriert und auf dem aus Gewichtstransistoren bestehenden Die integriert. Vorzugsweise kann eine Die-zu-Wafer-Niedertemperatur-Metall-Metall-Fusion mit einem Dielektrikum-zu-Dielektrikum-Direktbonding-Hybridprozess eine Pitchskalierung im Submikrometerbereich mit hohem Durchsatz und präziser vertikaler Ausrichtung erreichen23. Einer der Vorteile der Anpassung dieser heterogenen Integrationstechnologie besteht darin, dass Chips unterschiedlicher Größe an unterschiedlichen Gießereiquellen, Technologieknoten und Funktionen hergestellt und dann zusammen integriert werden können. Falls es aufgrund der erhöhten Anzahl von Transistoren im Chip, der aus den Gewichten besteht, Einschränkungen gibt, kann ein herkömmliches Integrationsschema auf Pixelebene wie Stacked Pixel Level Connections (SPLC) verwendet werden, das die logische CMOS-Schicht vor dem einfallenden Licht abschirmt B. der Bi-CIS-Chipregion, würde auch eine hohe Pixeldichte und einen großen Dynamikbereich bieten24. Alternativ könnte man auch die Through Silicon Via (TSV)-Integrationstechnik für frontseitig beleuchtete CMOS-Bildsensoren (Fi-CIS) übernehmen, wobei der CMOS-Bildsensor durch einen TSV-Prozess auf den aus Speicherelementen bestehenden Chip gebondet wird. Beim Bi-CIS ist die Verkabelung jedoch vom beleuchteten Lichtpfad weg verlegt, sodass mehr Licht den Sensor erreichen kann, was zu einer besseren Leistung bei schlechten Lichtverhältnissen führt25.

Repräsentative Darstellung eines heterogen integrierten Systems mit P2M-Paradigma, aufgebaut auf einem rückseitig beleuchteten CMOS-Bildsensor (Bi-CIS). \(\textcircled {1}\) Mikrolinse, \(\textcircled {2}\) Lichtschutz, \(\textcircled {3}\) Rückseitenbeleuchteter CMOS-Bildsensor (Bi-CIS), \(\textcircled {4 }\) Backend der Linie des Bi-CIS, \(\textcircled {5}\) Chip bestehend aus Gewichtstransistoren, \(\textcircled {6}\) Löthöcker für den Eingabe-/Ausgabebus (I/O).

Vorteilhafterweise kann das heterogene Integrationsschema zur Herstellung von P2M-Sensorsystemen auf bestehenden und neuen Technologien genutzt werden. Insbesondere könnte der aus Gewichtstransistoren bestehende Chip eine ROM-basierte Struktur verwenden, wie im Abschnitt „P2M-Schaltungsimplementierung“ gezeigt, oder andere neue programmierbare nichtflüchtige Speichertechnologien wie PCM26, RRAM27, MRAM28, ferroelektrische Feldeffekttransistoren (FeFETs)29 usw. , hergestellt in verschiedenen Gießereien und anschließend heterogen in die CIS-Matrize integriert. Somit ermöglicht uns die vorgeschlagene heterogene Integration, einen geringeren Flächenaufwand zu erreichen und gleichzeitig eine nahtlose, massiv parallele Faltung zu ermöglichen. Basierend auf den gemeldeten Kontaktzahlen für Poly-Pitch und Metall-Pitch30 schätzen wir insbesondere, dass mehr als 100 Gewichtstransistoren mithilfe einer 22-nm-Technologie in einen 3D-integrierten Chip eingebettet werden können, vorausgesetzt, dass die zugrunde liegende Pixelfläche (dominiert von der Fotodiode) 10 \(\ upmu\)m \(\times\) 10 \(\upmu\)m. Die Verfügbarkeit von monolithisch integrierten nichtflüchtigen Back-End-of-Line-Speichergeräten mit zwei Anschlüssen könnte eine dichtere Integration von Gewichten innerhalb jedes Pixels ermöglichen. Solche in Gewichte eingebetteten Pixel ermöglichen es einzelnen Pixeln, vor Ort auf Aktivierung und Gewichte zuzugreifen, wie es das P2M-Paradigma erfordert, wodurch die Notwendigkeit entfällt, Gewichte oder Aktivierungen über einen Bus mit eingeschränkter Bandbreite von einem physischen Ort zu einem anderen zu übertragen. Daher entstehen bei unserem Ansatz im Gegensatz zu anderen Multi-Chip-Lösungen9 keine Energieengpässe.

Das Co-Design-Framework für Algorithmen und Schaltkreise ermöglicht es unserem vorgeschlagenen P2M-Ansatz, sowohl die Leistung als auch die Energieeffizienz von Vision-Workloads zu optimieren. Wir schlagen die Verwendung von ① großen Schritten, ② großen Kernelgrößen, ③ reduzierter Anzahl von Kanälen, ④ benutzerdefinierter P2M-Faltung und ⑤ verschobener ReLU-Operation vor, um den Verschiebungsterm der Batch-Normalisierungsschicht zu integrieren und ein genaues P2M-Schaltkreisverhalten zu emulieren.

In diesem Abschnitt stellen wir unsere algorithmischen Optimierungen für Standard-CNN-Backbones vor, die sich an (1) P2M-Schaltungsbeschränkungen orientieren, die sich aus der analogen Rechennatur des vorgeschlagenen Pixelarrays und der begrenzten Konvertierungsgenauigkeit von On-Chip-SS-ADCs ergeben, (2) die Notwendigkeit, eine hochmoderne Testgenauigkeit zu erreichen und (3) die gewünschten Hardware-Metriken wie hohe Bandbreitenreduzierung, Energieeffizienz und niedrige Latenz des P2M-Computing zu maximieren und das Speicher- und Rechenbudget der VWW-Anwendung einzuhalten. Die gemeldete Verbesserung der Hardware-Metriken (dargestellt im Abschnitt „EDP-Schätzung“) ist somit das Ergebnis einer komplizierten Co-Optimierung von Schaltungsalgorithmen.

Aus algorithmischer Sicht ist die erste Schicht eines CNN eine lineare Faltungsoperation, gefolgt von BN und nichtlinearer (ReLU) Aktivierung. Das P2M-Schaltungsschema, das im Abschnitt „Implementierung der P2M-Schaltung“ erläutert wird, implementiert eine Faltungsoperation im analogen Bereich unter Verwendung modifizierter, im Speicher eingebetteter Pixel. Die Bestandteile dieser Pixel sind Transistoren, die von Natur aus nichtlineare Geräte sind. Daher zeigt im Allgemeinen jede analoge Faltungsschaltung, die aus Transistorvorrichtungen besteht, ein nicht ideales nichtlineares Verhalten in Bezug auf den Faltungsvorgang. Viele bestehende Arbeiten, insbesondere im Bereich der memristiven analogen Skalarproduktoperation, ignorieren Nichtidealitäten, die sich aus nichtlinearen Transistorbauelementen ergeben31,32. Um diese Nichtlinearitäten zu erfassen, führten wir im Gegensatz dazu umfangreiche Simulationen der vorgestellten P2M-Schaltung durch, die ein breites Spektrum an Schaltungsparametern wie die Breite der Gewichtstransistoren und den Fotodiodenstrom auf der Grundlage eines kommerziellen 22-nm-Transistortechnologieknotens von Globafoundries abdeckten. Die resultierenden SPICE-Ergebnisse, dh die Pixelausgangsspannungen, die einem Bereich von Gewichten und Fotodiodenströmen entsprechen, wurden mithilfe einer Verhaltenskurvenanpassungsfunktion modelliert. Die generierte Funktion wurde dann in unser algorithmisches Framework aufgenommen und ersetzte die Faltungsoperation in der ersten Schicht des Netzwerks. Insbesondere akkumulieren wir die Ausgabe der Kurvenanpassungsfunktion, eine für jedes Pixel im Empfangsfeld (wir haben 3 Eingabekanäle und eine Kernelgröße von \(5\times 5\) und damit unsere Empfangsfeldgröße ist 75), um jedes von der In-Pixel-Faltungsschicht erzeugte innere Produkt zu modellieren. Dieses algorithmische Framework wurde dann verwendet, um das CNN-Training für den VWW-Datensatz zu optimieren.

Wie im Abschnitt „Eingebettete Pixel mit mehreren Kanälen und mehreren Bitgewichten“ erläutert, maximiert das P2M-Schaltungsschema die Parallelität und Reduzierung der Datenbandbreite, indem es mehrere Pixel aktiviert und mehrere parallele analoge Faltungsoperationen für einen bestimmten Kanal in der Ausgabe-Feature-Map liest. Die analoge Faltungsoperation wird für jeden Kanal in der Ausgabe-Feature-Map seriell wiederholt. Daher führt die parallele Faltung in der Schaltung tendenziell zu einer Verbesserung der Parallelität, Bandbreitenreduzierung, Energieeffizienz und Geschwindigkeit. Allerdings erhöht die Erhöhung der Anzahl der Kanäle in der ersten Schicht den seriellen Aspekt der Faltung und verschlechtert die Parallelität, die Bandbreitenreduzierung, die Energieeffizienz und die Geschwindigkeit. Dies führt zu einem komplizierten Kompromiss zwischen Schaltung und Algorithmus, bei dem das Backbone-CNN für größere Kernelgrößen (was die gleichzeitige Aktivierung von mehr Pixeln erhöht und die Parallelität fördert) und nicht überlappende Schritte (um die Dimensionalität im Downstream zu reduzieren) optimiert werden muss CNN-Schichten, wodurch die Anzahl der Multiplikationen und Additionen und die Spitzenspeichernutzung reduziert werden), kleinere Anzahl von Kanälen (um den seriellen Betrieb für jeden Kanal zu reduzieren), während gleichzeitig die Klassifizierungsgenauigkeit und -berücksichtigung nahezu dem neuesten Stand der Technik erhalten bleibt die mit der analogen Faltungsoperation verbundenen Nichtidealitäten. Außerdem verringert sich durch eine Verringerung der Kanalanzahl die Anzahl der in jedem Pixel eingebetteten Gewichtstransistoren (jedes Pixel verfügt über Gewichtstransistoren, die der Anzahl der Kanäle in der Ausgabe-Feature-Map entsprechen), wodurch sich die Fläche und der Stromverbrauch verbessern. Darüber hinaus reduziert die resultierende kleinere Ausgabeaktivierungskarte (aufgrund der geringeren Anzahl von Kanälen und größeren Kernelgrößen mit nicht überlappenden Schritten) den Energieaufwand für die Übertragung von Daten vom CIS zur nachgeschalteten CNN-Verarbeitungseinheit und die Anzahl der Gleitkommaoperationen (und folglich den Energieverbrauch) in nachgelagerten Schichten.

Darüber hinaus schlagen wir vor, die BN-Schicht teilweise in der vorhergehenden Faltungsschicht und teilweise in der nachfolgenden ReLU-Schicht zu fusionieren, um ihre Implementierung über P2M zu ermöglichen. Betrachten wir eine BN-Schicht mit \(\gamma\) und \(\beta\) als trainierbaren Parametern, die während der Inferenz fest bleiben. Während der Trainingsphase normalisiert die BN-Schicht Feature-Maps mit einem laufenden Mittelwert \(\mu\) und einer laufenden Varianz \(\sigma\), die gespeichert und für Inferenzen verwendet werden. Infolgedessen implementiert die BN-Schicht eine lineare Funktion, wie unten gezeigt.

Wir schlagen vor, den Skalenterm A in die Gewichte (der Wert des in Pixel eingebetteten Gewichtungstensors ist \(A\cdot \theta\), wobei \(\theta\) der durch unser Training erhaltene endgültige Gewichtungstensor ist) zu verschmelzen, die eingebettet sind als die Transistorbreiten im Pixelarray. Darüber hinaus schlagen wir vor, eine verschobene ReLU-Aktivierungsfunktion zu verwenden, die der Kovolutionsschicht folgt, wie in Abb. 6 gezeigt, um den Verschiebungsterm B einzubeziehen. Wir verwenden die zählerbasierte ADC-Implementierung, die in „Umgestaltung digitaler korrelierter Doppelabtastschaltungen“ dargestellt ist Single-Slope-ADCs als ReLU-Neuronen“, um die verschobene ReLU-Aktivierung zu implementieren. Dies kann leicht erreicht werden, indem der Zähler zu Beginn der Faltungsoperation auf einen Wert ungleich Null zurückgesetzt wird, der dem Term B entspricht, anstatt den Zähler auf Null zurückzusetzen.

Um die Energiekosten der Analog-Digital-Umwandlung in unserem P2M-Ansatz zu minimieren, müssen wir außerdem die Schichtausgabe auf so wenige Bits wie möglich quantisieren, sofern die gewünschte Genauigkeit erreicht wird. Wir trainieren ein Gleitkommamodell mit nahezu aktueller Genauigkeit und führen dann eine Quantisierung in der ersten Faltungsschicht durch, um Gewichte und Aktivierungen mit geringer Genauigkeit während der Inferenz zu erhalten33. Wir quantisieren auch den Mittelwert, die Varianz und die trainierbaren Parameter der BN-Schicht, da diese alle den Verschiebungsterm B beeinflussen (siehe Gleichung 1), der für die Implementierung des verschobenen ADC mit niedriger Genauigkeit quantisiert werden sollte. Wir vermeiden quantisierungsbewusstes Training34, da es die Trainingskosten erheblich erhöht, ohne dass sich die Bitgenauigkeit unseres Modells bei Isogenauigkeit verringert. Beachten Sie, dass die fehlende Verbesserung der Bitgenauigkeit durch QAT wahrscheinlich darauf zurückzuführen ist, dass eine kleine Verbesserung der Quantisierung nur der ersten Schicht möglicherweise nur geringe Auswirkungen auf die Testgenauigkeit des gesamten Netzwerks hat.

Mit der durch alle diese Ansätze erzielten Bandbreitenreduzierung kann die Ausgabe-Feature-Map der P2M-implementierten Schichten einfacher in Mikrocontrollern mit extrem geringem Speicherbedarf implementiert werden, während P2M selbst die Energieeffizienz der ersten Schicht erheblich verbessert. Unser Ansatz kann somit TinyML-Anwendungen ermöglichen, die normalerweise über ein knappes Rechen- und Speicherbudget verfügen, wie im Abschnitt „Benchmarking von Datensätzen und Modellen“ dargestellt.

Um die Bandbreitenreduzierung (BR) nach der ersten durch P2M erhaltenen Schicht zu quantifizieren (BN- und ReLU-Schichten ergeben keinen BR), sei die Anzahl der Elemente im RGB-Eingabebild I und in der Ausgabeaktivierungskarte nach der ReLU-Aktivierungsschicht sei O. Dann kann BR geschätzt werden als

Hier stellt der Faktor \(\left( \frac{4}{3}\right)\) die Komprimierung von Bayers Muster von RGGB-Pixeln zu RGB-Pixeln dar, da wir entweder die zusätzlichen grünen Pixel ignorieren oder die Schaltung so gestalten können, dass sie effektiv aufnimmt der Durchschnitt der Fotodiodenströme der beiden grünen Pixel. Der Faktor \(\frac{12}{N_b}\) stellt das Verhältnis der Bitgenauigkeit zwischen den vom Sensor erfassten Bildpixeln (Pixel haben typischerweise eine Bittiefe von 1235) und der quantisierten Ausgabe unserer Faltungsschicht dar als \(N_b\). Lassen Sie uns jetzt ersetzen

in Gl. (2), wobei i die räumliche Dimension des Eingabebildes bezeichnet, k, p, s die Kernelgröße, Polsterung bzw. Schrittweite der In-Pixel-Faltungsschicht bezeichnen und \(c_o\) die Anzahl der Ausgabekanäle bezeichnet der In-Pixel-Faltungsschicht. Diese Hyperparameter werden zusammen mit \(N_b\) durch eine gründliche Erkundung des algorithmischen Designraums mit dem Ziel erhalten, die beste Genauigkeit zu erreichen, vorbehaltlich der Einhaltung der Hardwarebeschränkungen sowie des Speicher- und Rechenbudgets unseres TinyML-Benchmarks. Wir zeigen ihre Werte in Tabelle 1 und ersetzen sie in Gleichung. (2) um einen BR von \(21\times\) zu erhalten.

Dieses Papier konzentriert sich auf das Potenzial von P2M für TinyML-Anwendungen, d. h. mit Modellen, die auf IoT-Geräten mit geringem Stromverbrauch und nur wenigen Kilobyte On-Chip-Speicher eingesetzt werden können36,37,38. Insbesondere der Visual Wake Words (VWW)-Datensatz39 stellt einen relevanten Anwendungsfall für visuelles TinyML dar. Es besteht aus hochauflösenden Bildern, die visuelle Hinweise zum „Aufwecken“ KI-gestützter Heimassistenten wie Amazons Astro40 enthalten, die in ressourcenbeschränkten Umgebungen Echtzeit-Inferenzen erfordern. Das Ziel der VWW-Herausforderung besteht darin, die Anwesenheit eines Menschen im Bild mit sehr geringen Ressourcen zu erkennen – etwa 250 KB maximale RAM-Auslastung und Modellgröße39. Um diese Einschränkungen zu erfüllen, umfassen aktuelle Lösungen das Downsampling des Eingabebilds auf eine mittlere Auflösung (\(224\times 224\)), was eine gewisse Genauigkeit erfordert33.

In dieser Arbeit verwenden wir die Bilder aus dem COCO2014-Datensatz41 und die Zug-Wert-Aufteilung, die in der wegweisenden Arbeit39 angegeben ist, in der der VWW-Datensatz eingeführt wurde. Durch diese Aufteilung wird sichergestellt, dass die Trainings- und Validierungsbezeichnungen in etwa zwischen den beiden Klassen „Person“ und „Hintergrund“ ausgeglichen sind. 47 % der Bilder im Trainingsdatensatz mit 115.000 Bildern tragen die Bezeichnung „Person“, und ebenso sind 47 % der Bilder im Validierungsdatensatz der Kategorie „Person“ zugeordnet. Die Autoren stellen außerdem sicher, dass die Verteilung der Fläche der Begrenzungsrahmen der Bezeichnung „Person“ über den Zug- und Val-Satz hinweg ähnlich bleibt. Daher fungiert der VWW-Datensatz mit einer solchen Zug-Wert-Aufteilung als primärer Benchmark für tinyML-Modelle42, die auf Mikrocontrollern mit geringem Stromverbrauch ausgeführt werden. Wir wählen MobileNetV243 als unsere Basis-CNN-Architektur mit 32 bzw. 320 Kanälen für die erste bzw. letzte Faltungsschicht, die Bilder mit voller Auflösung (\(560\times 560\)) unterstützt. Um eine Überanpassung an nur zwei Klassen im VWW-Datensatz zu vermeiden, verringern wir die Anzahl der Kanäle im letzten in der Tiefe trennbaren Faltungsblock um \(3\times\). MobileNetV2 ist, ähnlich wie andere MobileNet-Modelle, sehr kompakt43 und kleiner als das in der VWW-Challenge zulässige Maximum. Es funktioniert gut bei komplexen Datensätzen wie ImageNet44 und schneidet, wie im Abschnitt „Experimentelle Ergebnisse“ gezeigt, sehr gut bei VWWs ab.

Um P2M auf MobileNetV2 zu evaluieren, erstellen wir ein benutzerdefiniertes Modell, das die erste Faltungsschicht durch unsere benutzerdefinierte P2M-Schicht ersetzt, die die systematischen Nichtidealitäten der analogen Schaltkreise, die reduzierte Anzahl von Ausgangskanälen und die Begrenzung nicht überlappender Schritte erfasst wird im Abschnitt „P2M-beschränkter Algorithmus-Schaltkreis-Co-Design“ besprochen.

Wir trainieren sowohl das Basismodell als auch das benutzerdefinierte P2M-Modell in PyTorch mit dem SGD-Optimierer mit einem Impuls von 0,9 für 100 Epochen. Das Basismodell hat eine anfängliche Lernrate (LR) von 0,03, während das benutzerdefinierte Gegenstück eine anfängliche LR von 0,003 hat. Beide Lernraten nehmen alle 35 und 45 Epochen um den Faktor 0,2 ab. Nachdem wir ein Gleitkommamodell mit der besten Validierungsgenauigkeit trainiert haben, führen wir eine Quantisierung durch, um 8-Bit-Ganzzahlgewichte, Aktivierungen und die Parameter (einschließlich Mittelwert und Varianz) der BN-Schicht zu erhalten. Alle Experimente werden auf einer Nvidia 2080Ti GPU mit 11 GB Speicher durchgeführt.

Vergleich zwischen Baseline- und benutzerdefinierten P2M-Modellen: Wir haben die Leistung der Baseline- und P2M-benutzerdefinierten MobileNet-V2-Modelle anhand des VWW-Datensatzes in Tabelle 2 bewertet. Beachten Sie, dass beide Modelle von Grund auf trainiert wurden. Unser Basismodell liefert derzeit die beste Testgenauigkeit für den VWW-Datensatz unter den in der Literatur verfügbaren Modellen, die kein zusätzliches Vortraining oder Erweiterung nutzen. Beachten Sie, dass unser Basismodell eine beträchtliche Menge an Spitzenspeicher und MAdds erfordert (\({\sim }30\times\) mehr als in der VWW-Herausforderung erlaubt), jedoch einen guten Maßstab für den Genauigkeitsvergleich darstellt. Wir stellen fest, dass das P2M-fähige benutzerdefinierte Modell die Anzahl der MAdds um \({\sim }7,15\times\) und die Spitzenspeichernutzung um \({\sim }25,1\times\) mit \(1,47\%) reduzieren kann. \) Abfall der Testgenauigkeit im Vergleich zum unkomprimierten Basismodell bei einer Bildauflösung von \(560\times 560\). Durch die Speicherreduzierung kann unser P2M-Modell auf winzigen Mikrocontrollern mit nur 270 KB On-Chip-SRAM laufen. Beachten Sie, dass die Spitzenspeichernutzung nach der gleichen Konvention wie39 berechnet wird. Beachten Sie auch, dass sowohl die Basisgenauigkeit als auch die Genauigkeit des benutzerdefinierten Modells sinken (obwohl der Rückgang beim benutzerdefinierten Modell deutlich höher ist), wenn wir die Bildauflösung reduzieren, was die Notwendigkeit hochauflösender Bilder und die Wirksamkeit von P2M bei der Linderung des Bandbreitenengpasses unterstreicht zwischen Erfassung und Verarbeitung und Reduzierung der Anzahl von MAdds für die nachgelagerte CNN-Verarbeitung.

Vergleich mit SOTA-Modellen: Tabelle 3 bietet einen Vergleich der Leistungen von Modellen, die durch unser Algorithmus-Schaltkreis-Cosimulations-Framework generiert wurden, mit SOTA TinyML-Modellen für VWW. Unsere benutzerdefinierten P2M-Modelle liefern Testgenauigkeiten innerhalb von \(0,37\%\) des leistungsstärksten Modells in der Literatur45. Beachten Sie, dass wir unsere Modelle ausschließlich auf der Grundlage der bereitgestellten Trainingsdaten trainiert haben, während ProxylessNAS45, das die VWW-Challenge 2019 gewonnen hat, zusätzliches Vortraining mit ImageNet nutzte. Aus Gründen der Konsistenz berichten wir daher über die Testgenauigkeit von ProxylessNAS mit identischen Trainingskonfigurationen im endgültigen Netzwerk, das von den Autoren bereitgestellt wurde, ähnlich wie33. Beachten Sie, dass46 massiv paralleles energieeffizientes analoges In-Memory-Computing genutzt hat, um MobileNet-V2 für VWW zu implementieren, aber im Vergleich zu unserer Basislinie und dem vorherigen Zustand einen Genauigkeitsabfall von \(5,67\%\) und \(4,43\%\) mit sich bringt -of-the-art45 Modelle. Dies impliziert wahrscheinlich die Notwendigkeit eines komplizierten Algorithmus-Hardware-Co-Designs und einer genauen Modellierung der Hardware-Nichtidealitäten im algorithmischen Rahmen, wie in unserer Arbeit gezeigt.

(a) Auswirkung der Quantisierung der In-Pixel-Ausgabeaktivierungen und (b) Auswirkung der Anzahl der Kanäle in der 1. Faltungsschicht für verschiedene Kernelgrößen und -schritte auf die Testgenauigkeit unseres benutzerdefinierten P2M-Modells.

Auswirkung der Quantisierung der In-Pixel-Schicht: Wie im Abschnitt „P2M-beschränkter Algorithmus-Schaltkreis-Codesign“ erläutert, quantisieren wir die Ausgabe der ersten Faltungsschicht unseres vorgeschlagenen Modells nach dem Training, um den Stromverbrauch aufgrund des Sensors zu reduzieren ADCs und komprimieren Sie die Ausgabe wie in Gleichung beschrieben. (2). Wir durchlaufen Ausgangsbitgenauigkeiten von {4,6,8,16,32}, um den Kompromiss zwischen Genauigkeit und Komprimierung/Effizienz zu untersuchen, wie in Abb. 7a dargestellt. Wir wählen eine Bitbreite von 8, da dies die niedrigste Präzision ist, die im Vergleich zu den Modellen mit voller Präzision keinen Genauigkeitsabfall mit sich bringt. Wie in Abb. 7 gezeigt, können die Gewichte in der In-Pixel-Schicht auch mit einer 8-Bit-Ausgabeaktivierungskarte auf 8 Bit quantisiert werden, wobei die Genauigkeit weniger als \(0,1\%\) abnimmt.

Ablationsstudie: Wir untersuchen auch den Genauigkeitsabfall, der durch jede der drei Modifikationen (nicht überlappende Schritte, reduzierte Kanäle und benutzerdefinierte Funktion) im P2M-fähigen benutzerdefinierten Modell entsteht. Die Einbeziehung der nicht überlappenden Schritte (Schritt von 5 für \(5\times 5\)-Kernel aus einem Schritt von 2 für \(3\times 3\) im Basismodell) führt zu einem Genauigkeitsabfall von \(0,58\). %\). Die Reduzierung der Anzahl der Ausgabekanäle der In-Pixel-Faltung um \(4\times\) (8 Kanäle von 32 Kanälen im Basismodell) zusätzlich zu nicht überlappenden Schritten verringert die Testgenauigkeit um \(0,33\ %\). Darüber hinaus verringert das Ersetzen der elementweisen Multiplikation durch die benutzerdefinierte P2M-Funktion in der Faltungsoperation die Testgenauigkeit um insgesamt \(0,56\%\) im Vergleich zum Basismodell. Beachten Sie, dass wir die In-Pixel-Ausgabe weiter komprimieren können, indem wir entweder den Schrittwert erhöhen (die Kernelgröße proportional für nicht überlappende Schritte ändern) oder die Anzahl der Kanäle verringern. Beide Ansätze verringern jedoch die Genauigkeit des VWW-Tests erheblich, wie in Abb. 7b dargestellt.

Vergleich mit früheren Arbeiten: Tabelle 4 vergleicht verschiedene In-Sensor- und Near-Sensor-Computing-Arbeiten10,11,12,13 in der Literatur mit unserem vorgeschlagenen P2M-Ansatz. Die meisten dieser Vergleiche sind jedoch qualitativer Natur. Dies liegt daran, dass in fast allen dieser Arbeiten Spielzeugdatensätze wie MNIST verwendet wurden, während einige Datensätze mit niedriger Auflösung wie CIFAR-10 verwendet wurden. Eine faire Bewertung des In-Pixel-Computing muss anhand hochauflösender Bilder erfolgen, die mit modernen Kamerasensoren aufgenommen wurden. Nach unserem besten Wissen ist dies das erste Papier, das In-Pixel-Computing an einem hochauflösenden Datensatz wie VWW mit dem damit verbundenen Hardware-Algorithmus-Co-Design zeigt. Darüber hinaus implementieren wir im Vergleich zu früheren Arbeiten komplexere Rechenoperationen, einschließlich analoger Faltung, Batch-Norm und ReLU innerhalb des Pixelarrays. Darüber hinaus nutzen die meisten früheren Arbeiten ältere Technologieknoten (z. B. 180 nm). Aufgrund der großen Diskrepanz bei der Verwendung von Technologieknoten, unrealistischer Datensätze für In-Pixel-Computing und der Tatsache, dass nur ein Teilsatz der Berechnungen in früheren Arbeiten implementiert wurde, ist es daher nicht möglich, einen fairen quantitativen Vergleich zwischen der vorliegenden Arbeit und früheren Arbeiten durchzuführen Werke in der Literatur. Dennoch listet Tabelle 4 die wichtigsten Unterschiede auf und vergleicht die Höhepunkte jeder Arbeit, was dazu beitragen kann, ein gutes vergleichendes Verständnis der In-Pixel-Rechenfähigkeit unserer Arbeit im Vergleich zu früheren Arbeiten zu entwickeln.

Wir entwickeln ein Schaltkreis-Algorithmus-Kosimulations-Framework, um die Energie und Verzögerung unserer Basis- und P2M-implementierten VWW-Modelle zu charakterisieren. Der Gesamtenergieverbrauch für diese beiden Modelle kann in drei Hauptkomponenten unterteilt werden: Sensor (\(E_{sens}\)), Sensor-zu-SoC-Kommunikation (\(E_{com}\)) und SoC-Energie (\ (E_{soc}\)). Die Sensorenergie kann weiter in Pixelauslesekosten (\(E_{pix}\)) und Kosten für die Analog-Digital-Umwandlung (ADC) (\(E_{adc}\)) zerlegt werden. \(E_{soc}\) hingegen besteht hauptsächlich aus den Kosten für MAdd-Operationen (\(E_{mac}\)) und Parameter-Lesevorgänge (\(E_{read}\)). Daher kann die Gesamtenergie wie folgt angenähert werden:

Hier stellen \(e_{sens}\) und \(e_{com}\) die Erfassungs- bzw. Kommunikationsenergie pro Pixel dar. \(e_{mac}\) ist die Energie, die bei einem MAC-Vorgang entsteht, \(e_{read}\) stellt die Leseenergie eines Parameters dar und \(N_{pix}\) bezeichnet die Anzahl der Pixel, die vom Sensor zum SoC kommuniziert werden . Für eine Faltungsschicht, die eine Eingabe \(\mathbf {I} \in R^{h_i\times w_i\times c_i}\) und einen Gewichtungstensor \(\mathbf {\theta } \in R^{k\times k) annimmt \times c_i\times c_o}\), um eine Ausgabe \(\mathbf {O} \in R^{h_o\times w_o\times c_o}\) zu erzeugen, die \(N_{mac}\)49 und \(N_{ read}\) kann wie folgt berechnet werden:

Die Energiewerte, die wir zur Bewertung von \(E_{tot}\) verwendet haben, sind in Tabelle 5 dargestellt. Während \(e_{pix}\) und \(e_{adc}\) aus unseren Schaltungssimulationen erhalten werden, \(e_ {com}\) wird von50 erhalten. Wir ignorieren den Wert von \(E_{read}\), da er nur einem kleinen Bruchteil (\(<10^{-4}\)) der Gesamtenergie entspricht, ähnlich wie 51,52,53,54. Abbildung 8a zeigt den Vergleich der Energiekosten für Standard- und P2M-implementierte Modelle. Insbesondere kann P2M eine Energiereduzierung von bis zu \(7,81\times\) bewirken. Darüber hinaus ist die Energieeinsparung aufgrund der hohen Kommunikationskosten größer, wenn die Feature-Map zur weiteren Verarbeitung von einem Edge-Gerät in die Cloud übertragen werden muss. Beachten Sie, dass wir hier von zwei Basisszenarien ausgegangen sind, eines mit Komprimierung und eines ohne Komprimierung. Die erste Baseline ist MobileNetV2, das die Eingabe ähnlich wie P2M aggressiv heruntersampelt (\(h_i/w_i: 560 \longrightarrow h_o/w_o: 112\)). Für das zweite Basismodell gingen wir davon aus, dass standardmäßige Faltungskerne der ersten Schicht eine Standard-Feature-Downsampling verursachen (\(h_i/w_i: 560 \longrightarrow h_o/w_o: 279\)).

Um die Verzögerung der Modelle zu bewerten, gehen wir von einer sequentiellen Ausführung der Schichtoperationen48,55,56 aus und berechnen eine einzelne Faltungsschichtverzögerung als48

wobei die Notationen der Parameter und ihre Werte in Tabelle 6 aufgeführt sind. Basierend auf dieser sequentiellen Annahme kann die ungefähre Rechenverzögerung für einen einzelnen Vorwärtsdurchlauf für unser P2M-Modell angegeben werden durch

Hier entsprechen \(T_{sens}\) und \(T_{adc}\) der Verzögerung, die mit dem Sensorlesen bzw. dem ADC-Betrieb verbunden ist. \(T_{conv}\) entspricht der Verzögerung, die allen Faltungsschichten zugeordnet ist, wobei die Verzögerung jeder Schicht durch Gleichung berechnet wird. (7). Abbildung 8b zeigt den Vergleich der Verzögerung zwischen P2M und den entsprechenden Basislinien, wobei die Gesamtverzögerung unter der Annahme der sequentiellen Erfassung und des SoC-Betriebs berechnet wird. Insbesondere kann der vorgeschlagene P2M-Ansatz zu einer verbesserten Verzögerung von bis zu \(2,15\times\) führen. Somit kann der gesamte EDV-Vorteil von P2M bis zu \(16,76\times\) betragen. Andererseits kann der EDP-Vorteil auch unter der konservativen Annahme einer geschätzten Gesamtverzögerung von max(\(T_{sens}\)+\(T_{adc}\), \(T_{conv}\)) erzielt werden bis zu \(\mathord {\sim }11\times\) betragen.

Da in unserem P2M-Ansatz die Kanäle seriell verarbeitet werden, steigt die Latenz für die Faltungsoperation linear mit der Anzahl der Kanäle. Bei 64 Ausgangskanälen erhöht sich die Latenz der In-Pixel-Faltungsoperation von 36,1 ms bei 8 Kanälen auf 288,5 ms. Andererseits erhöht sich die Latenz der kombinierten Erkennung und Faltung der ersten Schicht beim klassischen Ansatz nur auf 45,7 ms bei 64 Kanälen von 44 ms bei 8 Kanälen. Dies liegt daran, dass die Faltungsverzögerung einen sehr kleinen Teil der Gesamtverzögerung (Erfassung + ADC + Faltung) im klassischen Ansatz ausmacht. Der Break-Even (Anzahl der Kanäle, ab der die In-Pixel-Faltung im Vergleich zur klassischen Faltung langsamer ist) erfolgt bei 10 Kanälen. Während die Energie der In-Pixel-Faltung von 0,13 mJ bei 8 Kanälen auf 1,0 mJ bei 32 Kanälen ansteigt, steigt die klassische Faltungsenergie von 1,31 mJ bei 8 Kanälen auf 1,39 mJ bei 64 Kanälen. Daher verbraucht unser vorgeschlagener P2M-Ansatz weniger Energie als der klassische Ansatz, selbst wenn die Anzahl der Kanäle auf 64 erhöht wird. Allerdings sind fast alle hochmodernen On-Device-Computer-Vision-Architekturen (z. B. MobileNet und seine Varianten) mit knappen Rechen- und Speicherbudgets (typisch für IoT-Anwendungen) haben nicht mehr als 8 Ausgabekanäle in der ersten Schicht33,43, was unseren algorithmischen Erkenntnissen ähnelt.

Vergleich der normalisierten Gesamt-, Sensor- und SoC-(a)-Energiekosten und (b)-Verzögerung zwischen der P2M- und den Basismodellarchitekturen (komprimiertes C und nicht komprimiertes NC). Beachten Sie, dass die Normalisierung jeder Komponente durch Tauchen des entsprechenden Energiewerts (Verzögerungswerts) mit dem maximalen Gesamtenergiewert (Verzögerungswert) der drei Komponenten erfolgte.

Mit der zunehmenden Verfügbarkeit hochauflösender Bildsensoren besteht eine wachsende Nachfrage nach energieeffizienten KI-Lösungen auf Geräten. Um die große Menge an Datenübertragung zwischen dem Sensor und dem KI-Beschleuniger/Prozessor auf dem Gerät zu verringern, schlagen wir ein neuartiges Paradigma namens Processing-in-Pixel-in-Memory (P2M) vor, das fortschrittliche CMOS-Technologien nutzt, um das Pixelarray zu ermöglichen Führen Sie ein breiteres Spektrum komplexer Operationen durch, einschließlich vieler Operationen, die für moderne Convolutional Neural Networks (CNN)-Pipelines erforderlich sind, wie z. B. Mehrkanal-, Multibit-Faltung, BN- und ReLU-Aktivierung. Folglich werden nur die komprimierten, aussagekräftigen Daten, beispielsweise nach den ersten Schichten der benutzerdefinierten CNN-Verarbeitung, stromabwärts an den KI-Prozessor übertragen, wodurch der mit dem Sensor-ADC verbundene Stromverbrauch und die erforderliche Datenübertragungsbandbreite erheblich reduziert werden. Unsere experimentellen Ergebnisse führen zu einer Reduzierung der Datenraten nach den Sensor-ADCs um bis zu \({\sim }21\times\) im Vergleich zu standardmäßigen sensornahen Verarbeitungslösungen, wodurch die Komplexität der nachgelagerten Verarbeitung erheblich reduziert wird. Dies ermöglicht tatsächlich die Verwendung relativ kostengünstiger Mikrocontroller für viele Embedded-Vision-Anwendungen mit geringem Stromverbrauch und erschließt eine breite Palette visueller TinyML-Anwendungen, die für die Genauigkeit hochauflösende Bilder erfordern, aber durch die Rechen- und Speichernutzung begrenzt sind. Wir können P2M auch für noch komplexere Anwendungen nutzen, bei denen die nachgelagerte Verarbeitung mithilfe bestehender sensornaher Computertechniken implementiert werden kann, die fortschrittliche 2,5- und 3D-Integrationstechnologien nutzen57.

Die während der aktuellen Studie verwendeten und/oder analysierten Datensätze sind auf begründete Anfrage beim entsprechenden Autor erhältlich.

Xie, J. et al. Deep-Learning-basiertes Computer Vision für die Überwachung in seiner: Bewertung modernster Methoden. IEEE Trans. Fahrzeug. Technol. 70, 3027–3042 (2021).

Artikel Google Scholar

Iqbal, U., Perez, P., Li, W. & Barthelemy, J. Wie Computer Vision das Hochwassermanagement erleichtern kann: Eine systematische Überprüfung. Int. J. Reduzierung des Katastrophenrisikos. 53, 102030 (2021).

Artikel Google Scholar

Gomez, A., Salazar, A. & Vargas, F. Auf dem Weg zur automatischen Wildtierüberwachung: Identifizierung von Tierarten in Kamerafallenbildern mithilfe sehr tiefer Faltungs-Neuronalnetze. arXiv-Vorabdruck arXiv:1603.06169 (2016).

Skalierung von CMOS-Bildsensoren. https://semiengineering.com/scaling-cmos-image-sensors/ (2020) (abgerufen am 20. April 2020).

Sejnowski, TJ Die unangemessene Wirksamkeit von Deep Learning in der künstlichen Intelligenz. Proz. Natl. Acad. Wissenschaft. 117, 30033–30038 (2020).

Artikel ADS CAS Google Scholar

Fossum, E. CMOS-Bildsensoren: Elektronische Kamera auf einem Chip. IEEE Trans. Elektronengeräte 44, 1689–1698. https://doi.org/10.1109/16.628824 (1997).

Artikel ADS Google Scholar

Buckler, M., Jayasuriya, S. & Sampson, A. Neukonfiguration der Bildgebungspipeline für Computer Vision. Im Jahr 2017 IEEE International Conference on Computer Vision (ICCV) 975–984 (2017).

Pinkham, R., Berkovich, A. & Zhang, Z. Nahsensorische verteilte DNS-Verarbeitung für erweiterte und virtuelle Realität. IEEE J. Emerg. Sel. Spitze. Schaltungen Syst. 11, 663–676. https://doi.org/10.1109/JETCAS.2021.3121259 (2021).

Artikel ADS Google Scholar

Sony bringt die weltweit ersten intelligenten Bildsensoren mit KI-Verarbeitungsfunktion auf den Markt. https://www.sony.com/en/SonyInfo/News/Press/202005/20-037E/ (2020) (abgerufen am 1. Dezember 2022).

Chen, Z. et al. Verarbeitung einer sensornahen Architektur im Mixed-Signal-Bereich mit CMOS-Bildsensor im Convolutional-Kernel-Readout-Verfahren. IEEE Trans. Schaltungen Syst. Ich Regul. Brei. 67, 389–400 (2020).

Artikel Google Scholar

Mennel, L. et al. Ultraschnelle maschinelle Bildverarbeitung mit 2D-Material-Neuronalen-Netzwerk-Bildsensoren. Natur 579, 62–66 (2020).

Artikel ADS CAS Google Scholar

Bose, L., Dudek, P., Chen, J., Carey, SJ & Mayol-Cuevas, WW Vollständige Einbettung schneller Faltungsnetzwerke in Pixelprozessor-Arrays. In Computer Vision – ECCV 2020 – 16. Europäische Konferenz, Glasgow, Großbritannien, 23.–28. August 2020, Proceedings, Part XXIX Vol. 12374 488–503 (Springer, 2020).

Song, R., Huang, K., Wang, Z. & Shen, H. Eine rekonfigurierbare Convolution-in-Pixel-CMOS-Bildsensorarchitektur. IEEE Trans. Schaltungen Syst. Videotechnologie.https://doi.org/10.1109/TCSVT.2022.3179370 (2022).

Artikel Google Scholar

Jaiswal, A. & Jacob, AP Integrierte Pixel- und zweipolige nichtflüchtige Speicherzelle sowie ein Zellenarray für Deep-In-Sensor-In-Memory-Computing. US-Patent 11.195.580 (2021).

Jaiswal, A. & Jacob, AP Integrierte Pixel- und dreipolige nichtflüchtige Speicherzelle sowie ein Zellenarray für Deep-In-Sensor-In-Memory-Computing. US-Patent 11.069.402 (2021).

Angizi, S., Tabrizchi, S. & Roohi, A. Pisa: Ein Beschleuniger für die Verarbeitung binärer Gewichte im Sensor für die Kantenbildverarbeitung. arXiv-Vorabdruck arXiv:2202.09035 (2022).

He, K., Zhang, X., Ren, S. & Sun, J. Deep Residual Learning für die Bilderkennung. arXiv-Vorabdruck arXiv:1512.03385 (2015).

Iandola, FN et al. SqueezeNet: Genauigkeit auf AlexNet-Niveau mit 50-mal weniger Parametern und einer Modellgröße von <0,5 MB. arXiv-Vorabdruck arXiv:1602.07360 (2016).

Jogin, M. et al. Merkmalsextraktion mithilfe von Convolution Neural Networks (CNN) und Deep Learning. Im Jahr 2018 fand die 3. Internationale IEEE-Konferenz über aktuelle Trends in der Elektronik, Informations- und Kommunikationstechnologie (RTEICT) Vol. 1 2319–2323 (2018).

Cho, K., Kim, D. & Song, M. Ein Dual-CDS mit geringem Stromverbrauch für einen spaltenparallelen CMOS-Bildsensor. JSTS J. Semicond. Technol. Wissenschaft. 12, 388–396 (2012).

Artikel Google Scholar

Ma, J., Masoodian, S., Starkey, DA & Fossum, ER Photonenzahlauflösender Megapixel-Bildsensor bei Raumtemperatur ohne Lawinenverstärkung. Optica 4, 1474–1481 (2017).

Artikel ADS CAS Google Scholar

Toyama, T. et al. Ein 17,7-Mpixel-CMOS-Bildsensor mit 120 Bildern pro Sekunde und einer Auslesegeschwindigkeit von 34,8 GB/s. Im Jahr 2011 IEEE International Solid-State Circuits Conference 420–422 (IEEE, 2011).

Gao, G. et al. Chip-Wafer-Hybrid-Bonding mit Cu-Verbindung: Kompatibilitätsstudie für Großserienfertigungsprozesse. Im Jahr 2019 wurde die International Wafer Level Packaging Conference (IWLPC) Vol. 1 1–9 (2019).

Venezia, VC et al. 1,5 μm Dual-Conversion-Gain, rückseitig beleuchteter Bildsensor mit gestapelten Pixelebenenverbindungen mit 13ke-Full-Well-Kapazität und 0,8e-Rauschen. Im Jahr 2018 IEEE International Electron Devices Meeting (IEDM) Vol. 1 10.1.1–10.1.4 (2018).

Sukegawa, S. et al. Ein 1/4-Zoll-Stapel-CMOS-Bildsensor mit 8 Megapixeln und Hintergrundbeleuchtung. Im 2013 IEEE International Solid-State Circuits Conference Digest of Technical Papers Vol. 1 484–485 (2013).

Lee, BC et al. Phasenwechseltechnologie und die Zukunft des Hauptspeichers. IEEE Micro 30, 143–143. https://doi.org/10.1109/MM.2010.24 (2010).

Artikel Google Scholar

Guo, K. et al. RRAM-basiertes Pufferdesign für einen energieeffizienten CNN-Beschleuniger. Im Jahr 2018 IEEE Computer Society Annual Symposium on VLSI (ISVLSI) Vol. 1 435–440. https://doi.org/10.1109/ISVLSI.2018.00085 (2018).

Chih, Y.-D. et al. 13,3 ein 22 nm 32 MB eingebetteter STT-MRAM mit 10 ns Lesegeschwindigkeit, 1 Mio. Schreibzyklen, 10 Jahren Aufbewahrung bei \(^{150circ}\)c und hoher Immunität gegen Magnetfeldinterferenzen. Im Jahr 2020 IEEE International Solid-State Circuits Conference – (ISSCC) Vol. 1 222–224 (2020).

Khan, A., Keshavarzi, A. & Datta, S. Die Zukunft der ferroelektrischen Feldeffekttransistortechnologie. Nat. Elektron. 3, 588–597 (2020).

Artikel Google Scholar

Gupta, M. et al. Hochdichte SOT-MRAM-Technologie und Designspezifikationen für die eingebettete Domäne bei 5-nm-Knoten. Im Jahr 2020 IEEE International Electron Devices Meeting (IEDM) 24–5 (IEEE, 2020).

Jain, S., Sengupta, A., Roy, K. & Raghunathan, A. RxNN: Ein Framework zur Bewertung tiefer neuronaler Netze auf Widerstandskreuzschienen. Trans. Berechnen. Unterstützte Des. Integr. Schaltungen Syst. 40, 326–338 (2021).

Artikel Google Scholar

Lammie, C. & Azghadi, MR Memtorch: Ein Simulationsframework für tiefe memristive Cross-Bar-Architekturen. Im Jahr 2020 IEEE International Symposium on Circuits and Systems (ISCAS) Vol. 1 1–5 (2020).

Saha, O., Kusupati, A., Simhadri, HV, Varma, M. & Jain, P. RNNPool: Effizientes nichtlineares Pooling für RAM-beschränkte Inferenz. In Advances in Neural Information Processing Systems Vol. 33 (Hrsg. Larochelle, H. et al.) 20473–20484 (Curran Associates, Inc., 2020).

Google Scholar

Courbariaux, M., Hubara, I., Soudry, D., El-Yaniv, R. & Bengio, Y. Binarisierte neuronale Netze: Training tiefer neuronaler Netze mit Gewichtungen und Aktivierungen, die auf +1 oder -1 beschränkt sind. arXiv-Vorabdruck arXiv:1602.02830 (2016).

ON Semiconductor. CMOS-Bildsensor, 1,2 MP, Global Shutter (220). Rev. 10.

Ray, PP Ein Rückblick auf TinyML: Stand der Technik und Perspektiven. J. King Saud Univ. Berechnen. Inf. Wissenschaft. 34, 1595–1623 (2021).

Google Scholar

Sudharsan, B. et al. TinyML-Benchmark: Ausführung vollständig verbundener neuronaler Netze auf handelsüblichen Mikrocontrollern. Im Jahr 2021 IEEE 7th World Forum on Internet of Things (WF-IoT) Vol. 1 883–884 (2021).

Banbury, C. et al. Mikronetze: Neuronale Netzwerkarchitekturen für die Bereitstellung von TinyML-Anwendungen auf handelsüblichen Mikrocontrollern. In Proceedings of Machine Learning and Systems Vol. 3 (Hrsg. Smola, A. et al.) 517–532 (2021).

Chowdhery, A., Warden, P., Shlens, J., Howard, A. & Rhodes, R. Datensatz mit visuellen Weckwörtern. arXiv-Vorabdruck arXiv:1906.05721 (2019).

Lernen Sie Astro kennen, einen Heimroboter wie kein anderer. https://www.aboutamazon.com/news/devices/meet-astro-a-home-robot-unlike-any-other (2021) (abgerufen am 28. September 2021).

Lin, T.-Y. et al. Microsoft Coco: Gemeinsame Objekte im Kontext. arXiv:1405.0312 (2014).

Banbury, CR et al. Benchmarking von TinyML-Systemen: Herausforderungen und Richtung. arXiv-Vorabdruck arXiv:2003.04821 (2020).

Howard, AG et al. Mobilenets: Effiziente Faltungs-Neuronale Netze für mobile Vision-Anwendungen. arXiv-Vorabdruck arXiv:1704.04861 (2017).

Russakovsky, O. et al. Herausforderung zur visuellen Bilderkennung im großen Maßstab. arXiv-Vorabdruck arXiv:1409.0575 (2015).

Han, S., Lin, J., Wang, K., Wang, T. & Wu, Z. Lösung zur Visual Wakeup Words Challenge'19 (Erster Platz). https://github.com/mit-han-lab/VWW (2019).

Zhou, C. et al. Analognets: ML-HW-Co-Design von rauschrobusten TinyML-Modellen und einem ständig aktiven analogen Compute-in-Memory-Beschleuniger. arXiv-Vorabdruck arXiv:2111.06503 (2021).

Stillmaker, A. & Baas, B. Skalierungsgleichungen für die genaue Vorhersage der Leistung von CMOS-Geräten von 180 nm bis 7 nm. Integration 58, 74–81 (2017).

Artikel Google Scholar

Ali, M. et al. IMAC: Multibit-Multiplikation und -Akkumulation im Speicher im 6T-SRAM-Array. IEEE Trans. Schaltungen Syst. Ich Regul. Brei. 67, 2521–2531 (2020).

Artikel Google Scholar

Kundu, S., Nazemi, M., Pedram, M., Chugg, KM & Beerel, PA Vordefinierte Sparsity für Faltungs-Neuronale Netzwerke geringer Komplexität. IEEE Trans. Berechnen. 69, 1045–1058 (2020).

MATH Google Scholar

Kodukula, V. et al. Dynamisches Temperaturmanagement der sensornahen Verarbeitung für energieeffiziente, hochauflösende Bildgebung. Sensoren 21, 926 (2021).

Artikel ADS Google Scholar

Kundu, S., Datta, G., Pedram, M. & Beerel, PA Spike-Thrift: Auf dem Weg zu energieeffizienten Deep-Spiking-Neuronalen Netzwerken durch Begrenzung der Spike-Aktivität durch aufmerksamkeitsgesteuerte Komprimierung. In Proceedings of the IEEE/CVF Winter Conference on Applications of Computer Vision (WACV) 3953–3962 (2021).

Datta, G., Kundu, S. & Beerel, PA Training energieeffizienter neuronaler Deep-Spike-Netzwerke mit Single-Spike-Hybrid-Eingangskodierung. Im Jahr 2021 International Joint Conference on Neural Networks (IJCNN) Vol. 1 1–8 (2021).

Datta, G. & Beerel, PA Können tiefe neuronale Netze in spikende neuronale Netze mit extrem geringer Latenz umgewandelt werden? arXiv-Vorabdruck arXiv:2112.12133 (2021).

Kundu, S., Pedram, M. & Beerel, PA Hire-snn: Nutzung der inhärenten Robustheit energieeffizienter neuronaler Deep-Spike-Netzwerke durch Training mit manipuliertem Eingangsrauschen. In Proceedings of the IEEE/CVF International Conference on Computer Vision 5209–5218 (2021).

Kang, M., Lim, S., Gonugondla, S. & Shanbhag, NR Eine In-Memory-VLSI-Architektur für Faltungs-Neuronale Netze. IEEE J. Emerg. Sel. Spitze. Schaltungen Syst. 8, 494–505 (2018).

Artikel ADS Google Scholar

Datta, G., Kundu, S., Jaiswal, A. & Beerel, PA HYPER-SNN: Auf dem Weg zu energieeffizienten quantisierten Deep-Spiking-Neuronalen Netzen für die hyperspektrale Bildklassifizierung. arXiv-Vorabdruck arXiv:2107.11979 (2021).

Amir, MF & Mukhopadhyay, S. 3D-gestapelter Pixel-Parallelbildsensor mit hohem Durchsatz und integriertem ReRAM-basierten neuronalen Beschleuniger. Im Jahr 2018 IEEE SOI-3D-Subthreshold Microelectronics Technology Unified Conference (S3S) 1–3 (2018).

Referenzen herunterladen

Wir möchten dem DARPA HR00112190120 Award für die Unterstützung dieser Arbeit danken. Die hierin enthaltenen Ansichten und Schlussfolgerungen sind die der Autoren und sollten nicht unbedingt als Ausdruck der offiziellen Richtlinien oder Befürwortungen der DARPA interpretiert werden, sei es ausdrücklich oder stillschweigend.

Diese Autoren trugen gleichermaßen bei: Gourav Datta, Souvik Kundu und Zihan Yin.

Ming Hsieh Fakultät für Elektrotechnik und Informationstechnik, University of Southern California, Los Angeles, USA

Gourav Datta, Souvik Kundu, Zihan Yin, Ravi Teja Lakkireddy, Peter A. Beerel und Akhilesh R. Jaiswal

Institut für Informationswissenschaften, University of Southern California, Los Angeles, USA

Joe Mathai, Ajey P. Jacob und Akhilesh R. Jaiswal

Sie können diesen Autor auch in PubMed Google Scholar suchen

Sie können diesen Autor auch in PubMed Google Scholar suchen

Sie können diesen Autor auch in PubMed Google Scholar suchen

Sie können diesen Autor auch in PubMed Google Scholar suchen

Sie können diesen Autor auch in PubMed Google Scholar suchen

Sie können diesen Autor auch in PubMed Google Scholar suchen

Sie können diesen Autor auch in PubMed Google Scholar suchen

Sie können diesen Autor auch in PubMed Google Scholar suchen

GD und SK schlugen die Verwendung von P2M für TinyML-Anwendungen vor, entwickelten die Basismodelle und P2M-beschränkte Modelle und analysierten ihre Genauigkeiten. GD und SK analysierten die EDP-Verbesserungen gegenüber anderen Standardimplementierungen mit Hilfe von ARJ und ZYAPJ und ARJ schlug die Idee von P2M vor und ZY und RL entwickelten das entsprechende Schaltungssimulations-Framework. JM half dabei, die Nichtidealität der P2M-Schicht in das ML-Framework zu integrieren. GD und ARJ haben den Großteil des Artikels geschrieben, während SK, APJ und ZY die restlichen Teile geschrieben haben. APJ half bei der Machbarkeitsanalyse für die Herstellung und schlug die Verwendung eines heterogenen Integrationsschemas für P2M vor. PB überwachte die Recherche und redigierte das Manuskript umfassend. Alle Autoren haben das Manuskript überprüft. Beachten Sie, dass AJ1 und AJ2 APJ bzw. ARJ sind.

Korrespondenz mit Gourav Datta.

Die Autoren geben an, dass keine Interessenkonflikte bestehen.

Springer Nature bleibt neutral hinsichtlich der Zuständigkeitsansprüche in veröffentlichten Karten und institutionellen Zugehörigkeiten.

Open Access Dieser Artikel ist unter einer Creative Commons Attribution 4.0 International License lizenziert, die die Nutzung, Weitergabe, Anpassung, Verbreitung und Reproduktion in jedem Medium oder Format erlaubt, sofern Sie den/die Originalautor(en) und die Quelle angemessen angeben. Geben Sie einen Link zur Creative Commons-Lizenz an und geben Sie an, ob Änderungen vorgenommen wurden. Die Bilder oder anderes Material Dritter in diesem Artikel sind in der Creative Commons-Lizenz des Artikels enthalten, sofern in der Quellenangabe für das Material nichts anderes angegeben ist. Wenn Material nicht in der Creative-Commons-Lizenz des Artikels enthalten ist und Ihre beabsichtigte Nutzung nicht gesetzlich zulässig ist oder über die zulässige Nutzung hinausgeht, müssen Sie die Genehmigung direkt vom Urheberrechtsinhaber einholen. Um eine Kopie dieser Lizenz anzuzeigen, besuchen Sie http://creativecommons.org/licenses/by/4.0/.

Nachdrucke und Genehmigungen

Datta, G., Kundu, S., Yin, Z. et al. Ein Paradigma der Verarbeitung im Pixel im Speicher für ressourcenbeschränkte TinyML-Anwendungen. Sci Rep 12, 14396 (2022). https://doi.org/10.1038/s41598-022-17934-1

Zitat herunterladen

Eingegangen: 16. März 2022

Angenommen: 03. August 2022

Veröffentlicht: 23. August 2022

DOI: https://doi.org/10.1038/s41598-022-17934-1

Jeder, mit dem Sie den folgenden Link teilen, kann diesen Inhalt lesen:

Leider ist für diesen Artikel derzeit kein Link zum Teilen verfügbar.

Bereitgestellt von der Content-Sharing-Initiative Springer Nature SharedIt

Durch das Absenden eines Kommentars erklären Sie sich damit einverstanden, unsere Nutzungsbedingungen und Community-Richtlinien einzuhalten. Wenn Sie etwas als missbräuchlich empfinden oder etwas nicht unseren Bedingungen oder Richtlinien entspricht, kennzeichnen Sie es bitte als unangemessen.