Nachricht

GPU-Training Llama 3.1 stürzt wie verrückt ab. Gibt es einen großen Hersteller, der einen CPU-Server verwendet, um ein großes Modell mit Hunderten von Milliarden Parametern auszuführen?

2024-08-01

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina


Neuer Weisheitsbericht

Herausgeber: Redaktion

[Einführung in die neue Weisheit]Es ist an der Zeit, einen CPU-Universalserver zu verwenden, um große Modelle mit Hunderten Milliarden Parametern auszuführen!

Musk baute in 19 Tagen den größten Supercomputer der Welt, bestehend aus 100.000 verbundenen H100, und widmete sich voll und ganz dem Training von Grok 3.

Gleichzeitig verbreiteten ausländische Medien die Nachricht, dass der nächste von OpenAI und Microsoft gemeinsam errichtete Supercomputing-Cluster aus 100.000 GB200 bestehen wird.

In diesem KI-Wettbewerb unternehmen große Technologieunternehmen alle Anstrengungen, um ihre Investitionen in GPUs zu erhöhen, was darauf hindeutet, dass sie mit immer leistungsfähigeren GPUs unbesiegbar werden.

Dieses fanatische Streben nach High-End-GPUs ist jedoch nicht in allen Situationen eine einwandfreie Lösung.


Der Vater von Pytorch sagte, dass im technischen Bericht viele interessante Details der Infrastruktur verborgen seien, darunter die Frage, wie man parallelisiert, wie man das System zuverlässiger macht usw.

Nehmen wir als Beispiel die Stabilität: Während der 54 Tage des Llama 3.1-Trainings kam es im 16.000 Blöcke umfassenden H100-Cluster von Meta zu insgesamt 419 unerwarteten Unterbrechungen, was durchschnittlich einer alle drei Stunden entspricht.

Davon wurden 148 Mal (30,1 %) durch verschiedene GPU-Ausfälle verursacht.

Im Gegensatz dazu gab es nur 2 Interrupts, die durch CPU-Ausfälle verursacht wurden.


Wenn Sie hingegen Llama 3.1 405B ausführen möchten, müssen Sie es mit zwei 8×H100 DGX-Workstations koppeln, also 1280 GB Videospeicher.

Ein Krieger versuchte einmal, einen 4090 zu betreiben, aber nach 30 Minuten Wartezeit spuckte das Modell langsam „The“ aus.


Eine vollständige Antwort dauerte ganze 20 Stunden

Freunde, die sich mit Modelltraining und Inferenz auskennen, wissen, dass diese Dinge überhaupt nicht überraschend sind.

Clusteraufbau (GPU-Konfiguration, Netzwerkdesign, Streckenoptimierung usw.), Clusterverwaltung (Echtzeitüberwachung, Fehlerbehebung usw.) ... alles sind „Stolpersteine“.

Was kann ein Unternehmen tun, dem es an einschlägiger Erfahrung und Kapital mangelt?


Kürzlich nutzten die Forschungs- und Entwicklungsingenieure von Inspur Information nur 4 CPUs, um „Source 2.0“ mit Hunderten Milliarden Parametern auf einem Allzweckserver auszuführen!

Angesichts der Codierungsaufgabe, ein Programm in Java zu schreiben, liefert „Source 2.0“ sehr schnell Ergebnisse.


Stellen Sie noch eine weitere Begründungsfrage: Eine Leiter hängt an der Seite des Bootes, 2 Meter über dem Meer. Wenn das Meerwasser um einen halben Meter pro Stunde steigt, wie viele Stunden dauert es, bis das Meerwasser die Leiter überflutet?

Ebenso liefert KI detaillierte Problemlösungsschritte und Antworten nahezu ohne Verzögerung.



Es ist beispiellos, einen Allzweckserver zum Ausführen großer Modelle mit Hunderten von Milliarden Parametern zu verwenden. Die Anhäufung in diesem Bereich ist völlig leer und es gibt keine Erfahrung, auf die man zurückgreifen könnte.

