Nvidias Tensorkerne für maschinelles Lernen und KI - erklärt
Die mittlerweile bekannte RTX-Grafikkartenserie von Nvidia war seit ihrer Einführung mit der RTX 20-Serie äußerst erfolgreich. Die Einführung des RTX-Brandings war eine Richtungsänderung des Unternehmens und damit des gesamten Grafikkartenmarktes. Nvidia hat seine erste RTX-Serie mit der Einführung der RTX 30-Serie im Jahr 2020 erfolgreich verfolgt, obwohl die Einführung selbst aufgrund weltweiter Lager- und Verfügbarkeitsprobleme etwas enttäuschend war. Dennoch bleibt die Marke RTX heutzutage eine dominierende Kraft auf dem Grafikkartenmarkt.
Mit der Einführung von RTX hat Nvidia die Echtzeit-Raytracing-Funktion in Spielen unterstützt, die das Verhalten von Licht in der Umgebung der Spiele verändert. Wir haben bereits die beiden Formen des Renderns verglichen: Ray Tracing und gerastertes RendernIm Detail und insgesamt scheint Ray Tracing der richtige Weg für die Zukunft des Spielens zu sein. Nvidia hat auch spezielle Kerne für Ray Tracing in seine RTX-Karten aufgenommen, die als RT-Kerne bekannt sind und den Großteil der Rendering-Arbeitslast für Ray Tracing in Spielen bewältigen. Was die meisten Leute jedoch vielleicht nicht wissen, ist, dass Nvidia mit ihren Turing- und Ampere-Karten, die als Tensorkerne bekannt sind, einen weiteren Satz von Kernen eingeführt hat.
Tensorkerne
Tensorkerne sind physische Kerne, die komplexen Berechnungen für Aufgaben wie maschinelles Lernen und KI gewidmet sind. Tensorkerne ermöglichen das Rechnen mit gemischter Genauigkeit, wobei Berechnungen dynamisch angepasst werden, um den Durchsatz zu beschleunigen und gleichzeitig die Genauigkeit zu erhalten. Diese Kerne wurden speziell entwickelt, um bei diesen komplexen Workloads zu helfen, um diese Berechnungen effizienter zu gestalten und um die Haupt-CUDA-Kerne der Karte von der zusätzlichen Belastung zu entlasten.
Bei Verbraucherkarten wie der auf Spiele ausgerichteten GeForce-Kartenserie, die auf der Turing- oder Ampere-Architektur basiert, haben die Tensorkerne keinen speziellen Rendering-Auftrag. Diese Kerne rendern keine Frames und helfen nicht bei allgemeinen Leistungszahlen, wie dies bei normalen CUDA-Kernen oder RT-Kernen der Fall sein könnte. Das Vorhandensein von Tensorkernen in diesen Karten erfüllt einen Zweck. Diese Kerne übernehmen den größten Teil der Rechenleistung hinter der hervorragenden Deep Learning Super Sampling- oder DLSS-Funktion von Nvidia. Wir werden DLSS in einer Minute untersuchen, aber zuerst müssen wir herausfinden, welche Karten überhaupt Tensorkerne besitzen.
Zum Zeitpunkt des Schreibens gibt es nur eine Handvoll Karten mit Tensorkernen. Nvidia integrierte zuerst die Tensorkerne in den Nvidia TITAN V, eine Workstation-Karte, die auf der Volta-Architektur basiert. Diese Architektur wurde nie auf Consumer-Grafikkarten herunterskaliert und daher wurde die Volta-Architektur nie in einer GeForce-GPU gesehen. Danach führte Nvidia die Tensor-Kerne in einer Reihe von Quadro-GPUs ein, und vor allem für Gamer die RTX-Karten, die auf der Turing- und Ampere-Architektur basieren. Dies bedeutet, dass alle Grafikkarten der Marke RTX vom RTX 2060 bis zum RTX 3090 über Tensorkerne verfügen und die DLSS-Funktion von Nvidia nutzen können.
Wie funktionieren Tensorkerne?
Während der eigentliche Prozess hinter der Arbeit eines Tensorkerns ziemlich kompliziert ist, kann er in drei Punkten zusammengefasst werden.
- Tensorkerne reduzieren die für die Berechnung von Multiplikations- und Additionsoperationen erforderlichen Zyklen um das 16-fache - in meinem Beispiel für eine 32 × 32-Matrix von 128 Zyklen auf 8 Zyklen.
- Tensorkerne reduzieren die Abhängigkeit von wiederholtem Zugriff auf gemeinsam genutzten Speicher und sparen so zusätzliche Zyklen für den Speicherzugriff.
- Tensorkerne sind so schnell, dass die Berechnung kein Engpass mehr ist. Der einzige Engpass besteht darin, Daten an die Tensorkerne zu senden.
Mit einfachen Worten, Tensorkerne werden verwendet, um äußerst komplexe Berechnungen durchzuführen, für deren Durchführung andere nicht spezialisierte Kerne wie CUDA-Kerne unangemessen viel Zeit in Anspruch nehmen. Aufgrund ihrer spezifischen Natur eignen sich Tensorkerne eindeutig hervorragend für diese Art von Arbeiten. Als Volta zum ersten Mal auftauchte, führte Anandtech einige Mathe-Tests mit 3 Nvidia-Karten durch. Die neue Volta-Karte, eine Pascal-Grafikkarte der Spitzenklasse und eine ältere Maxwell TITAN-Karte wurden alle in den Mix aufgenommen, und dies waren die Ergebnisse.
In diesem Diagramm bezieht sich der Begriff Genauigkeit auf die Anzahl der Bits, die für die Gleitkommazahlen in den Matrizen verwendet werden, wobei double 64, single 32 ist und so weiter. Dieses Ergebnis zeigt deutlich, dass die Tensorkerne den Standard-CUDA-Kernen bei speziellen Tensorberechnungen wie dieser weit voraus sind.
Anwendungen
Aber was genau sind die Anwendungen dieser Tensorkerne? Da Tensorkerne komplexe Prozesse wie das KI-Training um das Zehnfache beschleunigen können, gibt es verschiedene Bereiche in der KI und im Deep Learning, in denen Tensorkerne nützlich sein können. Hier sind einige allgemeine Bereiche, in denen Tensorkerne verwendet werden können.
Tiefes Lernen
Ein Bereich, in dem Tensorkerne und die Karten, die sie haben, besonders nützlich sein können, ist das Gebiet des tiefen Lernens. Dies ist eigentlich ein Teilgebiet des maschinellen Lernens, das sich mit Algorithmen befasst, die von der Struktur und Funktion des Gehirns inspiriert sind und künstliche neuronale Netze genannt werden. Deep Learning ist ein weites Feld, das eine ganze Reihe interessanter Themengebiete abdeckt. Der Kern des tiefen Lernens besteht darin, dass wir jetzt schnell genug Computer und Daten haben, um tatsächlich große neuronale Netze zu trainieren.
Hier kommen die Tensorkerne ins Spiel. Während normale Grafikkarten für einen kleinen Betrieb oder auf individueller Ebene ausreichen können, erfordert dieser Prozess eine Menge spezifischer Rechenleistung, wenn er in größerem Maßstab implementiert wird. Wenn eine Organisation wie Nvidia selbst an Deep Learning als Feld arbeiten möchte, werden Grafikkarten mit den spezifischen Rechenleistungen von Tensorkernen zur Notwendigkeit. Tensorkerne bewältigen diese Workloads viel effizienter und schneller als jede andere derzeit verfügbare Form von Rechenkern. Diese Besonderheit macht diese Kerne und die Karten, die sie enthalten, zu einem wertvollen Aktivposten für die Deep Learning-Branche.
Künstliche Intelligenz
Wir haben alle die Filme gesehen. Künstliche Intelligenz soll das nächste große Thema im Bereich Computer und Robotik sein. Künstliche Intelligenz oder KI bezieht sich auf die Simulation menschlicher Intelligenz in Maschinen, die so programmiert sind, dass sie wie Menschen denken und ähnliche Aktionen ausführen. Merkmale wie Lernen und Problemlösen fallen ebenfalls unter die Kategorie der künstlichen Intelligenz.
Es sei darauf hingewiesen, dass künstliche Intelligenz nicht nur auf die Intelligenz in Maschinen beschränkt ist, wie wir sie in den Filmen gesehen haben. Diese Art von Intelligenz ist heutzutage in mehreren Anwendungen sehr verbreitet. Unsere virtuellen Assistenten in unseren Mobiltelefonen verwenden auch eine Form der künstlichen Intelligenz. In der Welt des Spielens weisen alle computergenerierten und kontrollierten Feinde und NPCs auch ein gewisses Maß an künstlicher Intelligenz auf. Alles, was in einer simulierten Umgebung menschenähnliche Tendenzen oder Verhaltensnuancen aufweist, nutzt künstliche Intelligenz.
Das Gebiet der künstlichen Intelligenz erfordert auch ein hohes Maß an rechnerischer Spezifität, und es ist ein weiterer Bereich, in dem Grafikkarten mit Tensor Cores auf jeden Fall nützlich sind. Nvidia ist einer der weltweit führenden Anbieter von KI und Deep Learning. Ihre Produkte wie die Tensorkerne und Funktionen wie das berühmte Deep Learning Super Sampling von Nvidia sind ein Beweis für ihre Position.
Deep Learning Super Sampling
DLSS ist eine der besten Anwendungen von Tensorkernen, die derzeit in der Branche zu finden sind. DLSS oder Deep Learning Super Sampling ist Nvidias Technik für intelligentes Upscaling, mit der ein mit einer niedrigeren Auflösung gerendertes Bild auf ein Display mit höherer Auflösung hochskaliert werden kann, wodurch eine höhere Leistung als beim nativen Rendering erzielt wird. Nvidia führte diese Technik mit der ersten Generation der RTX-Grafikkartenserie ein. DLSS ist nicht nur eine Technik für gewöhnliches Upscaling oder Supersampling, sondern verwendet AI, um die Qualität des Bildes, das mit einer niedrigeren Auflösung gerendert wurde, intelligent zu erhöhen, um die Bildqualität zu erhalten. Dies kann theoretisch das Beste aus beiden Welten bieten, da das angezeigte Bild immer noch von hoher Qualität ist und die Leistung gegenüber nativem Rendering ebenfalls verbessert wird.
DLSS nutzt die Leistungsfähigkeit der KI, um intelligent zu berechnen, wie das Bild mit einer niedrigeren Auflösung gerendert werden soll, während die maximale Qualität erhalten bleibt. Es nutzt die Leistung der neuen RTX-Karten, um komplexe Berechnungen durchzuführen, und verwendet diese Daten dann, um das endgültige Bild so anzupassen, dass es dem nativen Rendering so nahe wie möglich kommt. Das Markenzeichen von DLSS ist die äußerst beeindruckende Erhaltung der Qualität. Bei Verwendung der herkömmlichen Hochskalierung mithilfe der Spielmenüs können Spieler definitiv einen Mangel an Schärfe und Schärfe des Spiels feststellen, nachdem es mit einer niedrigeren Auflösung gerendert wurde. Dies ist bei der Verwendung von DLSS kein Problem. Obwohl das Bild mit einer niedrigeren Auflösung gerendert wird (häufig bis zu 66% der ursprünglichen Auflösung), ist das resultierende hochskalierte Bild weitaus besser als das, was Sie mit einer herkömmlichen Hochskalierung erzielen würden. Es ist so beeindruckend, dass die meisten Spieler den Unterschied zwischen einem Bild, das nativ mit der höheren Auflösung gerendert wurde, und einem von DLSS hochskalierten Bild nicht erkennen können.
Der bemerkenswerteste Vorteil von DLSS und wohl der gesamte Anreiz hinter seiner Entwicklung ist die signifikante Leistungssteigerung, während DLSS eingeschaltet ist. Diese Leistung beruht auf der einfachen Tatsache, dass DLSS das Spiel mit einer niedrigeren Auflösung rendert und es dann mithilfe von AI hochskaliert, um es an die Ausgabeauflösung des Monitors anzupassen. Mithilfe der Deep-Learning-Funktionen der Grafikkarten der RTX-Serie kann DLSS das Bild in einer Qualität ausgeben, die dem nativ gerenderten Bild entspricht.
Nvidia hat die Mechanik seiner DLSS 2.0-Technologie auf seiner offiziellen Website erläutert. Wir wissen, dass Nvidia ein System namens Neural Graphics Framework oder NGX verwendet, das die Fähigkeit eines NGX-basierten Supercomputers nutzt, um KI-Berechnungen zu lernen und besser zu werden. DLSS 2.0 hat zwei primäre Eingänge in das KI-Netzwerk:
- Von der Spiel-Engine gerenderte Alias-Bilder mit niedriger Auflösung
- Bewegungsvektoren mit niedriger Auflösung aus denselben Bildern - auch von der Spiel-Engine generiert
Nvidia verwendet dann einen Prozess, der als zeitliches Feedback bekannt ist, um zu „schätzen“, wie der Frame aussehen wird. Dann verwendet ein spezieller Typ eines AI-Autoencoders den Stromrahmen mit niedriger Auflösung und den vorherigen Rahmen mit hoher Auflösung, um pixelweise zu bestimmen, wie ein Stromrahmen höherer Qualität erzeugt werden soll. Gleichzeitig unternimmt Nvidia Schritte, um das Verständnis des Supercomputers für den Prozess zu verbessern:
Zukünftige Anwendungen
Wie wir an den Anwendungen wie Deep Learning, künstlicher Intelligenz und insbesondere der von Nvidia eingeführten DLSS-Funktion sehen können, erfüllen die Tensorkerne dieser Grafikkarten viele interessante und wichtige Aufgaben. Es ist schwierig vorherzusagen, wie die Zukunft für diese Bereiche aussehen wird, aber man kann definitiv eine fundierte Vorhersage treffen, die auf aktuellen Daten und Branchentrends basiert.
Derzeit ist der weltweite Schub in Bereichen wie künstliche Intelligenz und maschinelles Lernen auf einem Allzeithoch. Man kann davon ausgehen, dass Nvidia in naher Zukunft sein Angebot an Grafikkarten mit Tensorkernen erweitern wird, und diese Karten werden sich für diese Anwendungen als nützlich erweisen. Darüber hinaus ist DLSS eine weitere großartige Anwendung der Deep-Learning-Technologien, die die Tensorkerne verwenden, und die wahrscheinlich auch in naher Zukunft große Verbesserungen erfahren werden. Es ist eines der interessantesten und produktivsten Features der PC-Gaming-Branche in den letzten Jahren, daher muss man davon ausgehen, dass es hier bleibt.
Mit der Kraft der Tensorkerne werden Fortschritte in den Bereichen maschinelles Lernen und künstliche Intelligenz in rasantem Tempo erzielt. Dieser Prozess wird höchstwahrscheinlich fortgesetzt und verstärkt, wenn Unternehmen wie Nvidia die Verantwortung übernehmen und die PC-Gaming-Branche anführen, wenn es darum geht, das Wissen über diese Bereiche in den von uns gespielten Spielen anzuwenden.