DE102021132449B4 - Verfahren zur Konfiguration eines neuronalen Netzes - Google Patents

Verfahren zur Konfiguration eines neuronalen Netzes Download PDF

Info

Publication number
DE102021132449B4
DE102021132449B4 DE102021132449.1A DE102021132449A DE102021132449B4 DE 102021132449 B4 DE102021132449 B4 DE 102021132449B4 DE 102021132449 A DE102021132449 A DE 102021132449A DE 102021132449 B4 DE102021132449 B4 DE 102021132449B4
Authority
DE
Germany
Prior art keywords
genetic algorithm
hardware architecture
hardware
configurations
search
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
DE102021132449.1A
Other languages
English (en)
Other versions
DE102021132449A1 (de
Inventor
Alexander Frickenstein
Manoj Rohit Vemparala
Nael Fasfous
Walter Stechele
Lukas Frickenstein
Hans-Joerg Voegel
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bayerische Motoren Werke AG
Original Assignee
Bayerische Motoren Werke AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Bayerische Motoren Werke AG filed Critical Bayerische Motoren Werke AG
Priority to DE102021132449.1A priority Critical patent/DE102021132449B4/de
Publication of DE102021132449A1 publication Critical patent/DE102021132449A1/de
Application granted granted Critical
Publication of DE102021132449B4 publication Critical patent/DE102021132449B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0495Quantised networks; Sparse networks; Compressed networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/12Computing arrangements based on biological models using genetic models
    • G06N3/126Evolutionary algorithms, e.g. genetic algorithms or genetic programming

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computational Linguistics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Physiology (AREA)
  • Genetics & Genomics (AREA)
  • Neurology (AREA)
  • Complex Calculations (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

Verfahren zur Parametrisierung und/oder Dimensionierung, nachfolgend als „Konfiguration (3)“ bezeichnet, eines neuronalen Netzes (10) unter Berücksichtigung möglicher mit den optimierten Konfigurationen (3) zu verwendender geeigneter Hardware-Architekturen umfassend die Schritte:
- Verwendung eines ersten genetischen Algorithmus (1) zur Erzeugung einer Vielzahl von Konfigurationen (3),
- Übergeben eines jeweiligen Hardwarearchitektursuchauftrages (4) zu der erzeugten Vielzahl von Konfigurationen (3) an einen zweiten genetischen Algorithmus (2),
- Ausgeben einer Vielzahl durch den zweiten genetischen Algorithmus (2) gefundener geeigneter Hardwarearchitekturergebnisse (16) an den ersten genetischen Algorithmus (1), und
- Fortentwickeln der Konfiguration (3) anhand der gefundenen geeigneten Hardwarearchitekturergebnisse (16) mittels des ersten genetischen Algorithmus (1).

Description

  • Die vorliegende Erfindung betrifft ein Verfahren zur Konfiguration eines neuronalen Netzes unter rechtzeitiger Berücksichtigung verfügbarer Hardware für eine Implementierung desselben.
  • Die Beschleunigung moderner Faltungsneuronaler Netze (CNNs) für eingebettete Anwendungen stellt in verschiedenen Bereichen Herausforderungen dar. Die eingeschränkte Beschaffenheit eingebetteter Hardware setzt enge Budgets für Speicher- und Rechenressourcen voraus, während sicherheitskritische Anwendungen Mindestanforderungen an die aufgabenbezogene Vorhersagegenauigkeit stellen. Diese Hardware(HW)- und Software(SW)-Einschränkungen können zu gegensätzlichen Designzielen führen.
  • Ein Beispiel für ein solches HW-SW-Co-Design-Szenario ist die numerische Quantisierung von CNNs und das HW-Design eines bit-seriellen Akzelerators. Quantisierung ist ein Standardansatz zur Reduzierung der Bitbreite von Operanden und der Komplexität der arithmetischen Operationen eines CNN. Zu den Vorteilen der Quantisierung gehören einfachere arithmetische HW, eine höhere Effizienz der Datenbewegung, ein geringerer Energiebedarf und eine niedrigere Latenzzeit von Berechnungen auf einem Akzelerator. Zudem hat sich gezeigt, dass CNNs hinsichtlich der Güte der Anwendung! Genauigkeit der Prädiktion von schichtweiser und datentypvariabler numerischer Präzision profitieren. Um die genannten Vorteile der variablen numerischen Genauigkeit zu nutzen, kann ein HW-Akzelerator bit-serielle Recheneinheiten verwenden. Ein solcher Akzelerator kann ein Array räumlich verteilter Recheneinheiten und einen verteilten On-Chip-Puffer aufweisen, um das Berechnungsarray effizient mit Daten zu versorgen.
  • Damit der CNN-Designer und der HW-Ingenieur effektiv zu einer Lösung gelangen können, die den Einschränkungen einer Anwendung genügt, muss ein großer und komplexer Lösungsraum untersucht werden. Dies motiviert das Design eines leichtgewichtigen, einfach rekonfigurierbaren HW-Modells, das verwendet werden kann, um Designentscheidungen in diesem komplexen Raum zu bewerten. Die Nutzung der Geschwindigkeit und Flexibilität solcher Modelle kann die Entwicklung der HW parallel zu den CNN-Design-Phasen ermöglichen, ohne prohibitive Synthese- oder zyklusgenaue Simulationsengpässe.
  • Hierzu beschreibt Fasfous, Nael et al.: HW-FlowQ: A Multi-Abstraction level HW-CNN Co-design Quantization Methodology, ACM Transactions on Embedded Computing Systems (TECS), 2021, 20. Jg., Nr. 5s, S. 1-25, einen systematischen Ansatz, der das Co-Design der Zielhardwareplattform und des komprimierten CNN-Modells durch Quantisierung ermöglicht. Der Suchraum wird auf drei Abstraktionsebenen betrachtet, was einen iterativen Ansatz ermöglicht, um den Lösungsraum einzugrenzen, bevor ein CNN-Hardwaremodellierungstool erreicht wird, das in der Lage ist, die Auswirkungen von Mixed-Precision-Quantisierungsstrategien auf verschiedene Hardware-Architekturen und zwei Arten von Recheneinheiten zu berücksichtigen. Hierbei wird ein multiobjektiver, nicht-dominierender genetischer Algorithmus eingesetzt, um einen Pareto-optimalen Satz von Quantisierungsstrategien für die Ziel-HW-Metriken auf jeder Abstraktionsebene zu ermöglichen. Der Algorithmus findet Optima in einem diskreten Suchraum und maximiert die aufgabenbezogene Genauigkeit des zugrunde liegenden CNN bei gleichzeitiger Minimierung der hardwarebezogenen Kosten.
  • Zudem offenbart Lin, Yujun et al.: Neural-Hardware Architecture Search, NeurIPS WS, 2019, S. 1-5, eine automatische, auf maschinellem Lernen basierende Architektur-Suche. Diese Suche umfasst eine Hardware-Architektur-Suche und eine quantisierte neuronale Architektur-Suche, um die am besten passenden Neural-Hardware-Architekturen zu finden.
  • Ausgehend vom vorgenannten Stand der Technik ist es eine Aufgabe der vorliegenden Erfindung, eine geeignete Software-/Hardware-Kombination für die Implementierung neuronaler Netze zu finden und hierbei insbesondere Zeit zu sparen, Rechenaufwand zu verringern und akkurate Ergebnisse zu erzielen.
  • Die vorliegende Offenbarung schlägt einen verschachtelten Co-Design-Ansatz vor, um HW-Design parallel zur Quantisierungssuche durchzuführen, was zu einer engen Kopplung zwischen der HW und dem CNN führt, ohne iterativ oder sequentiell zwischen den beiden Bereichen zu wechseln. Anders ausgedrückt ist es eine Aufgabe, eine optimale HW Konfiguration zu identifizieren, welche in der Lage ist, die Operationen des neuronalen Netzes optimal (insbesondere hinsichtlich minimalen Energiebedarfes, bester Laufzeit, etc.) auszuführen.
  • Die vorstehend genannte Aufgabe wird also erfindungsgemäß durch ein Verfahren zur Optimierung einer Parametrisierung und/oder Dimensionierung eines neuronalen Netzes gelöst. Das Verfahren kann als Entwurfsverfahren bzw. für die Entwicklung sich neuronaler Netze bedienender rechentechnischer Einheiten verstanden werden. Die Parametrisierung und/oder Dimensionierung kann auch als „Konfiguration“ des neuronalen Netzes verstanden werden. Beispielsweise kann die Quantisierungsstrategie des neuronalen Netzes (softwareseitig) dahingehend optimiert werden, dem beabsichtigten Zweck / der beabsichtigten Aufgabe bestmöglich angepasste Verfahren zu formulieren und eine optimale HW Konfiguration zu identifizieren. Bei der Findung geeigneter Hardware hat sich im Stand der Technik stets die Frage gestellt, inwiefern die vollständige Neuentwicklung geeigneter Recheneinheiten gegenüber der Verwendung bereits verfügbarer Recheneinheiten zu bevorzugen ist, um das Kosten/Nutzen-Verhältnis zu optimieren. Insbesondere werden im Rahmen der vorliegenden Erfindung somit Hardware-Architekturen gesucht, welche eine bestmögliche Eignung für den beabsichtigten Anwendungsfall aufweisen, ohne diese erst neu entwickeln zu müssen. Mit anderen Worten kann die Suche als eine Suche nach existierenden Hardware-Bausteinen mit entsprechenden Architekturen ausgeführt werden, ohne auf diesen Anwendungsfall beschränkt zu sein. In einem ersten Schritt wird ein erster genetischer Algorithmus zur Erzeugung einer Vielzahl von Konfigurationen verwendet, wodurch z.B. eine Population unterschiedlicher Quantisierungsstrategien entsteht. Der erste genetische Algorithmus wird im Rahmen der vorliegenden Offenbarung auch als „äußerer“ genetischer Algorithmus bezeichnet, da er - wie später im Detail erläutert wird - einen Unterauftrag an einen zweiten („inneren“) genetischen Algorithmus ausspricht und dessen Ergebnisse anschließend weiterverarbeitet. Der erste genetische Algorithmus kann ein metaheuristisches Optimierungsverfahren ausführen, welches im Stand der Technik grundsätzlich bekannt ist. Der erste genetische Algorithmus kann insbesondere ein SOGA (single objectiv genetischer Algorithmus) sein oder einen solchen umfassen. Zumindest wird im ersten Schritt die Grundlage dafür geschaffen, dass eine Vielzahl von Konfigurationen vorgeschlagen werden, welche es einerseits im weiteren Verlaufe zu optimieren und andererseits mit einer geeigneten Hardware zu implementieren gilt. Hierbei kann also eine Anpassung der Konfiguration bzw. Quantisierungsstrategie an die Hardware und andersherum auch ein Einfluss grundsätzlich geeigneter Hardware auf die Ausgestaltung mit ihr verwendbarer Quantisierungsstrategien haben. In einem nächsten Schritt wird daher ein jeweiliger Hardware-Architektur-Suchauftrag zu der erzeugten Vielzahl von Konfigurationen automatisch an den vorgenannten zweiten genetischen Algorithmus übergeben. Zu jeder als geeignet kategorisierten Quantisierungsstrategie der Population wird somit (insbesondere parallel) eine Vielzahl Hardware-Suchaufträge (HAS) an einen zweiten genetischen Algorithmus ausgelagert, welcher als „innerer“ genetischer Algorithmus bezeichnet wird, da er vom ersten genetischen Algorithmus einen Auftrag erhält und diesem auch die gefundenen Ergebnisse zurückliefert. Anders ausgedrückt werden insbesondere parallel mehrere innere GA basierte Hardware-Suchaufträge gestartet. Der zweite genetische Algorithmus kann als NSGA2 (non-dominated sorting genetischer Algorithmus) ausgestaltet sein. Mit anderen Worten kann der zweite genetische Algorithmus hinsichtlich seines Aufbaues, seiner Prioritäten, insbesondere seiner Parameter, gänzlich an andere Rahmenbedingungen angepasst sein als der erste genetische Algorithmus. Durch den inneren genetischen Algorithmus gefundene geeignete Hardware-Architekturergebnisse, welche als Ergebnis der Hardware-Architektur Suchaufträge erstellt worden sind, werden anschließend automatisch an den ersten genetischen Algorithmus ausgegeben. Die Vielzahl Suchaufträge, welche insbesondere (anteilig) parallel zueinander mittels des zweiten genetischen Algorithmus abgearbeitet worden sind, führen sozusagen zu einem Ergebnispool unterschiedlicher Hardware-Designs, welche sämtlich dem ersten genetischen Algorithmus übergeben werden. Anhand dieses Ergebnisses kann der erste genetische Algorithmus nun seine Suche nach einer geeigneten Quantisierungsstrategie fortsetzen bzw. fortentwickeln. Indem konkrete in Frage kommende Hardware-Architekturen von nun an bekannt sind, kann eine Fortentwicklung der Quantisierungsstrategie unter Berücksichtigung der verfügbaren Hardware zielgerichteter und somit weniger rechenintensiv ausgeführt werden. Hervorzuheben ist, dass Konfigurationen neuronaler Netze, welche keine geeignete Hardware-Architektur aufweisen, an dieser Stelle verworfen werden. Diese Konfigurationen /Individuen der Population müssen somit nicht weiter durch den äußeren GA betrachtet werden. Dies verringert auch die Zeit bis zum Vorliegen geeigneter (End-)Ergebnisse. Beim Fortentwickeln können beispielsweise die der Population angehörigen Quantisierungsstrategien überarbeitet bzw. überprüft werden und insbesondere durch cross-over (übergreifende) Zusammensetzungen und Mutationen (Veränderungen ohne konkrete Übernahme von Eigenschaften fremder Quantisierungsstrategien) umfassen. Das Ergebnis der Fortentwicklung kann in einer weiteren Schleife erneut zur Formulierung neuer Hardware-Suchaufträge verwendet werden, welche anschließend erneut an den zweiten genetischen Algorithmus zur Findung verbesserter Hardware-Architektur-Designs übergeben werden. Aufgrund unterschiedlicher Anforderungen für die Findung und Weiterentwicklung von Quantisierungsstrategien gegenüber der Findung geeigneter Hardware-Architekturen können in erfindungsgemäßer Weise zwei jeweils geeignete genetische Algorithmen verwendet werden und die jeweiligen Vorzüge der beiden Algorithmen genutzt werden, ohne auch die jeweiligen Nachteile der Algorithmen in Bezug auf die übrigen Aufgaben in Kauf nehmen zu müssen. Entwicklungsprozesse für die Implementierung neuronaler Netze können somit erheblich beschleunigt sowie weniger kostenintensiv und personalintensiv ausgeführt werden. Zudem kann mit immer kürzeren Entwicklungszeiten im Automobilbau oder anderen Branchen besser Schritt gehalten werden.
  • Die Unteransprüche zeigen bevorzugte Weiterbildungen der Erfindung.
  • Der erste genetische Algorithmus kann erste Kriterien anwenden, um insbesondere aufgabenbezogene Güten des neuronalen Netzes und/oder eine Genauigkeit einer Applikation zu verbessern. Beispielsweise kann eine Selektion gefundener und grundsätzlich geeigneter Hardware-Architekturen in Abhängigkeit der formulierten Quantisierungsstrategien vorgenommen werden. Die Kriterien können beispielsweise durch einen Anwender oder automatisch aufgrund eines Einsatzgebietes des neuronalen Netzes formuliert und bedarfsweise angepasst/gewichtet werden. Alternativ oder zusätzlich können auch durch den zweiten genetischen Algorithmus zweite vordefinierte Kriterien angewendet werden, um die anwendungsbezogenen Randbedingungen bei der Hardware-Architektursuche zu berücksichtigen. Beispielsweise kann ein Energiebedarf und/oder ein Speicherplatzbedarf und/oder eine Anzahl an Rechenzyklen und/oder eine Laufzeit einer Zielanwendung zusätzliche Kriterien bei der automatischen Suche/Entwicklung und der etwaigen Selektion der Hardware-Architekturen vor der Ausgabe an den ersten genetischen Algorithmus angewandt werden. Beispielsweise kann eine automobile Verwendung eine höhere Anforderung an eine Echtzeitfähigkeit der Auswertung stellen als eine mobile Anwendung in einem tragbaren Anwenderendgerät. Demgegenüber kann der Energieverbrauch bzw. Energiebedarf in einer mobilen Anwendung deutlich wichtiger als in einem Fortbewegungsmittel mit vergleichsweise großen energetischen Reserven sein. Eine Möglichkeit für eine automobile Verwendung ist Objekterkennung in Verbindung mit Umgebungssensorik, insbesondere die Erkennung von Fußgängern, Verkehrsteilnehmern und Infrastrukturelementen (Verkehrszeichen). Eine wiederum andere Gewichtung hardware-bezogener Qualitätskriterien ergibt sich für einen Server, welcher weder mobil noch hinsichtlich energetischer Ressourcen besonders kritisch ist, während hier gegebenenfalls die dauerhafte Verfügbarkeit und Bereithaltung von rechentechnischen Ressourcen schwerer wiegen als z.B. bei einer Anwendung auf einem Smartphone.
  • Um das Verfahren weiter zielgerichtet zu gestalten, kann vorgesehen sein, dass die von dem zweiten genetischen Algorithmus gelieferten Hardware-Architektur-Ergebnisse durch den ersten genetischen Algorithmus dahingehend überprüft werden, ob es eine Quantisierungsstrategie gibt, welche mittels keiner der gefundenen Hardware-Architekturen in geeigneter Weise implementiert werden kann. Eine solche Quantisierungsstrategie (auch „Genom“ genannt), kann anschließend vollständig aus der weiteren Betrachtung ausgeschlossen werden, da eine realistische Aussicht auf hardwaretechnische Implementierung eine offensichtlich nicht erfüllbare Voraussetzung darstellt. Somit kann die Rechenleistung bzw. die Rechenanforderung durch die Exploration des Suchraums des ersten genetischen Algorithmus auf diejenigen Genome beschränkt werden, welche Aussicht auf Realisierbarkeit aufweisen. Auf diese Weise kann die Population verringert werden, bevor anschließend erste Kriterien auf die Weiterentwicklung der Quantisierungsstrategien sowie deren Kreuzung oder Vermischung („Crossover“) und Mutation angewendet werden. Durch diese Maßnahme ist der äußerst komplexe und große Suchraum mit heutigen Mittel/Servern vorteilhaft zu explorieren.
  • Das neuronale Netz kann insbesondere als faltendes (convolutionary) neuronales Netz ausgestaltet sein.
  • Die Ausgestaltung der Hardware-Architektur kann parametrisierbar sein. Hierzu kann beispielsweise ein analytisches Modell in dem zweiten genetischen Algorithmus verwendet werden, um rasche Ergebnisse mit vergleichsweise geringem Rechenaufwand erzeugen zu können. Zudem sind synthetisierbare Hardware-Beschreibungen zur Abschätzung und/oder Simulation der Hardware-Architektur anwendbar, so dass insbesondere Laufzeit, Speicherbedarf, Energiebedarf und die Abmessungen/Größe der Hardware-Architektur bestmöglich definiert werden können.
  • Die Hardware-Architekturen können beispielsweise mehrere räumlich voneinander getrennte Rechenelemente aufweisen, welche in Reihen und/oder Matrizen und/oder kubischen Geometrien angeordnet sein können bzw. logisch funktionieren können. Die Architekturen können daher insbesondere durch eine bestimmte Länge und/oder Breite und/oder Höhe einer mehrdimensionalen Matrix von einzelnen Rechenelementen definiert bzw. gegenüber anderen Architekturen ausgezeichnet sein. Diesen Hardware-Architekturen können auch unterschiedliche Linien/Matrizen/Kuben von Speicherarrays zugeordnet sein und durch den zweiten genetischen Algorithmus auf Eignung für die Implementierung des neuronalen Netzes mit den gefundenen Quantisierungsstrategien verwendet werden.
  • Die Hardware-Architektur kann mehrere Speicherarrays aufweisen, welche parametrisierbar ausgestaltet sind. Beispielsweise kann ein einzelnes Speicherarray, zwei Speicherarrays, drei Speicherarrays oder mehr Speicherarrays Bestandteil der Hardware-Architekturen sein und deren Eignung für die zugrundeliegende Zielsetzung bedingen.
  • Beispielsweise kann ein individuelles Speicherarray jeweils für die Operanden einer Berechnung und/oder für das Rechenergebnis bereitgestellt werden.
  • Beispielsweise kann die Hardware-Architektur eine Bit-Serial Akzelerator-Struktur aufweisen. Eine solche Struktur hat sich für die Verwendung in gattungsgemäßen neuronalen Netzen und insbesondere durch Versuche der erfindungsgemäßen Entwicklung von neuronalen Netzen als vorteilhaft herausgestellt.
  • Die Konfigurationen können beispielsweise eine Quantisierungsstrategie umfassen, welche beispielsweise die Wortweite der Aktivierungen (zu lernender Eingabe-Informationen) und/oder Gewichte und/oder Rechenoperationen (auch Filter) beeinflussen. Alternativ oder zusätzlich können die Konfigurationen auch ein Stutzen (Englisch: Pruning), also das Entfernen von Filtern und/oder Kanälen und Gewichten, aufweisen. Insbesondere können auf diese Weise weniger komplexe Rechenvorschriften gefunden werden. Die Konfiguration kann alternativ oder zusätzlich auch eine Suche nach einer neuronalen Architektur definieren, welche grundsätzlich bereits existieren kann oder im Zuge des zweiten genetischen Algorithmus zu entwickeln ist.
  • Der erste genetische Algorithmus kann beispielsweise eine Vielzahl jeweiliger Hardware-Architektur-Suchaufträge zu den erzeugten Genomen der Population an den zweiten genetischen Algorithmus parallel an mehrere innere/zweite genetische Algorithmen übergeben. Mit anderen Worten kann ein zweiter Hardware-Architektur-Suchauftrag an den ersten genetischen Algorithmus übergeben werden, bevor ein ihm vorausgegangener Hardware-Architektur-Suchauftrag bereits Hardware-Architektur-Ergebnisse an den ersten genetischen Algorithmus übergeben hat. In entsprechender Weise können auch drei oder mehr Hardware-Architektur-Suchaufträge an den zweiten genetischen Algorithmus bzw. parallel ablaufende zweite genetische Algorithmen übergeben werden, bevor die jeweiligen Ergebnisse zu den Suchaufträgen geliefert worden sind. Die o.g. Außerachtlassung unterschiedlicher Elemente der Population kann nun jeweils in Anbetracht eines einzelnen Ergebnisses eines Hardware-Suchauftrages oder in Anbetracht einer Vielzahl durch parallele Hardware-Suchaufträge gelieferte Hardware-Architektur-Ergebnisse erfolgen.
  • Auch die durch den zweiten genetischen Algorithmus bearbeiteten Hardware-Architektur-Aufträge können mehrere Hardware-Architektur-Kandidaten hervorbringen, welche durch den zweiten genetischen Algorithmus in einer zweiten Iterationsschleife überprüft/überarbeitet werden. Zuvor kann Crossover oder Mutation ausgeführt werden, um neue geeignete Lösungen bzw. Hardware-Architektur-Kandidaten zu erzeugen. Die Hardware-Architektur-Suche kann die Ausführung einer Vielzahl von Schleifen mit jeweiligen Selektionsschritten, Crossovers und Mutationen umfassen, um bestmögliche Ergebnisse an den ersten genetischen Algorithmus zurückliefern zu können und dort eine größtmögliche Ausrichtung auf den Einsatzzweck zu ermöglichen.
  • Insbesondere kann für eine Vielzahl gefundener Hardware-Architektur-Ergebnisse ein mehrdimensionaler Pareto-optimaler Lösungsraum erfasst werden, bevor die Vielzahl durch den zweiten genetischen Algorithmus gefundener geeigneter Hardware-Architektur-Ergebnisse an den ersten genetischen Algorithmus zurückgeliefert werden. Vor der Ausgabe an den ersten genetischen Algorithmus kann insbesondere geprüft werden, ob die gefundene Menge an Hardware-Architektur-Ergebnissen bzw. Hardware-Architektur-Kandidaten größer Null ist.
  • In dieser Erfindung wird die HW-Architektursuche (HAS) in einer verschachtelten genetischen Algorithmus (GA)-Formulierung in die Quantisierung-Strategie-Suche (QSS) eingebettet. Die wichtigsten Beiträge dieser Erfindung lassen sich wie folgt zusammenfassen:
    • - Formulieren eines analytischen HW-Modells für die Ausführung von CNN-Arbeitslasten auf einem hochmodernen bit-seriellen Akzelerator zum Ermöglichen einer schnellen Untersuchung und Bewertung von HW-Leistung und Ressourcennutzung, ohne Notwendigkeit einer kostenaufwändigen Synthese oder Simulation.
    • - Komprimieren von CNNs durch schichtweise, datentypweise Quantisierung-Strategie-Suche (QSS) und Automatisierung des Designs eines bit-seriellen Akzelerators durch HW-Architektursuche (HAS), durch Formulierung eines single objektiven und eines multiobjektiven GAs, die den Bedarf an handgefertigten Belohnungsfunktionen umgehen.
    • - Einfügen eines HAS-Loops, also einer Hardware-Architektur-Suche mittels eines genetischen Algorithmus in den QSS-Loop. Für jede von QSS vorgeschlagene potenzielle Quantisierung-Strategie bewertet der HAS-Loop effizient eine 4-D-HW-Design-Pareto-Front. Nach Synthese erreicht das gemeinsam entworfene HW-CNN-Paar eine Reduzierung der Latenzzeit und der DRAM-Zugriffe um 35 % bzw. 37 % bei einer um 2,88 p. p. höheren Genauigkeit im Vergleich zu einem 2-Bit-ResNet20-CIFAR-10, das auf einer Standard Edge-Variante des Akzelerators ausgeführt wird.
  • Weitere Einzelheiten, Merkmale und Vorteile der Erfindung ergeben sich aus der nachfolgenden Beschreibung und den Figuren. Es zeigen:
    • 1 eine schematische Darstellung einer Hardware-Architektur für ein neuronales Netz;
    • 2 ein Flussdiagramm veranschaulichend die Struktur der Arbeitsschritte und Informationsflüsse bei der Ausführung eines erfindungsgemäßen Verfahrens zur Optimierung einer Parametrisierung und/oder Dimensionierung eines neuronalen Netzes; und
    • 3 zeigt eine schematische Darstellung eines neuronalen Netzes umfassend eine Mehrzahl Schichten, mit einer Detaildarstellung einer exemplarischen faltenden Schicht.
  • In diesem Abschnitt werden drei Hauptkomponenten dieser Erfindung vorgestellt:
    1. (1) das analytische Akzelerator-Modell,
    2. (2) der Quantisierung-Strategie-Such(QSS)-Algorithmus und
    3. (3) der Hardware-Architektur-Such(HAS)-Algorithmus, gefolgt von AnaCoNGA.
  • A. Modellierung eines bit-seriellen Akzelerators für BISMO
  • Faltungs- und vollverknüpfte Schichten können durch Darstellung des Gewichtstensors Wl und des Aktivierungstensors Al-1 der Schicht l als 2-D-Matrizen MatW und MatA (Gl. (1)) auf eine allgemeine Matrixmultiplikation (GEMM) reduziert werden. Die Dimensionen m und n bezeichnen die Zeilen und Spalten der jeweiligen Matrix. Mat W m W × n W ,  Mat A m A × n A A l = Conv ( W l , A l 1 ) = Mat W × Mat A
    Figure DE102021132449B4_0001
  • Es ist zu beachten, dass das Transponieren beider Matrizen und das Umstellen ihrer Reihenfolge ebenfalls zum Faltungsergebnis führen würde. Daher wird im weiteren Text auf die Matrixpositionen und nicht auf den Datentyp Bezug genommen. LHS ist die linksseitige Matrix, während RHS die rechte Seite bezeichnet. Aus Gründen der Lesbarkeit werden m Zeilen und n Spalten als tiefgestellte Indizes der entsprechenden Matrix angezeigt, wenn auf ihre Dimensionen Bezug genommen wird, z. B. ist LHSn die Anzahl der Spalten der linksseitigen Matrix.
  • Der BISMO-Akzelerator, abstrahiert in 1, umfasst ein Dm × Dn Array von Verarbeitungselementen (PEs). Jedes PE ist für das Skalarprodukt einer Zeile der LHS mit einer Spalte der RHS zuständig. Aufgrund der bit-seriellen Zerlegung der GEMM-Operation muss dieselbe Zeile und Spalte so oft berechnet werden, wie es die Bitbreiten ihrer Operanden erfordern. Normalerweise ist Dm × Dn viel kleiner als LHSm × RHSn der Schicht. Die Berechnung muss in Kacheln mit einer kleineren Größe Dm × Dn aufgeteilt werden. Außerdem kann jedes PE Dk binäre Skalarprodukte parallel ausführen, wobei das Zeilen-Spalten-Skalarprodukt in Kacheln von Dk berechnet wird, wenn das innere Produkt von LHS und RHS größer als Dk ist. Um eine strukturierte Parallelität im gesamten Berechnungsarray aufrechtzuerhalten, werden die LHS- und RHS-Matrizen aufgefüllt, um Matrizen zu erhalten, die durch die Dimensionen des Arrays teilbar sind. Mit den aufgefüllten Matrizen lässt sich die Anzahl der Kacheln, die für den Abschluss der Berechnung erforderlich sind, in Gl. (2) ausdrücken. T m = Padded_LHS m / D m ,  T n = Padded_RHS n / D n , T k = Padded_LHS n / D k
    Figure DE102021132449B4_0002
  • Bei Kenntnis der Größe der aufgefüllten Matrizen und der Anzahl der Kacheln, die für die GEMM-Operation erforderlich sind, kann die Größe jeder Kachel in Bytes gemäß Gl. (3) berechnet werden, wobei LHSbits die numerische Genauigkeit der LHS-Elemente ist. LHS_T bytes = Padded_LHS m Padded_LHS n LHS bits T m 8
    Figure DE102021132449B4_0003
  • DRAM-Anforderungen, die sich auf die LHS beziehen, hängen sowohl von Tm als auch von Tn ab, während RHS-Elemente nur Tn Mal angefordert werden (siehe Gl. (4)). Dies ist eine Funktion des Standard-Planers von BISMO, der die Wiederverwendung der RHS-Matrix beibehält. Jedes Tm der LHS muss gegen alle Kacheln Tn der RHS berechnet werden, sodass der Planer die RHS-Kacheln auf dem Chip behält, bis sie erschöpfend verwendet worden sind. Wenn eine neue Kachel der RHS geladen wird, müssen alle Tm Kacheln der LHS zur Berechnung mit ihr erneut aufgerufen werden. DRAM LHS = T m T n LHS_T bytes ,  DRAM RHS = T n RHS_T bytes DRAM Result = LHS m RHS n 4,   32 bit write back DRAM Total = DRAM LHS + DRAM RHS + DRAM Results
    Figure DE102021132449B4_0004
  • Schließlich, bei Betrachtung der für die Berechnung aufgewendeten Zyklen, muss jedes Bit jeder Kachel jeder Matrix gegen die Bits der anderen Matrix berechnet werden. Zusätzliche Zyklen werden als Teil der Pipeline für jede Bitkombination auf jedem Tm, das gegen Tn berechnet wird, aufgewendet. Beim BISMO-Akzelerator überschneiden sich Datenübertragungen mit Berechnung, sodass Gl. (5) für die Untersuchung des Designraums hinreichend genau ist. Compute_Cycles = ( T m T n T k LHS bits RHS bits ) + T m T n ( 8 ( LHS bits RHS bits + 1 ) + 3 ) + 2 T n
    Figure DE102021132449B4_0005
  • Mit dieser Analyse können Workload-Ausführungsmetriken in Bezug auf HW-Parameter bewertet werden, wie z. B. die Berechnung der Array-Dimensionen Dm, Dn, Dk sowie der On-Chip-Puffergrößen für LHS und RHS, ohne dass die HW jedes Mal synthetisiert werden muss. Das in diesem Abschnitt vorgestellte analytische Modell wird verwendet, um eine schnelle Untersuchung und ein schnelles Design der HW als Beispiel durchzuführen. Es ist wichtig zu erwähnen, dass AnaCoNGA nicht auf dieses analytische HW-Modell beschränkt ist; die in den nächsten Abschnitten vorgestellten Optimierungsschleifen können potenziell verwendet werden, um die Geschwindigkeit und Flexibilität von fortgeschritteneren schnellen analytischen HW-Modellen zu nutzen.
  • B. Modellvalidierung und reale HW-Messungen
  • Zur Validierung des vorgeschlagenen analytischen HW-Modells werden drei unterschiedlich dimensionierte BISMO-Akzeleratoren kleine und große GEMM-Operationen werden auf allen drei Akzeleratoren ausgeführt, indem alle Faltungs- und vollverknüpften Schichten von ResNet20 für CIFAR-10 (klein) und ResNet18 für ImageNet (groß) mit 4 Bits für Gewichte und Aktivierungen ausgeführt werden.
  • C. Genetische Quantisierung-Strategie-Suche (QSS) bzw. Erzeugung einer Vielzahl Konfigurationen
  • Der Quantisierungssuchraum für ein CNN weist eine Größe von Q2L auf, wobei Q den Satz der möglichen Quantisierungsstufen für Gewichte und Aktivierungen aufweist und L die Anzahl der Schichten im neuronalen Netz ist. Es ist wichtig anzumerken, dass die Quantisierung-Strategie-Suche (QSS) auf jede Quantisierungstechnik anwendbar ist, wobei lediglich versucht wird, die besten Bitbreiten für jede Schicht und jeden Datentyp zu finden. Ein multiobjektives GA (MOGA) wird verwendet, um das multikriterielle Optimierungsproblem der Maximierung der Genauigkeit und Minimierung der HW-bezogenen Kosten zu lösen. Bei dieser Suche findet kein HW-Design statt.
  • Eine anfängliche Population P 0
    Figure DE102021132449B4_0006
    wird zufällig generiert, wobei jedes Genom eine Quantisierung-Strategie kodiert, d. h. ein Quantisierungstupel ( W b i t s l , A b i t s l 1 )
    Figure DE102021132449B4_0007
     
    Figure DE102021132449B4_0008
    für jede Schicht des CNN (explizite, bijektive Kodierung). Die Genome von
    Figure DE102021132449B4_0009
    werden kurz fein-abgestimmt und aufgrund ihrer Aufgabengenauigkeit in einem Validierungssatz bewertet. Wenn ein eigenständiges QSS verwendet wird, muss das GA zusätzlich die Fitness der quantisierten CNNs mit den HW-Schätzungen (DRAM-Zugriffe und Rechenzyklen) berücksichtigen. Basierend auf den drei Fitness-Metriken wird die Pareto-Optimalität jedes Individuums in Bezug auf die Population
    Figure DE102021132449B4_0010
    ermittelt. Die Population durchläuft die Phasen der Selektion, des Crossovers und der Mutation für die nachfolgenden Generationen, um Pareto-optimale CNN-Quantisierung-Strategien zu erzeugen.
  • D. Genetische Hardware-Architektur-Suche (HAS) im zweiten genetischen Algorithmus
  • Ein zweiter GA wird formuliert, der die HW zuweist und optimal dimensioniert. Das Genom jedes Individuums erfasst HW-DesignEntscheidungen, nämlich Dm, Dn, Dk, LHS_Depth und RHS_Depth an der jeweiligen genetischen Stelle. Die Fitness-Kriterien dieses GA sind die Ausführungsleistung (Rechenzyklen und DRAM-Zugriffe) des HW-Designs eines vorbestimmten quantisierten CNN sowie die Menge an FPGA-Ressourcen (BRAMs und LUTs), die es für seine Zuweisung benötigt. Zur Abschätzung der FPGA-Ressourcenausnutzung eines Genoms wird das von Y. Umuroglu et al. vorgeschlagene Modell (siehe „Bismo: A scalable bit serial matrix multiplication overlay for reconfigurable computing“) verwendet. Für Leistungskriterien kann das in Kapitel A. („Modellierung eines bit-seriellen Akzelerators für BISMO“) beschriebene Modell verwendet werden. NSGA-II wird auf diesen 4-dimensionalen Lösungsraum angewendet, wobei der Entwickler aus einer Vielzahl von Pareto-optimalen Lösungen auswählen kann. Die komplexe Formulierung einer Belohnungsfunktion ist im MOGA nicht notwendig, was die Last der Abwägung der 4 Kriterien in einem einzigen, handgefertigten Belohnungswert abnimmt.
  • E. AnaCoNGA: Verschachteltes HW-CN-Co-Design
  • Die QSS- und HAS-Loops weisen ein Kausalitätsdilemma auf: Was kommt zuerst, die optimierte HW oder die CNN-Quantisierung-Strategie? In Abschnitt II werden bestehende Verfahren, die diese Herausforderung sequentiell oder iterativ lösen, erwähnt. Zur Durchführung eines echten Co-Designs müssen sowohl HW als auch CNN gemeinsam und gleichzeitig berücksichtigt werden.
  • Ein Ansatz besteht darin, HAS-Genome mit QSS-Genomen in einem GA zu kombinieren. Dies würde jedoch zu einem untragbar komplexen, großen Suchraum führen (4,77 × 1037 für ResNet20 auf dem betrachteten bit-seriellen Akzelerator), mit vielen direkten und indirekten Beziehungen zwischen den HW- und Quantisierungsparametern. Dieser rauschende Suchraum wäre eine Herausforderung für den genetischen Algorithmus, selbst mit gut kodierten Genomen und genetischen Operatoren. Der komplexe gemeinsame Suchraum würde auch größere Populationen und Generationen für den GA erfordern, was zu übermäßigen GPU-Stunden führen würde. Ein anderer Ansatz könnte darin bestehen, zwischen den Suchräumen zu iterieren. Ein iterativer Ansatz bringt das gleiche Dilemma mit sich, wobei die HW ursprünglich für eine andere Quantisierung-Strategie voreingestellt war und eine neu gefundene HW-CNN-Kombination im Vergleich zu einer anderen Kombination, die zuvor eine andere Quantisierung-Strategie aufwies, suboptimal ist.
  • Um diese Herausforderung zu lösen, werden zwei verschachtelte genetische Algorithmen 1, 2 eingesetzt, wie in 2 dargestellt. 2 zeigt ein als AnaCoNGA bezeichnetes Entwicklungsverfahren: Jedes Individuum der QSS führt sein eigenes HAS-MOGA aus. Jedes QSS-Individuum kann sich auf seinem eigenen HW-Design als effizient erweisen, um eine Chance zu ermöglichen, seine Genauigkeit zu bewerten. QSS ist von der HW-Optimierung entlastet und wird zu einem SOGA (d.h. genauigkeitsorientiert) umgewandelt.
  • Einerseits benötigt der HAS-GA etwa -1,5 Minuten für die Ausführung von 200 Generationen und 200 HW-Genomen und kann parallelisiert werden. Dies ist aufgrund des schnellen analytischen HW-Modells in Kapitel A. und den von Y. Umuroglu et al. vorgeschlagenen LUT/BRAM-Nutzungsmodellen möglich. Andererseits erfordert der genetische QSS-Algorithmus 1 einige Epochen der Feinabstimmung, um die Genauigkeit eines potenziellen Quantisierungsgenoms 3 zu bewerten. Dies kann ein kostenaufwändiger Fitness-Bewertungsprozess 6 für größere Netze und Datensätze sein. Bei der Verschachtelung des HAS-GA 2 mit dem QSS-GA 1 wird die Geschwindigkeit des HAS-Loops genutzt, um die HW-Design-Pareto-Front 15 für jedes betrachtete Quantisierungsgenom zu bewerten (parallele HAS- Experimente 5 in 2). In jedem HAS-Experiment 5 wird eine 4-D-Pareto-Front 15 von HW-Designs für das jeweilige Quantisierungsgenom erzeugt. Die Lösungen in der 4-D-HW-Pareto-Front 15 werden daraufhin überprüft, ob eine von ihnen die Ziel-HW-Einschränkungen erfüllt (Block 16). Wenn keine der Lösungen in der HAS-Pareto-Front 15 die HW-Anforderungen erfüllt, empfängt der erste Algorithmus 1 eine Anweisung, um den Feinabstimmungsschritt des Genoms zu entfernen und ihm eine Null-Genauigkeit zuzuweisen, ohne irgendwelche GPU-Trainingszeit zu verschwenden (Feedback-Linie 17 vom HAS zum Block 5 in 2). Mit diesem Ansatz wird der erste genetische Algorithmus 1 von der Optimierung der HW-Metriken entlastet und kann nun in einen Einzel-Ziel-Genetischen -Algorithmus (SOGA) umformuliert werden, der sich ausschließlich auf die Verbesserung der Genauigkeit der quantisierten CNNs konzentriert. Der erste genetische Algorithmus 1 ermöglicht es im Wesentlichen, dass jedes Quantisierungsgenom seinen eigenen HW-Design-Raum bewerten kann, bevor diese in die Population aufgenommen werden. Daher könnten zwei grundverschiedene QSS-Genome die Ziel-HW-Kriterien 12 (DRAM, Rechenzyklen, BRAM und LUTs) erfüllen, indem sie in ihren jeweiligen HAS-Untersuchungen 4 spezielle HW-Designs aufweisen. Auf diese Weise bleibt das HW-Design auf der Skala des Gesamtexperiments flexibel (nicht definiert), aber es ist garantiert, dass es für jedes Genom existiert, das schließlich von dem ersten genetischen Algorithmus 1 am Ende der Suche ausgewählt wird. Die Design-Loops von AnaCoNGA ermöglichen es, analytische HW-Modelle zu verwenden und deren Geschwindigkeit und Flexibilität für ein paralleles HW-CNN-Co-Design zu nutzen.
  • 3 zeigt eine schematische Darstellung eines neuronalen Netzes umfassend eine Mehrzahl von Schichten. Aus der Darstellung sind die Lokalisierung und Ausführung der Schritte des Stutzens (Pruning), der Parametrisierung sowie der Dimensionierung exemplarisch ersichtlich, welche in Verbindung mit der obigen detaillierten Beschreibung im Detail diskutiert worden sind. In der unteren Bildhälfte ist eine exemplarische faltende Schicht im Detail dargestellt.
  • Bezugszeichenliste:
  • 1
    erster (äußerer) genetischer Algorithmus
    2
    zweiter (innerer) genetischer Algorithmus
    3
    Konfigurationen
    4
    Hardware-Architektur-Suchauftrag
    5
    Genom-Filter
    6
    Kriterien
    7
    Selektion
    8
    Cross-Over/Mutation
    9
    gestrichelte Linien veranschaulichend die Umfänge eines Hardware-Suchauftrages 4
    10
    faltendes neuronales Netz
    11
    Population
    12
    Kriterien
    13
    Selektion
    14
    Cross-Over/Mutation
    15
    Lösungsraumerfassung
    16
    Prüfung auf leere Ergebnismenge
    17
    Übergabepfad
    18
    Ergebnisausgabe
    20
    Recheneinheit
    21
    Rechenelemente
    22, 23
    Speicherarray
    24
    Ausgabematrix

Claims (13)

  1. Verfahren zur Parametrisierung und/oder Dimensionierung, nachfolgend als „Konfiguration (3)“ bezeichnet, eines neuronalen Netzes (10) unter Berücksichtigung möglicher mit den optimierten Konfigurationen (3) zu verwendender geeigneter Hardware-Architekturen umfassend die Schritte: - Verwendung eines ersten genetischen Algorithmus (1) zur Erzeugung einer Vielzahl von Konfigurationen (3), - Übergeben eines jeweiligen Hardwarearchitektursuchauftrages (4) zu der erzeugten Vielzahl von Konfigurationen (3) an einen zweiten genetischen Algorithmus (2), - Ausgeben einer Vielzahl durch den zweiten genetischen Algorithmus (2) gefundener geeigneter Hardwarearchitekturergebnisse (16) an den ersten genetischen Algorithmus (1), und - Fortentwickeln der Konfiguration (3) anhand der gefundenen geeigneten Hardwarearchitekturergebnisse (16) mittels des ersten genetischen Algorithmus (1).
  2. Verfahren nach Anspruch 1, wobei - der erste genetische Algorithmus (1) ein Single Objective Genetischer Algorithmus ist, und/oder - der zweite genetische Algorithmus (2) ein Multi Objective Genetischer Algorithmus ist.
  3. Verfahren nach Anspruch 1 und 2 weiter umfassend die Schritte - Anwenden vordefinierter erster Kriterien in dem ersten genetischen Algorithmus (1), insbesondere aufgabenbezogene Güte des neuronalen Netzes (10), bevorzugt eine Genauigkeit einer Applikation, und/oder - Anwenden vordefinierter zweiter Kriterien in dem zweiten genetischen Algorithmus (2), welche insbesondere hardwarebezogene Qualitätskriterien, bevorzugt Energiebedarf und/oder Speicherbedarf und/oder Anzahl an Rechenzyklen und/oder Laufzeit einer Zielanwendung, repräsentieren.
  4. Verfahren nach einem der vorstehenden Ansprüche weiter umfassend den Schritt: - außer Acht lassen aller Konfigurationen (3) beim Fortentwickeln der Konfigurationen (3), für welche kein geeignetes Hardwarearchitekturergebnis (16) gefunden worden ist.
  5. Verfahren nach einem der vorstehenden Ansprüche, wobei das neuronale Netz (10) ein faltendes neuronales Netz ist.
  6. Verfahren nach einem der vorstehenden Ansprüche, wobei die Ausgestaltung der Hardwarearchitektur parametrisierbar ist und in Form eines analytischen Modells und/oder als synthetisierbare Hardwarebeschreibung zur Abschätzung und/oder Simulation, insbesondere der Laufzeit, dem Speicherbedarf, dem Energiebedarf und der Größe der Hardwarearchitektur (20), definiert ist.
  7. Verfahren nach einem der vorstehenden Ansprüche, wobei die Hardwarearchitekturen (20) mehrere räumlich voneinander getrennte Rechenelemente (21) aufweisen, und die Hardwarearchitekturen (20) insbesondere durch eine Länge und/oder Breite und/oder Höhe einer mehrdimensionalen Matrix von Rechenelementen (21) ausgezeichnet ist.
  8. Verfahren nach Anspruch 7, wobei der Hardwarearchitektur (20) ein parametrisierbares Speicherarray (22, 23) zugeordnet ist.
  9. Verfahren nach einem der vorstehenden Ansprüche, wobei die Hardwarearchitektur (20) eine Bit-Serial Akzelerator-Struktur aufweist.
  10. Verfahren nach einem der vorstehenden Ansprüche, wobei die Konfiguration (3) umfasst: - eine Quantisierungsstrategie, und/oder - ein Stutzen und/oder - eine neuronale Architektursuche.
  11. Verfahren nach einem der vorstehenden Ansprüche, wobei der erste genetische Algorithmus (1) eine Vielzahl jeweiliger Hardwarearchitektursuchaufträge (4) zu der erzeugten Vielzahl von Konfigurationen (3) an eine Vielzahl zweiter genetischer Algorithmen (2) parallel übergibt.
  12. Verfahren nach einem der vorstehenden Ansprüche weiter umfassend ein Fortentwickeln mehrerer Hardwarearchitekturkandidaten (13) durch den zweiten genetischen Algorithmus (2) vor dem Ausgeben einer Vielzahl durch den zweiten genetischen Algorithmus (2) gefundener geeigneter Hardwarearchitekturergebnisse (16) an den ersten genetischen Algorithmus (1).
  13. Verfahren nach einem der vorstehenden Ansprüche weiter umfassend - Erfassen eines mehrdimensionalen Pareto-optimalen Lösungsraumes der Hardwarearchitekturergebnisse (16) vor dem Ausgeben der Vielzahl durch den zweiten genetischen Algorithmus (2) gefundener geeigneter Hardwarearchitekturergebnisse (16) an den ersten genetischen Algorithmus (1).
DE102021132449.1A 2021-12-09 2021-12-09 Verfahren zur Konfiguration eines neuronalen Netzes Active DE102021132449B4 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102021132449.1A DE102021132449B4 (de) 2021-12-09 2021-12-09 Verfahren zur Konfiguration eines neuronalen Netzes

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102021132449.1A DE102021132449B4 (de) 2021-12-09 2021-12-09 Verfahren zur Konfiguration eines neuronalen Netzes

Publications (2)

Publication Number Publication Date
DE102021132449A1 DE102021132449A1 (de) 2023-06-15
DE102021132449B4 true DE102021132449B4 (de) 2023-11-09

Family

ID=86498199

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021132449.1A Active DE102021132449B4 (de) 2021-12-09 2021-12-09 Verfahren zur Konfiguration eines neuronalen Netzes

Country Status (1)

Country Link
DE (1) DE102021132449B4 (de)

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
FASFOUS, Nael [et al.]: Hw-flowq: A multi-abstraction level hw-cnn co-design quantization methodology. ACM Transactions on Embedded Computing Systems (TECS), 2021, 20. Jg., Nr. 5s, S. 1-25
Fasfous, Nael et al.: HW-FlowQ: A Multi-Abstraction level HW-CNN Co-design Quantization Methodology, ACM Transactions on Embedded Computing Systems (TECS), 2021, 20. Jg., Nr. 5s, S. 1-25
LIN, Yujun [et al.]: Neural-hardware architecture search. NeurIPS WS, 2019, S. 1-5
Lin, Yujun et al.: Neural-Hardware Architecture Search, NeurIPS WS, 2019, S. 1-5

Also Published As

Publication number Publication date
DE102021132449A1 (de) 2023-06-15

Similar Documents

Publication Publication Date Title
DE60318086T2 (de) System und methode zur reduzierung von leitungsverzögerung oder überlastung bei der synthese von hardware-solvern
DE112017007826T5 (de) Simulieren von Quantenschaltungen
DE112019003405T5 (de) Automatische feinabstimmungsvorrichtung für einbettungen von cloud-mikrodiensten
DE10311311A1 (de) Berechnung von Preiselastizität
DE112018006047T5 (de) Deformation von aufwandsfunktionen bei der quanten-näherungsoptimierung
DE112016002298T5 (de) Vorabruf von gewichten zur verwendung in einem neuronalen netzwerkprozessor
DE202010017612U1 (de) Verbesserter genetischer Algorithmus mit mehreren Zielen für die Bauteildesignoptimierung
DE112016002292T5 (de) Stapel-verarbeitung in einem neuronalen netzwerkprozessor
DE202016107442U1 (de) Vektor-Recheneinheit in einem neuronalen Netzwerkprozessor
DE102008048478A1 (de) Probenermittlungsstrategie unter Verwendung genetischer Algorithmen bei der Optimierung eines technischen Entwurfs
DE202016107436U1 (de) Neuronaler Netzwerkprozessor
DE102012216029A1 (de) Ein skalierbares anpassungsfähiges map-reduce-rahmenwerk mit verteilten daten
DE112006000846T5 (de) Verfahren und System für Produktdesign
DE112019003529T5 (de) Datendarstellung für dynamische Genauigkeit in Kernen neuronaler Netze
WO2022068663A1 (zh) 内存分配方法、相关设备及计算机可读存储介质
CN111126668A (zh) 基于图卷积网络的Spark作业时间预测方法和装置
Dworschak et al. Reinforcement learning for engineering design automation
DE102019109631A1 (de) Tiefes komprimiertes netzwerk
DE202018100069U1 (de) Ausführen von Berechnungsgraphen in Graphikverarbeitungseinheiten
CN111008693A (zh) 一种基于数据压缩的网络模型构建方法、系统和介质
DE112019000676T5 (de) Zentraler scheduler und anweisungszuteiler für einen neuronalen inferenzprozessor
DE112019005048T5 (de) Hyperparameteroptimierungsverfahren, -vorrichtung und -programm
DE102022128165A1 (de) Datenpfadschaltungsentwurf unter verwendung von reinforcement learning
DE112020003105T5 (de) Schicht für schicht-debugging von neuronalen netzwerken
DE112020003055T5 (de) Neuanordnen der operationen eines neuronalen netzwerks für parallele ausführung

Legal Events

Date Code Title Description
R163 Identified publications notified
R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division