Wie macht Inspur Information das?

Nutzen Sie 4 CPUs, um große Modelle mit Hunderten Milliarden Parametern zu nutzen

Um die Schlussfolgerung eines großen Modells mit Hunderten von Milliarden Parametern auf einem einzigen Server zu erreichen, gibt es zwei Hauptphasen, die beide hohe Anforderungen an die Rechenleistung stellen.

Erstens gibt es die Vorfüllphase, auch Vorwärtsausbreitungsphase genannt.

Diese Phase umfasst die Verarbeitung der Eingabedaten und das erste Lesen der Modellparameter.

Wenn Sie beispielsweise die Eingabeaufforderung „Schreiben Sie mir einen Artikel über KI“ eingeben, werden in der Vorbelegungsphase alle Token und Modellparameter in der Frage auf einmal in die Berechnung eingegeben.

Manchmal kann diese Eingabe aus ein paar Wörtern, aus Tausenden von Wörtern oder aus einem Buch bestehen.

Wie rechenintensiv die erste Stufe ist, hängt hauptsächlich von der Länge unserer Eingabe ab.

Während der Berechnung des ersten Tokens werden alle Gewichtsparameter sowie der KV-Cache und andere Daten im Speicher gespeichert, da das Modell zum ersten Mal geladen wird.

Dies ist das Zwei- bis Dreifache des Speicherplatzes, der von den Modellparametern selbst belegt wird.

Für Hunderte Milliarden Parametermodelle müssen eine Vielzahl von Parametern und Dateneingaben in leistungsstarken Recheneinheiten verarbeitet werden. Dazu muss es einen Vektorisierungsbefehlssatz und einen Matrixberechnungsbefehlssatz unterstützen, um eine große Anzahl von Matrixmultiplikationen und Tensoroperationen zu implementieren.

Zweitens gibt es die Dekodierungsphase, d. h. die Phase, in der das Modell mit der Ausgabe von Ergebnissen beginnt, nachdem alle Fragen eingegeben wurden.

In dieser Phase besteht die einzige Anforderung für große Modelle darin, so schnell wie möglich auszugeben. Gleichzeitig handelt es sich bei der Herausforderung nicht mehr um eine Rechenleistungsherausforderung, sondern um eine „Datentransfer“-Herausforderung.

Es enthält zwei Teile der „Datenübertragung“:

  • Die große Menge an KV-Cache, die in der Vorfüllphase erzeugt wird, muss vom Videospeicher/Speicher in die Recheneinheit verschoben werden (die Arbeitslast ist sehr hoch).

  • Übergabe der Modellparameter selbst

Diese Übertragungen spielen eine entscheidende Rolle für die Berechnungs- und Inferenzgeschwindigkeit großer Modelle. Die Datenübertragung ist sehr schnell und die LLM-Aussagegeschwindigkeit wird ebenfalls hoch sein.

Die LLM-Ausgabe generiert hauptsächlich Token einzeln über KV Catch und speichert den Schlüsselwertvektor des neuen Wortblocks nach jedem Generierungsschritt.

Daher muss der Server für die Echtzeitinferenz von Hunderten Milliarden großen Modellen über eine hohe Rechenleistung und eine hohe Datenübertragungseffizienz von der Speichereinheit zur Recheneinheit verfügen.

Insgesamt weisen die beiden Stufen der Inferenz großer Modelle völlig unterschiedliche Recheneigenschaften auf, die eine gemeinsame Optimierung in Bezug auf Software und Hardware erfordern.

GPU ist nicht alles

Traditionell ist die GPU aufgrund ihrer überlegenen Parallelverarbeitungsfähigkeiten die erste Wahl für KI-Training und -Inferenz.

kosten

Allerdings sind High-End-GPU-Server auf dem Markt oft Mangelware und äußerst schwer zu bekommen.

Diese Kosten können sich nur gut finanzierte Technologiegiganten wie Microsoft und Google leisten.

