Anleitung - neuromorpher Prozessor


Anleitung - neuromorpher Prozessor
Anleitung - neuromorpher Prozessor

In jedem modernen Computer, Tablet, Smartphone, digitalen Player gibt es einen Prozessor — ein universelles Gerät, das für die Ausführung von Programmen entwickelt wurde.

Die Prinzipien des traditionellen Prozessors wurden in den vierziger Jahren des letzten Jahrhunderts festgelegt und haben sich nicht besonders verändert: Die CPU liest Befehle aus und führt sie nacheinander aus. Jedes Programm auf einer Ebene, die vom Prozessor verstanden wird, ist in die einfachsten Aufgaben unterteilt. Es besteht aus Befehlen wie »aus Speicher lesen«, »in Speicher schreiben«, »zwei Zahlen addieren«, »multiplizieren«, »Teilen" und so weiter. Es gibt viele Nuancen von Prozessoren, aber für unser heutiges Thema ist es wichtig, dass Prozessoren für eine lange Zeit nur eine Operation pro Arbeitszyklus durchführen konnten. Diese Zyklen könnten sehr viele sein - zuerst Hunderttausende, dann Millionen und jetzt Milliarden pro Sekunde. Bis vor kurzem (bis zur Mitte des ersten Jahrzehnts des 21. Jahrhunderts) gab es jedoch nicht mehr als einen Prozessor in einem typischen Heimcomputer oder Laptop.

Multitasking oder die Möglichkeit, mehrere Programme gleichzeitig auf einem Prozessor auszuführen, wurde durch die Zuweisung von Ressourcen erreicht: Wir geben einem Programm mehrere Zyklen oder Takte, übertragen dann die Ressourcen an ein anderes, dann an ein drittes und so weiter. Als erschwingliche Multicore-Prozessoren in den Handel kamen, gab es auch die Möglichkeit, Ressourcen effizienter zu verteilen. Führen Sie nicht nur verschiedene Programme auf verschiedenen Kernen aus, sondern führen Sie auch ein Programm auf mehreren Kernen gleichzeitig aus. Es war zunächst keine leichte Aufgabe, da viele Programme noch einige Zeit nicht für Multicore- oder Multiprozessor-Systeme optimiert wurden.

Moderne Prozessoren, die für den normalen Benutzer im Geschäft verfügbar sind, können 16 oder sogar 32 Rechenkerne haben. Dies ist eine beeindruckende Zahl, aber auch in konventioneller Technik für den Verbraucher bei weitem nicht das Maximum. Also, die Nvidia GeForce 3080Ti Grafikkarte hat 10.240 Rechenkerne! Warum ist der Unterschied so? Tatsache ist, dass herkömmliche Prozessoren viel komplizierter sind als Rechenkerne in einer Grafikkarte. Herkömmliche Prozessoren führen einen begrenzten Satz einfacher Funktionen aus, aber spezialisierte Rechenmodule in der Grafikkarte sind noch primitiver, sie sind nur zu sehr elementaren Operationen fähig. Aber sie tun es schnell und sind besonders vorteilhaft, wenn Sie Milliarden solcher Operationen pro Sekunde durchführen müssen. Wie in Spielen, bei denen zum Beispiel viele relativ einfache Berechnungen für jeden Punkt im Bild durchgeführt werden müssen, um die Beleuchtung einer Szene zu berechnen.

Trotz dieser Besonderheit unterscheiden sich die Computergeräte herkömmlicher Zentralprozessoren oder Grafikkarten kaum grundlegend voneinander. Neuromorphe Prozessoren (Hurra, hier sind sie!) unterscheiden sich radikal von ihnen. Sie versuchen nicht, eine Reihe von Elementen zu implementieren, um arithmetische Operationen sequenziell oder parallel durchzuführen. In ihnen versuchen Forscher, die Struktur des menschlichen Gehirns zu reproduzieren!

