Mit dem durch ChatGPT ausgelösten KI-Boom sind GPUs zum Eckpfeiler der KI-Trainingsplattformen für große Modelle geworden und können sogar als entscheidende Rechenbasis bezeichnet werden. Um die Frage zu beantworten, warum GPUs für das KI-Training benötigt werden, ist es wichtig, die wichtigsten Technologien in der künstlichen Intelligenz (KI) und im Deep Learning zu verstehen.
Künstliche Intelligenz und Deep Learning
Künstliche Intelligenz ist eine Disziplin mit einer langen Geschichte. Seit den 1950er Jahren wurde es in verschiedenen technologischen Richtungen erforscht und erlebte mehrere Höhen und Tiefen. Aus den Anfängen der Künstlichen Intelligenz entstand ein eher erfolgloses Genre namens „Künstliche Neuronale Netze“. Das Konzept hinter dieser Technologie war, dass die Intelligenz des menschlichen Gehirns beispiellos ist und dass die Nachahmung des menschlichen Gehirns der Schlüssel zum Erreichen fortgeschrittener künstlicher Intelligenz ist. Das menschliche Gehirn besteht aus Milliarden von Neuronen, die miteinander verbunden sind und ein riesiges und komplexes neuronales Netzwerk bilden. Das Gehirn eines Babys ist wie ein unbeschriebenes Blatt, das durch postnatales Lernen ein hohes Maß an Intelligenz erreichen kann.
Künstliche Neuronenmodelle wurden entwickelt, um sich von den Neuronen des menschlichen Gehirns inspirieren zu lassen. In den künstlichen Neuronen auf der rechten Seite des Diagramms führt die Anpassung der Gewichtung jeder Eingabe und deren Verarbeitung durch das Neuron zur entsprechenden Ausgabe. Jedes Gewicht wird in diesem Zusammenhang als Parameter bezeichnet.
Durch die Verbindung mehrerer Neuronen zu einem Netzwerk entsteht ein künstliches neuronales Netzwerk. Künstliche neuronale Netze bestehen typischerweise aus einer Eingabeschicht, mehreren dazwischen liegenden verborgenen Schichten und einer Ausgabeschicht.
Solche künstlichen neuronalen Netze ähneln dem Gehirn eines Babys – leer und benötigen umfangreiche Datenzufuhr, um umfassend zu lernen und sich Wissen für die praktische Problemlösung anzueignen. Dieser Prozess wird als „Deep Learning“ bezeichnet und fällt in die Untergruppe des „maschinellen Lernens“.
Beim häufig verwendeten Ansatz des „überwachten Lernens“ müssen die der KI zugeführten Daten sowohl das Problem als auch die Antwort enthalten. Wenn das Ziel beispielsweise darin besteht, die KI darauf zu trainieren, zu erkennen, ob ein Bild eine Katze zeigt, müssen wir der KI viele Bilder mit der Kennzeichnung „Katze“ sowie die charakteristischen Merkmale von Katzen zur Verfügung stellen. Anhand dieser Beispiele wird die KI dann die Muster und Eigenschaften von Katzen erlernen.
Der Lernprozess beginnt damit, dass die KI ein bestimmtes Bild anhand seines anfänglichen Parametersatzes analysiert. Anschließend vergleicht es seine Schlussfolgerung mit der richtigen Antwort und passt die Parametergewichte entsprechend an. Dieser iterative Prozess wird fortgesetzt, bis die Ausgabe der KI nahezu mit der richtigen Antwort übereinstimmt.
Dieser Lernprozess wird Training genannt. Im Allgemeinen führt die Bereitstellung einer großen Datenmenge mit bekanntermaßen korrekten Antworten für die KI zu besseren Trainingsergebnissen. Sobald wir mit dem Training zufrieden sind, können wir die Leistung der KI bei unbekannten Problemen testen. Wenn die KI die Antworten genau finden kann, betrachten wir das Training als erfolgreich und die KI hat gute „Generalisierungsfähigkeiten“ bewiesen.
Wie im Diagramm dargestellt, handelt es sich bei der Übertragung von Parametergewichten von einer Schicht des neuronalen Netzwerks auf die nächste im Wesentlichen um Matrixmultiplikation und -addition. Je größer die Skala der Parameter des neuronalen Netzwerks ist, desto umfangreicher sind die während des Trainings erforderlichen Matrixberechnungen.
Die fortschrittlichsten Deep-Learning-Neuronalen Netze können Hunderte Millionen bis Billionen Parameter haben und erfordern große Mengen an Trainingsdaten, um eine hohe Genauigkeit zu erreichen. Das bedeutet, dass sie eine enorme Anzahl von Eingabeproben durch Vorwärts- und Rückwärtsausbreitung verarbeiten müssen. Da neuronale Netze aus einer großen Anzahl identischer Neuronen aufgebaut sind, sind diese Berechnungen von Natur aus hochgradig parallel. Sollten wir angesichts des enormen Rechenaufwands eine CPU oder eine GPU verwenden?
CPU vs. GPU
Die CPU (Central Processing Unit) ist das Gehirn des Computers, der Kern des Kerns. Es besteht im Wesentlichen aus einer arithmetischen Logikeinheit (ALU) zur Durchführung von Berechnungen und einer Steuereinheit (CU) zur Verwaltung des Daten- und Befehlsflusses.
Wenn Daten eintreffen, werden sie zunächst im Speicher gespeichert. Die Steuereinheit ruft dann die relevanten Daten aus dem Speicher ab und übergibt sie zur Verarbeitung an die ALU. Nachdem die Berechnung abgeschlossen ist, wird das Ergebnis wieder im Speicher gespeichert.
In der Anfangszeit verfügte eine CPU über einen einzigen Satz ALU, CU und Cache und konnte jeweils nur eine Aufgabe verarbeiten. Um mehrere Aufgaben zu bewältigen, müsste die CPU sie in eine Warteschlange stellen und nacheinander ausführen, wobei die Ressourcen geteilt werden.
Später wurden mehrere Sätze von ALU, CU und Cache auf einem einzigen Chip integriert, wodurch eine Multi-Core-CPU entstand. Multi-Core-CPUs verfügen über echte Parallelverarbeitungsfähigkeiten.
Typischerweise verfügen moderne CPUs über einige bis Dutzende Kerne. Als Smartphones zum ersten Mal weit verbreitet waren, legten die Hersteller großen Wert auf die Anzahl der Kerne, was zu einem „Kernkrieg“ auf dem Smartphone-Markt führte. Dieser Wettlauf um die Anzahl der Kerne verlangsamte sich jedoch schließlich und die Chiphersteller konzentrierten sich auf die Optimierung der Kernleistung.
Warum integrieren CPUs nicht noch mehr Kerne? Dies liegt daran, dass es sich bei der CPU um einen Allzweckprozessor handelt. Seine Aufgaben sind hochkomplex und erfordern die Durchführung verschiedener Arten von Datenberechnungen und die Reaktion auf Mensch-Computer-Interaktionen. Die komplexe Aufgabenverwaltung und -planung erfordert ausgefeiltere Steuereinheiten und größere Caches, um beim Wechseln zwischen Aufgaben eine geringe Latenz zu gewährleisten. Mit zunehmender Anzahl der Kerne steigt auch der Kommunikationsaufwand zwischen den Kernen, was die Leistung einzelner Kerne beeinträchtigen kann. Darüber hinaus kann der Stromverbrauch durch mehr Kerne steigen, und wenn die Arbeitslast nicht gleichmäßig verteilt ist, verbessert sich die Gesamtleistung möglicherweise nicht und kann sogar sinken.
GPU, Parallel-Computing-Experte
Lassen Sie uns in den Bereich der GPU eintauchen. Die GPU, auch als Grafikverarbeitungseinheit bekannt, wurde ursprünglich entwickelt, um die CPU zu entlasten und die Darstellung dreidimensionaler Grafiken zu beschleunigen, die häufig in Computergrafikkarten verwendet werden. Die Bildverarbeitung ist im Wesentlichen eine Form intensiven parallelen Rechnens mit Schwerpunkt auf Matrizen. Wie im Diagramm unten dargestellt, besteht das Bild links aus zahlreichen Pixeln und kann rechts natürlich als Matrix dargestellt werden.
Der Begriff „GPU“ gewann 1999 an Popularität, als Nvidia den GeForce256 herausbrachte, ein Produkt, das jeden Pixelpunkt gleichzeitig verarbeitet und mathematisch intensive parallele Berechnungen wie Grafiktransformationen, Beleuchtung und Dreiecksausschnitt für die Bildwiedergabe durchführt.
Die Kompetenz von GPUs bei der Bewältigung intensiver paralleler Datenverarbeitung ergibt sich aus ihren architektonischen Unterschieden im Vergleich zu CPUs. CPUs verfügen über weniger Kerne, wobei jeder Kern über ausreichend Cache und robuste Rechenkapazitäten sowie Hardware-Unterstützung für zahlreiche Beschleunigungszweigvorhersagen und noch komplexere logische Beurteilungen verfügt, wodurch sie für die Bewältigung komplizierter Aufgaben geeignet sind.
Im Gegensatz dazu sind GPUs unkomplizierter und brutaler; Jeder Kern verfügt über eine begrenzte Rechenleistung und Cache-Größe. Daher ist eine Erhöhung der Kernanzahl erforderlich, um die Gesamtleistung zu verbessern. Mit einer höheren Anzahl an Kernen können GPUs effizient Multitasking betreiben, indem sie eine große Menge einfacher paralleler Rechenaufgaben verarbeiten.
Im Laufe der Zeit wurden GPUs vielseitiger und programmierbarer und erweiterten ihre Funktionalität über das Rendern von Bildanzeigen hinaus, um Hochleistungsrechnen, Deep Learning und andere Arbeitslasten zu beschleunigen. GPUs haben die Chance genutzt, die sich aus der steigenden Nachfrage nach parallelem Computing durch künstliche Intelligenz ergibt, und sind von ihrer früheren Randrolle in den Mittelpunkt gerückt und sehr gefragt. Der Begriff „GPU“ hat sich in GPGPU umgewandelt und steht für General-Purpose GPU. Durch die Nutzung der inhärenten Parallelität des KI-Trainings auf GPUs wird die Geschwindigkeit im Vergleich zum Training ausschließlich mit CPUs erheblich gesteigert, was sie zur bevorzugten Plattform für das Training großer, komplexer neuronaler Netzwerksysteme macht. Die parallele Natur von Inferenzoperationen passt gut zur Ausführung auf GPUs. Daher wird die Rechenleistung, die von GPUs als primärer Kraft bereitgestellt wird, als „intelligentes Rechnen“ bezeichnet.
Ähnliche Produkte:
- OSFP-XD-1.6T-4FR2 1.6T OSFP-XD 4xFR2 PAM4 1291/1311 nm 2 km SN SMF optisches Transceiver-Modul $17000.00
- OSFP-XD-1.6T-2FR4 1.6T OSFP-XD 2xFR4 PAM4 2x CWDM4 2km Dual-Duplex LC SMF optisches Transceiver-Modul $22400.00
- OSFP-XD-1.6T-DR8 1.6T OSFP-XD DR8 PAM4 1311 nm 2 km MPO-16 SMF Optisches Transceivermodul $12600.00
- NVIDIA MMS4X50-NM-kompatibles OSFP 2x400G FR4 PAM4 1310 nm 2 km DOM Dual Duplex LC SMF optisches Transceivermodul $1350.00
- NVIDIA MMS4X00-NM-FLT-kompatibles 800G-Twin-Port-OSFP-2x400G-Flat-Top-PAM4-1310-nm-500-m-DOM-Dual-MTP/MPO-12-SMF-optisches Transceiver-Modul $1200.00
- NVIDIA MMA4Z00-NS-FLT-kompatibles 800 Gbit/s Twin-Port OSFP 2x400G SR8 PAM4 850 nm 100 m DOM Dual MPO-12 MMF optisches Transceiver-Modul $850.00
- NVIDIA MMS4X00-NM-kompatibles 800-Gbit/s-Twin-Port-OSFP-2x400G-PAM4-1310-nm-500-m-DOM-Dual-MTP/MPO-12-SMF-Optisch-Transceiver-Modul $1100.00
- NVIDIA MMA4Z00-NS-kompatibles 800-Gbit/s-Twin-Port-OSFP-2x400G-SR8-PAM4-850-nm-100-m-DOM-Dual-MPO-12-MMF-optisches Transceiver-Modul $750.00
- NVIDIA MMS1Z00-NS400-kompatibles 400G NDR QSFP112 DR4 PAM4 1310 nm 500 m MPO-12 mit optischem FEC-Transceiver-Modul $800.00
- NVIDIA MMS4X00-NS400 kompatibles 400G OSFP DR4 Flat Top PAM4 1310 nm MTP/MPO-12 500 m SMF FEC optisches Transceiver-Modul $800.00
- NVIDIA MMA1Z00-NS400 kompatibles 400G QSFP112 SR4 PAM4 850 nm 100 m MTP/MPO-12 OM3 FEC optisches Transceiver-Modul $650.00
- NVIDIA MMA4Z00-NS400 kompatibles 400G OSFP SR4 Flat Top PAM4 850 nm 30 m auf OM3/50 m auf OM4 MTP/MPO-12 Multimode FEC optisches Transceiver-Modul $650.00