Andererseits ist es nicht nur unbezahlbar, sondern auch unbezahlbar.

Die Anmietung von GPU-basierten Cloud-Diensten ist bei Inferenzaufgaben teuer. Wenn wissenschaftliche Forscher und Anwendungshersteller eine höhere Kosteneffizienz erreichen wollen, müssen sie einen anderen Weg finden.

Videospeicher

Darüber hinaus besteht einer der größten Nachteile der GPU darin, dass die Videospeicherkapazität begrenzt ist.

Die aktuelle Netzwerkarchitektur von LLM in der Branche hat sich schrittweise von GPT zu MoE entwickelt. Die Parameterskala großer Modelle, die zu AGI führen, wird nur exponentiell zunehmen.

Dies bedeutet, dass die Größe der Closed-Source-/Open-Source-Mainstream-Modelle immer größer wird und Modelle mit Hunderten Milliarden Parametern oder sogar Billionen Parametern zum Mainstream werden.

Für zig Milliarden Parametermodelle reichen 20–30 GB Videospeicher aus. Wenn Sie jedoch 100 Milliarden Parameter ausführen möchten, benötigen Sie etwa 200–300 GB Videospeicherplatz.

Die aktuellen Mainstream-KI-Chips verfügen in der Regel nur über ein paar Dutzend GB Videospeicher, was für ein so großes Modell offensichtlich nicht geeignet ist. (Der derzeit leistungsstärkste KI-Chip hat noch keine 200 GB erreicht)


Unterschätzter Allzweckserver

Wenn die GPU nicht funktioniert, beginnen Sie mit der CPU.

Obwohl ein groß angelegtes Training von Modellen derzeit nicht möglich ist, bieten Allzweckserver unerwartet erhebliche Vorteile bei Inferenzaufgaben.

Im Rahmen der spezifischen Praxis begannen die Ingenieure von Inspur Information mit der Hardware-Ressourcen- und Algorithmus-Ebene, um jeden „Stolperstein“ zu überwinden.

Ultragroßer Speicher + Hochgeschwindigkeitsbandbreite

Was die Rechenleistung angeht,Derzeit verfügen führende Server-CPUs bereits über KI-Beschleunigungsfunktionen.

Ähnlich wie der Tensor-Kern der GPU kann die AMX-Advanced-Matrix-Erweiterung Berechnungen mit geringer Genauigkeit beschleunigen, einen Befehlssatz für den CPU-Kern kompilieren und einen dedizierten Kern zur Beschleunigung verwenden.

Was die Algorithmen betrifft,Der universelle Server von Inspur Information kann gleichzeitig gängige KI-Frameworks wie PyTorch und TensorFlow sowie beliebte Entwicklungstools wie DeepSpeed ​​unterstützen und so den Anforderungen der Benutzer an ein ausgereifteres, einfacher bereitzustellendes und praktischeres offenes Ökosystem gerecht werden.

Was die Kommunikation betrifft,Das Design der Full-Link-UPI-Busverbindung (Ultra Path Interconnect) ermöglicht eine effiziente Datenübertragung zwischen CPUs:

  1. Ermöglicht die direkte Datenübertragung zwischen zwei beliebigen CPUs und reduziert so Kommunikationsverzögerungen

  2. Bietet hohe Übertragungsraten von bis zu 16GT/s (Giga-Transfers pro Sekunde)


Darüber hinaus haben die Forschungs- und Entwicklungsingenieure von Inspur Information auch die Verkabelungswege und die Impedanzkontinuität zwischen CPUs sowie zwischen CPUs und Speicher optimiert.

Basierend auf den dreidimensionalen Simulationsergebnissen passten sie die Via-Anordnung an, um das Signalübersprechen auf unter -60 dB zu reduzieren, was 50 % weniger als bei der vorherigen Generation ist.

Darüber hinaus wird durch die aktive DOE-Matrixsimulation die optimale Lösung für die Kombination aller Ecken des Kanals gefunden, sodass die Rechenleistung voll ausgenutzt werden kann.