In der Computertechnik gilt der kleinste »Ziegelstein" als Transistor: Es gibt mehrere Milliarden solcher mikroskopischen Elemente in einem typischen Computer- oder Smartphone-Prozessor. Im menschlichen Gehirn ist ein solches Grundelement ein Neuron oder eine Nervenzelle. Neuronen sind durch Synapsen miteinander verbunden. Mehrere Dutzend Milliarden Neuronen bilden das menschliche Gehirn zu einem sehr komplexen selbstlernenden System. Die als neuromorphes Engineering bekannte Disziplin hat es sich seit Jahrzehnten zur Aufgabe gemacht, die Struktur des menschlichen Gehirns zumindest teilweise in Form von elektronischen Schaltungen zu reproduzieren. Der Altay-Prozessor ist neben anderen Entwicklungen eine »eiserne" Implementierung des Gehirngewebes mit seinen Neuronen und Synapsen.

Neuroprozessoren und neuronale Netze. Lassen Sie uns keine Schlüsse ziehen. Obwohl es Forschern (in Russland und im Ausland) gelingt, bestimmte Elemente der Gehirnstruktur mithilfe von Halbleitern zu reproduzieren, bedeutet dies nicht, dass wir in absehbarer Zeit eine digitale Kopie des Menschen erstellen können. Zu kompliziert ist die Aufgabe, obwohl sie eines Tages vielleicht auch gelöst werden kann. Aber moderne Neuroprozessoren, Halbleiterkopien der Strukturen unseres Gehirns, haben eine durchaus praktische Anwendung. Sie werden für die Implementierung von maschinellen Lernsystemen und neuronalen Netzen benötigt, auf deren Grundlage solche Systeme funktionieren.

Нейросеть, oder neuronales Netzwerk, oder, noch genauer, Künstliches neuronales Netz (im Gegensatz zu echtem in unserem Kopf) eine Vielzahl von Zellen, die in der Lage sind zu verarbeiten und zu speichern Informationen. Das klassische neuronale Netzmodell Perceptron wurde in den sechziger Jahren des letzten Jahrhunderts entwickelt. Diese vielen Zellen können mit einer Kamera verglichen werden, aber sie können auch lernen, das resultierende Bild interpretieren und darin Muster finden. Spezielle Zellenbeziehungen und verschiedene Zelltypen verarbeiten die Informationen so, dass sie beispielsweise zwischen den vor der Kamera gezeigten Buchstaben unterscheiden können. Aber das sind alle Errungenschaften von vor sechzig Jahren In den letzten zehn Jahren ist die Anwendung von maschinellen Lernsystemen und neuronalen Netzen in absolut alltäglichen Aufgaben sehr populär geworden.

Das Problem der Buchstabenerkennung ist seit langem gelöst. Kameras auf Autobahnen erkennen die Fahrzeugnummer in jedem Winkel, zu jeder Tageszeit, auch wenn sie mit Schmutz bedeckt ist. Eine typische Aufgabe für нейросети nehmen Standbild (Z. B. ein Foto des Stadions von oben) und die Anzahl der Personen. Diese Aufgaben haben etwas gemeinsam: einleitende sind immer ein bisschen unkonventionell. Ein gewöhnliches altmodisches Programm wird wahrscheinlich in der Lage sein, eine Kfz-Nummer zu erkennen, die mit vollem Gesicht fotografiert wurde, aber mit einem Foto aus einem Winkel kann sie nicht zurechtkommen. Wir geben eine große Anzahl von Fotos von Autonummern (oder etwas anderem) für das Lernen aus, und sie lernt, ein Objekt unter allen Bedingungen von einem anderen zu unterscheiden (Buchstabe A von Buchstabe K). Und es tut es manchmal so gut, dass es beispielsweise im medizinischen Bereich besser (oder früher) diagnostiziert werden kann als ein normaler Arzt.

Aber zurück zu den neuronalen Netzen. Die Berechnungen, die erforderlich sind, um einen der Algorithmen des neuronalen Netzwerks zu implementieren, sind ziemlich einfach, aber es sind sehr viele solcher Operationen erforderlich. Dies ist die am besten geeignete Arbeit nicht für einen herkömmlichen Prozessor, sondern für eine Grafikkarte mit Tausenden und Zehntausenden von Rechenmodulen. Sie können einen noch spezialisierteren Prozessor erstellen, der eine Reihe von Berechnungen durchführt, die nur für den Betrieb eines bestimmten Lernalgorithmus erforderlich sind. Es wird etwas billiger und ein wenig effizienter sein. Das Problem ist, dass нейросеть (im Sinne — zu viele Knoten-Zellen wahrnehmen und Informationen verarbeiten ähnliche vielen Beziehungen zueinander) alle diese Geräte bauen programmgesteuert. Ein Neuroprozessor implementiert eine neuronale Netzwerkschaltung auf Hardware-Ebene.

