Mit der rasanten Entwicklung von KI-Systemen steigt auch deren Energiebedarf. Das Training neuer Systeme erfordert große Datensätze und Prozessorzeit, was sie äußerst energieintensiv macht. In einigen Fällen können Smartphones diese Aufgabe problemlos erledigen, indem sie einige gut trainierte Systeme ausführen. Wird es jedoch zu oft ausgeführt, erhöht sich auch der Energieverbrauch. Glücklicherweise gibt es viele Möglichkeiten, deren Energieverbrauch zu senken. IBM und Intel haben mit Prozessoren experimentiert, die das Verhalten tatsächlicher Neuronen nachahmen sollen. IBM testete auch die Durchführung neuronaler Netzwerkberechnungen im Phasenwechselspeicher, um wiederholte Zugriffe auf den RAM zu vermeiden. Jetzt hat IBM eine weitere Methode eingeführt. Der neue NorthPole-Prozessor des Unternehmens fasst einige der Ideen dieser Ansätze zusammen und kombiniert sie mit einer sehr optimierten Methode zur Ausführung von Berechnungen. Dadurch entsteht ein energieeffizienter Chip, der inferenzbasierte neuronale Netze effizient ausführen kann. Der Chip ist in Bereichen wie der Bildklassifizierung oder der Audiotranskription 35-mal effizienter als eine GPU.
Offizieller Blog: https://research.ibm.com/blog/northpole-ibm-ai-chipDer Unterschied zwischen NorthPole und traditioneller KI-Verarbeitung Verschiedene Prozessoren Erstens Alles in allem tut NorthPole nichts für die Bedürfnisse des Trainings neuronaler Netze, sondern ist ausschließlich auf die Ausführung ausgelegt.
Zweitens handelt es sich nicht um einen Allzweck-KI-Prozessor, sondern wurde speziell für inferenzfokussierte neuronale Netze entwickelt. Wenn Sie es also nutzen möchten, um zu argumentieren, den Inhalt eines Bildes oder Audioclips herauszufinden usw., dann ist es richtig. Wenn Sie jedoch ein großes Sprachmodell ausführen müssen, scheint dieser Chip nicht von großem Nutzen zu sein.
Während NorthPole einige Ideen von neuromorphen Computerchips übernimmt, handelt es sich nicht um neuromorphe Hardware, da seine Verarbeitungseinheiten Berechnungen durchführen, anstatt die von tatsächlichen Neuronen verwendete Spitzenkommunikation zu emulieren.
NorthPole besteht wie TrueNorth zuvor aus einem großen Array von Rechenzellen (16×16), von denen jede lokalen Speicher und Codeausführungsfunktionen enthält. Daher können alle Gewichte der verschiedenen Verbindungen im neuronalen Netzwerk genau dort gespeichert werden, wo sie benötigt werden.
Es verfügt außerdem über ein umfangreiches On-Chip-Netzwerk mit mindestens vier verschiedenen Netzwerken. Einige dieser Netzwerke übertragen Informationen über abgeschlossene Berechnungen an die nächste Recheneinheit, die sie benötigt. Andere Netzwerke werden verwendet, um die gesamte Reihe von Recheneinheiten neu zu konfigurieren und die neuronalen Gewichte und den Code bereitzustellen, die zum Ausführen einer Schicht des neuronalen Netzwerks erforderlich sind, während die vorherige Schicht noch berechnet wird. Schließlich wird die Kommunikation zwischen benachbarten Recheneinheiten optimiert. Dies ist nützlich, um beispielsweise Kanten von Objekten in Bildern zu finden. Wenn bei der Eingabe eines Bildes benachbarte Pixel benachbarten Recheneinheiten zugewiesen werden, können diese einfacher zusammenarbeiten, um Merkmale zu identifizieren, die benachbarte Pixel umfassen.
Darüber hinaus sind auch die Rechenressourcen von NorthPole ungewöhnlich. Jede Einheit ist für die Durchführung von Berechnungen mit geringerer Präzision optimiert, die von 2 Bit bis 8 Bit reichen. Um die Verwendung dieser Ausführungseinheiten sicherzustellen, können sie keine bedingten Verzweigungen basierend auf Variablenwerten durchführen. Das heißt, Benutzercode darf keine if-Anweisungen enthalten. Diese einfache Ausführung ermöglicht eine massiv parallele Ausführung pro Recheneinheit. Bei 2-Bit-Präzision kann jede Einheit mehr als 8.000 Berechnungen parallel durchführen.
Aufgrund dieser einzigartigen Designs musste das NorthPole-Team eine eigene Trainingssoftware entwickeln, um das Mindestmaß an Genauigkeit zu berechnen, das für jede Schicht für einen erfolgreichen Betrieb erforderlich ist. Auch die Ausführung neuronaler Netze auf einem Chip ist ein relativ ungewöhnlicher Prozess. Sobald die Gewichte und Verbindungen des neuronalen Netzwerks in Puffern auf dem Chip platziert sind, ist für die Ausführung nur noch ein externer Controller erforderlich, der die auszuführenden Daten hochlädt und ihm mitteilt, mit der Ausführung zu beginnen. Alles andere läuft ohne CPU, was den Stromverbrauch auf Systemebene begrenzt.
Der NorthPole-Testchip wird in einem 12-nm-Verfahren hergestellt, das weit hinter dem neuesten Stand der Technik zurückbleibt. Dennoch gelang es ihnen, 256 Recheneinheiten auf 22 Milliarden Transistoren mit jeweils 768 KB Speicher unterzubringen. Wenn man das System mit Nvidias V100 Tensor Core GPU vergleicht, die auf einem ähnlichen Verfahren basiert, verfügt NorthPole über die 25-fache Rechenleistung bei gleichem Stromverbrauch. Unter den gleichen Bedingungen übertrifft NorthPole modernste GPUs um etwa das Fünffache. Tests des Systems haben gezeigt, dass es auch eine Reihe weit verbreiteter neuronaler Netzwerkaufgaben effizient ausführen kann. Das obige ist der detaillierte Inhalt von22 Milliarden Transistoren, IBM NorthPole-Prozessor für maschinelles Lernen, Energieeffizienz um das 25-fache erhöht. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!