Was das Gedächtnis angeht,Man kann sagen, dass dies der größte Vorteil von Allzweckservern ist.

  • Kapazität

Bei einem 4-Sockel-Server müssen Sie nur 8 32-GB-Speichersticks an jede CPU anschließen, um problemlos 1 TB zu erreichen. Im vollständig eingesteckten Zustand kann es sogar auf 16 TB erweitert werden und unterstützt Modelle mit bis zu einer Billion Parametern.

  • Bandbreite

Gepaart mit DDR5-Speicher kann eine theoretische Bandbreite von 4800 MHz × 8 Bit × 8 Kanälen × 4 ÷ 1024 = 1200 GB/s erreicht werden.

Die tatsächlichen Messergebnisse zeigen, dass die Lesebandbreite 995 GB/s, die Schreibbandbreite 423 GB/s und die Lese- und Schreibbandbreite 437 GB/s beträgt.

Diese Daten sind vergleichbar mit einigen GPUs oder Beschleunigerkarten, die mit GDDR-Speicher ausgestattet sind.


Doch Hardware allein reicht nicht aus

Es reicht nicht aus, sich ausschließlich auf Hardware-Innovationen zu verlassen. Es ist für die CPU schwierig, umfangreiche parallele Berechnungen großer Modellalgorithmen durchzuführen.

Wie eingangs erwähnt, stellen große Modelle sehr hohe Anforderungen an die Kommunikationsbandbreite, sei es bei der Datenberechnung, zwischen Recheneinheiten oder zwischen Recheneinheiten und Speicher.

Bei Berechnung nach BF16-Genauigkeit muss die Kommunikationsbandbreite zwischen Speicher und Recheneinheit mindestens 2 TB/s betragen, wenn die Laufzeitverzögerung eines 100 Milliarden großen Modells weniger als 100 ms betragen soll.

Darüber hinaus eignen sich Allzweck-Serverprozessoren nicht für große KI-Modelle, die auf Beschleunigerkartendesigns basieren, die sich gut für groß angelegtes Parallelrechnen eignen.

Der Grund liegt auf der Hand: Letzterer verfügt zwar über einen äußerst vielseitigen und leistungsstarken Rechenkern, verfügt jedoch nicht über eine parallele Arbeitsumgebung.

Im Allgemeinen überträgt ein Allzweckserver zunächst das Gewicht des Modells an eine CPU und lässt ihn dann eine Verbindung zu anderen CPUs in Reihe herstellen, um die Übertragung von Gewichtsdaten zu realisieren.

Da große Modelle jedoch während des Betriebs häufig Algorithmusgewichte zwischen Speicher und CPU übertragen müssen, hat dies zur Folge, dass die Bandbreitenauslastung zwischen CPU und Speicher nicht hoch und der Kommunikationsaufwand extrem hoch ist.


Wie kann das Problem gelöst werden?Innovation mit Algorithmen

Als Reaktion auf die oben genannten Probleme schlug Inspur Information zwei technologische Innovationen vor, „Tensor Parallel“ (Tensor Parallel) und „NF4 Quantification“, und realisierte erfolgreich die Echtzeitinferenz des Hunderte Milliarden Dollar großen Modells Yuan2.0-102B.

Den Ergebnissen der Leistungsanalyse zufolge ist die Berechnungszeitverteilung verschiedener Teile des Modells deutlich zu erkennen.

Die Laufzeit der linearen Schicht macht 50 % aus, die Laufzeit der Faltung macht 20 % aus, die Aggregationskommunikationszeit macht 20 % aus und andere Berechnungen machen 10 % aus.

Beachten Sie, dass während des gesamten Inferenzprozesses die Berechnungszeit 80 % ausmacht!

Dies steht in krassem Gegensatz zur Verwendung mehrerer PCIe-KI-Beschleunigerkarten – der Kommunikationsaufwand der letzteren kann bis zu 50 % betragen, was zu einer erheblichen Verschwendung von Rechenleistung führt.