Das Ergebnis einer solchen Hardware-Implementierung ist in größerer Effizienz ausgedrückt. Der Loihi-Neuroprozessor von Intel besteht aus 131.072 künstlichen Neuronen, die durch eine große Anzahl von Synapsen (mehr als 130 Millionen) miteinander verbunden sind. Ein wichtiger Vorteil eines solchen Schemas ist der geringe Stromverbrauch, wenn es keinen Betrieb gibt, während der Stromverbrauch bei herkömmlichen Grafikprozessoren selbst im Leerlauf recht hoch bleibt. Dies, plus eine theoretisch höhere Leistung bei neuronalen Netzwerktrainingsaufgaben, bietet einen viel geringeren Stromverbrauch. So verbraucht die erste Generation des Altai-Prozessors 1000-mal weniger Strom als eine ähnliche Implementierung eines Grafikbeschleunigers.

Neuronale Netzwerke und Sicherheit. 130.000 Neuronen sind weit weniger als zehn Milliarden im menschlichen Gehirn. Die Forschung, die es uns ermöglicht, ein besseres Verständnis dafür zu entwickeln, wie das menschliche Gehirn funktioniert, um viel effizientere selbstlernende Systeme zu schaffen, hat gerade erst begonnen. Es ist wichtig, dass Neuroprozessoren bereits jetzt gefragt sind, da sie es theoretisch ermöglichen, bestehende Aufgaben effizienter zu lösen. Bis hin zu einem in Ihr Smartphone integrierten Mustererkenner, der die Art der Pilze erkennen kann, die Sie im Wald gefunden haben. Bereits jetzt werden spezialisierte Prozessoren für die Verarbeitung von Video und ähnlichen Aufgaben massiv in Smartphones und Laptops integriert. Neuroprozessoren entwickeln die Idee des maschinellen Lernens noch weiter und stellen eine effizientere Lösung dar.

Warum ist diese Richtung für Spezialisten interessant? Erstens verwenden wir bereits aktiv neuronale Netze und im Allgemeinen maschinelle Lerntechnologien in unseren Produkten. Dies sind zum Beispiel Technologien, die eine große Menge an Informationen über den Betrieb eines Unternehmensdatenüberwachungsnetzwerks verarbeiten, das Knoten untereinander und mit der Außenwelt austauschen. Maschinelles Lernen ermöglicht es Ihnen, Anomalien im Verkehrsfluss zu erkennen, ungewöhnliche Aktivitäten zu finden, die das Ergebnis einer Invasion oder böswilliger Insideraktivitäten sein können. Zweitens entwickeln die Spezialisten auch ihr eigenes Betriebssystem, dessen Aufgabe es ist, die Aufgaben, die dem Gerät unter seiner Kontrolle zugewiesen sind, sicher auszuführen. Die Integration von »Hardware" -neuronalen Netzwerken in Geräte, die das System in Zukunft betreiben, ist ebenfalls vielversprechend.

Am Ende dieses ganzen Fortschritts steht die Herausforderung, eine echte künstliche Intelligenz zu entwickeln, die nicht nur einzelne Aufgaben für uns lösen kann, sondern beispielsweise auch neue vor uns stellt. Dies wird viele ethische Probleme mit sich bringen, und rein menschlich wird es nicht leicht sein zu erkennen, dass es einen «Computer» gibt, der klüger ist als ein Mensch. Doch davor ist es wirklich weit. Vor fünf Jahren waren sich alle sicher, dass die automatischen Steuerungssysteme des Autos fast fertig sind, man muss nur ein paar Details «dopilit». Solche Systeme sind auch weitgehend an maschinelles Lernen gebunden, und 2022 gibt es in dieser Richtung immer noch so viele Möglichkeiten wie Herausforderungen. Selbst diese enge Aufgabe, die der Mensch bewältigt, ist noch nicht einfach, dem Roboter vollständig zu vertrauen. Deshalb sind neue Entwicklungen in diesem Bereich wichtig, sowohl auf Programm- und Ideenebene als auch auf Eisenebene. All das zusammen führt vielleicht nicht zu «intelligenten Robotern» wie fantastischen Büchern. Aber es wird unser Leben ein wenig bequemer und sicherer machen.