Ergebnisdiagramm der Yuan2.0-102B-Modellinferenzleistungsanalyse

Tensorparallelität

Die sogenannte Tensorparallelität unterteilt den Faltungsoperator zunächst in Tensoren, berechnet dann die Gewichte der Matrizen der Aufmerksamkeitsschicht und der Feedforward-Schicht im großen Modell und gibt sie in den Speicher mehrerer Prozessoren ein.

Auf diese Weise können die vier CPUs im allgemeinen Server gleichzeitig Algorithmusgewichte erhalten, um die Berechnungen zu beschleunigen.

Allerdings unterteilt die Tensorparallelität die Modellparameter in feinere Granularitäten, sodass die CPU nach jeder Tensorberechnung eine Datensynchronisierung durchführen muss.

Für diese Anforderung kann die oben erwähnte Full-Link-UPI-Busverbindungstechnologie diese Anforderung vollständig erfüllen (Kommunikationsbandbreite beträgt bis zu 16 GT/s).

Letztendlich steigerte diese kollaborative Parallelarbeit die Recheneffizienz direkt um das Vierfache!


NF4-Quantifizierung

Was das Problem der unzureichenden Speicherbandbreite betrifft, muss das Modell „abgespeckt“ werden, ohne dass die Genauigkeit beeinträchtigt wird, d. h. es muss quantisiert werden.

Der Vorteil besteht darin, dass einerseits die LLM-Parameter in Low-Bit-Daten quantisiert werden können und die Gewichte kleiner werden. Andererseits wird nach der Gewichtsreduzierung auch die während der Berechnung übertragene Datenmenge kleiner.

Hier verwendet Inspur Information eine seltene Quantilquantifizierungsmethode – NF4 (4-stelliges NormalFloat).


Die NF4-Quantisierungsmethode kann die Größe von Yuan2.0-102B auf 1/4 der Originalgröße komprimieren.

Konkret besteht die Kernidee von NF4 darin, sicherzustellen, dass die Anzahl der Werte des Eingabetensors innerhalb des Quantisierungsintervalls gleich ist.

Diese Funktion eignet sich sehr gut zur Darstellung von LLM-Gewichten mit annähernder Normalverteilung.

Da die Standardabweichung an den Bereich des quantisierten Datentyps angepasst werden kann, kann NF4 eine höhere Genauigkeit als die herkömmliche 4-Bit-Ganzzahl- oder 4-Bit-Gleitkomma-Quantifizierung erreichen.

Auf diese Weise kann das quantisierte Modell nicht nur die Genauigkeitsanforderungen erfüllen, sondern auch die Menge der Speicherzugriffsdaten für groß angelegte parallele Berechnungen erheblich reduzieren und so die Decodierungsanforderungen des Echtzeit-Denkens erfüllen.


Datenintervalle für Ganzzahl- oder Gleitkomma-Quantisierungsverfahren sind normalerweise gleichmäßig oder exponentiell verteilt

Um die Gewichtsparameter des Modells weiter zu komprimieren, verwendete das Team auch die Technologie der verschachtelten Quantisierung (Double Quant).

Dies ist eine sekundäre Quantisierung basierend auf der NF4-Quantisierung.

Da NF4 nach der Quantisierung eine große Anzahl von Skalenparametern generiert, wird viel Speicher belegt, wenn 32-Bit-Gleitkommazahlen (FP32) zu deren Speicherung verwendet werden.

Wenn bei einem LLM mit Hunderten von Milliarden Parametern alle 64 Parameter als Quantisierungsblock berechnet werden (Blockgröße = 64), erfordert nur das Speichern der Skalenparameter zusätzliche 6 GB Speicher: (100 B ÷ 64) × 4 = 6 GB.

Das Team reduzierte den erforderlichen Speicherplatz erheblich, indem es diese Skalenparameter auf 8-Bit-Gleitkommazahlen (FP8) quantisierte.

Bei Verwendung von 256 als Quantisierungsblockgröße (Blockgröße = 256) beträgt der zusätzliche Speicherplatz, der zum Speichern aller Skalenparameter erforderlich ist, nur 1,57 GB: (100B ÷ 64 ÷ 256) × 4 + (100B ÷ 64) × 1 = 1,57 GB.

Durch die verschachtelte Quantisierung belegt jeder Gewichtsparameter des Modells am Ende nur 4 Byte Speicherplatz, wodurch viel Speicherplatz gespart wird als beim ursprünglichen FP32.

Gleichzeitig wird die Datenübertragungseffizienz vom Speicher zur CPU um das Vierfache verbessert.

Durch eine solche Optimierung wird die Speicherbandbreitenbeschränkung der Inferenz- und Decodierungseffizienz des Yuan2.0-102B-Modells erheblich gemildert, wodurch die Inferenzleistung des Modells weiter verbessert wird.

Das sogenannte Universal bedeutet, dass jeder es nutzen kann.

Zu diesem Zeitpunkt wurden Inspur-Informationen erfolgreich übermittelt!

Durch Systemoptimierung ist der NF8260G7 von Inspur Information der erste in der Branche, der den Betrieb großer Modelle mit Hunderten von Milliarden Parametern unterstützt, die ausschließlich auf Allzweckprozessoren basieren.

Bisher hat die Parameterskala großer KI-Modelle, die durch allgemeine Rechenleistung unterstützt werden, 100 Milliarden überschritten, was die Lücke in der Branche vollständig schließt und zu einem neuen Ausgangspunkt für Unternehmen wird, KI zu besitzen.

Der Einsatz von KI-Modellen mit Hunderten von Milliarden Parametern ermöglicht nun eine stärkere Leistung und wirtschaftlichere Kosten; KI-Großmodellanwendungen können eine engere Integration mit Cloud, Big Data und Datenbanken erreichen.


Das ultimative Ziel des wissenschaftlichen und technischen Fortschritts muss sein, in die Welt der Sterblichen zu gelangen.

Mit Blick auf die Gegenwart ist AIGC in Tausende von Branchen vorgedrungen. KI ist mit alarmierender Geschwindigkeit in jedes Computergerät eingedrungen.

Von Januar bis April 2024 überstieg die Zahl der Zuschlagsgebote für inländische Großmodelle die Gesamtzahl für das Gesamtjahr 2023, und die offengelegte Zahl der Zuschlagsgebote erreichte 77 % der Gesamtzahl der Zuschlagsgebote für das Gesamtjahr 2023.

Praktiker in der Finanzbranche, in Krankenhäusern und in den IT-Abteilungen von Unternehmen haben dies alle herausgefunden: Die Computerinfrastruktur traditioneller Branchen reicht nicht mehr aus!

Heutzutage sind große Modelle mit Hunderten von Milliarden Parametern der Schlüssel zur Entstehung von Intelligenz in Tausenden von Branchen. Ob die allgemeine Rechenleistung große Modelle mit Hunderten von Milliarden Parametern ausführen kann, ist der Schlüssel zur Messung, ob sie die Entstehung von Intelligenz in Tausenden von Branchen unterstützen kann.

Die Initiative von Inspur Information ermöglicht Kunden aus den Bereichen Internet, Finanzen, Medizin und anderen Branchen eine effiziente Bereitstellung und eine Einsparung von mehr als 80 % der Baukosten bei der ersten Investition.

Ob es um Finanzbetrugsprävention, Finanzdatenanalyse, CRM-Marketingeinblicke für Unternehmen, intelligente medizinische Diagnose, personalisierte Diagnose- und Behandlungspläne, Aus- und Weiterbildung usw. geht, wir werden Zeuge der weit verbreiteten Anwendung von KI sein.

Von nun an erfolgen alle Berechnungen durch KI.

Verweise:

https://mp.weixin.qq.com/s/1wYt7dfoVy2J1FFkOJjRTg