KI-Modelle und Plattformen
GLM-130B: Ein offenes, bilingual vorgebildetes Modell

Das GLM-130B-Framework ist ein bilingual vorgebildetes großes Sprachmodell mit über 130 Milliarden Parametern, das in der Lage ist, Textausgaben in Englisch und Chinesisch zu generieren. Das GLM-130B-Framework ist ein Versuch, ein Sprachmodell im Maßstab von über 100 Milliarden Parametern offenzulegen und zu diskutieren, wie Frameworks dieser Größe vorgebildet werden können, da das Training eines Modells dieser Größe oft von Problemen wie Divergenz und Verlustspitzen begleitet wird.
In diesem Artikel werden wir über das GLM-130B-Framework sprechen, das versucht, eine Methode zu entwickeln, um große Sprachmodelle mit Hunderten von Milliarden Parametern effektiv vorzubilden. Wir werden uns mit der Funktionsweise und Architektur des GLM-130B-Frameworks sowie mit dem Trainingsprozess und den Designentscheidungen auseinandersetzen, die nicht nur die Effizienz, sondern auch die Stabilität erhöhen. Erste Experimente, die durchgeführt wurden, um die Funktionsweise des GLM-130B-Frameworks auf einer breiten Palette von Englisch-Benchmarks zu testen, ergaben, dass das GLM-130B-Modell das aktuelle State-of-the-Art-GPT-3-Framework um einen erheblichen Betrag übertraf. Also beginnen wir und erkunden, wie das GLM-130B-Framework solch konsistente, genaue und stabile Ergebnisse liefert.
Eine Einführung in das GLM-130B-Framework
Große Sprachmodelle, die in der Lage sind, in Few-Shot- und Zero-Shot-Einstellungen zu operieren, insbesondere solche mit über 100 Milliarden Parametern, bieten attraktive Skalierungsgesetze, von denen das GPT-3-Framework eines der besten performenden Frameworks ist, das erhebliche Leistungssteigerungen gegenüber seinem Vorgänger, dem BERT-Framework, liefert. Allerdings ist das Training des GPT-3-Frameworks und in einigen Aspekten das GPT-3-Framework selbst für die Öffentlichkeit nicht transparent. Darüber hinaus ist es empirisch nicht möglich, alle möglichen Designs für das Training von LLMs mit über 100 Milliarden Parametern aufzuzählen, was es noch kritischer macht, eine Vormethode für große LLM-Frameworks zu entwickeln.
Der obige Punkt macht es wichtig, die Funktionsweise und den Trainingsprozess von hochwertigen großen LLM-Frameworks wie GPT-3 zu teilen, und mit den ethischen Bedenken im Hinterkopf ist das GLM-130B-Framework ein Versuch, ein genaues und offenes LLM mit über 100 Milliarden Parametern vorzubilden. Während des Versuchs beobachtete das GLM-130B-Entwicklungsteam, dass das Vorbilden eines großen LLM-Frameworks oft von einer Vielzahl von technischen und ingenieurstechnischen Herausforderungen in Bezug auf Vormethode-Stabilität, Effizienz und Konvergenz begleitet wird.
Um spezifischer zu sein, ist das GLM-130B ein bidirektionales und bilingual dichtes Framework mit über 130 Milliarden Parametern, das auf einem Cluster von 96 NVIDIA-DGX-A100-GPU-Knoten über einen Zeitraum von fast zwei Monaten vorgebildet wurde. Darüber hinaus verwendet das GLM-130B-Framework anstelle der GPT-Style-Architektur die GLM- oder General-Language-Model-Algorithmen, um die autoregressiven Blank-Filling-Objektive und den bidirektionalen Kontextvorteil zu nutzen. Die folgende Tabelle vergleicht das GLM-130B-Framework mit anderen Modellen mit über 100 Milliarden Parametern, einschließlich GPT, BLOOM-176B und OPT-175B.

Die ingenieurstechnischen und entwicklungsbezogenen Konzepte, die im GLM-130B-Framework verwendet werden, überbieten fast jedes große LLM-Framework, einschließlich GPT-3 und PaLM 540B mit über 500 Milliarden Parametern, in vielen Fällen und über eine breite Palette von Benchmarks. Die folgende Abbildung vergleicht die Leistung des GLM-130B-Frameworks mit Modellen mit über 100 Milliarden Parametern, und wie man sehen kann, hat das GLM-130B-Framework erheblich weniger Generierungs-Toxizität und -Bias als seine Gegenstücke.

Schließlich wurde das GLM-130B so konzipiert, dass es es so vielen Entwicklern wie möglich ermöglicht, Studien über Frameworks mit über 100 Milliarden Parametern durchzuführen, und es gibt zwei Möglichkeiten, wie das GLM-130B-Framework dies erreicht. Erstens verwendet das GLM-130B-Framework anstelle von 175 Milliarden Parametern wie BLOOM und OPT 130 Milliarden Parameter, da die Größe des Modells auch auf einem einzigen A100-Server interferieren kann. Zweitens sind die GPU-Anforderungen, um das GLM-130B-Framework auszuführen, geringer im Vergleich zu anderen LLM-Frameworks, und das GLM-130B-Framework erreicht dies, indem es das ursprüngliche Framework in INT4-Präzision quantisiert. Die INT4-Quantisierung, die vom GLM-130B-Framework verwendet wird, verbessert die Leistung, während sie eine vernachlässigbare Leistungsverschlechterung aufrechterhält.
GLM-130B: Architektur
Die induktive Voreingenommenheit eines maschinellen Lernmodells wird durch seine Architektur beschrieben, und es überrascht nicht, wenn Entwickler nicht in der Lage sind, verschiedene architektonische Designs für große Sprachmodelle zu erkunden, gegeben die Rechenaffordabilität und -viabilität. Mit anderen Worten, lassen Sie uns das GLM-130B-Design ansehen.
Große LLM-Frameworks wie PaLM, GPT und mehr haben über 100 Milliarden Parameter und sind auf der konventionellen Decoder-only-GPT-Style-Architektur für autoregressives Sprachmodellieren aufgebaut. Andererseits erkundet das GLM-130B-Framework die Möglichkeit, ein bidirektionales General Language Model oder GLM, ein transformer-basiertes Sprachmodell, das darauf abzielt, autoregressives Blank-Filling als Trainingsziel zu nutzen, als Grundlage zu verwenden.
Die bidirektionale Aufmerksamkeit des General Language Models über unkorrigierte oder unmaskierte Kontexte ist es, was das GLM-130B-Framework vom GPT-Style-Ansatz unterscheidet, der einen unidirektionalen Ansatz verwendet. Darüber hinaus unterstützt das GLM-Framework, um sowohl die Generierung als auch das Verständnis von Daten zu unterstützen, zwei Korruptionsstrategien, von denen jede durch ein spezielles und einzigartiges Masken-Token angezeigt wird.
- [MASK]: [MASK] ist eine Korruptionsstrategie, die kurze Lücken in Sätzen verwendet, deren Längen sich zu einem bestimmten Prozentsatz der Eingabe addieren.
- [gMASK]: [gMASK] ist eine Korruptionsstrategie, die zufällige Längen von Lücken am Ende des Satzes mit den Präfix-Kontexten verwendet.
Der Ansatz, den das GLM-Framework verfolgt, ermöglicht es dem Framework, eine Genauigkeitspunktzahl von über 80% bei Zero-Shot-LAMBADA-Sprachmodellierung zu erreichen und sowohl das PaLM-540B- als auch das GPT-3-Framework zu überbieten.

Schichtnormalisierung
Eine der größten Herausforderungen, mit denen Entwickler bei der Ausbildung eines LLM-Frameworks konfrontiert sind, ist die Trainingsinstabilität, und die Verwendung einer geeigneten Schichtnormalisierung (LN) kann bei der Ausbildung von LLMs helfen. Das GLM-130B-Framework verwendet einen Post-LN-Ansatz dank seiner Leistung bei Downstream-Aufgaben.
FFNs und Positionskodierung
Feedforward-Neuronale-Netzwerke (FFNs) und Positionskodierung sind zwei Ansätze, die vom GLM-130B-Framework verwendet werden, um hochwertige Downstream-Leistung und Trainingsstabilität einzuführen.
Vorverarbeitungsaufbau
Die Vorverarbeitungsziele des GLM-130B-Frameworks umfassen nicht nur das Multitask-Lernen für eine kleine Anzahl von Token, sondern auch das selbstüberwachte GLM für autoregressives Blank-Filling, mit der Erwartung, dass dieser Ansatz dem GLM-130B-Framework bei Downstream-Aufgaben helfen wird. Mit anderen Worten, der Vorverarbeitungsaufbau des GLM-130B-Frameworks sieht wie folgt aus.
Selbstüberwachtes Blank-Filling
Wie bereits erwähnt, verwendet das GLM-130B-Framework zwei Korruptionsstrategien, nämlich [MASK] und [gMASK], und eine dieser Strategien wird unabhängig auf jede einzelne Trainingssequenz angewendet, eine nach der anderen. Für das Ausfüllen der Lücken maskiert die [MASK]-Strategie aufeinanderfolgende Spannen in 30% der Trainingssequenz, wobei die Längen der Spannen sich zu 15% der Eingabe addieren und einer Poisson-Verteilung folgen. Für die verbleibenden 70% der Sequenz wird das Präfix jeder Sequenz als Kontext beibehalten, und die [gMASK]-Strategie hilft dabei, den Rest zu maskieren, und die maskierte Länge wird dann mit der Uniform-Verteilung abgetastet.
Multitask-Anweisungen-Vorverarbeitung
Es wurde angezeigt, dass die Verfolgung eines Multitask-Ansatzes für die Vorverarbeitung der Modelle bessere Ergebnisse liefern kann als das Feintuning, um die Aufgabenübertragung in einer Zero-Shot-Einstellung zu verbessern. Folglich schlägt das GLM-130B-Framework vor, eine Reihe von Anweisungen zu verwenden, die während der Vorverarbeitung verwendet werden, einschließlich Sprachgenerierung, -verständnis und -extraktion.
Im Vergleich zu anderen Ansätzen für Zero-Shot-Aufgabenübertragung, die Multitask-Feintuning verwenden, macht der Multitask-Anweisungen-Vorverarbeitungsansatz, den das GLM-130B-Framework verfolgt, nur 5% der gesamten Token aus und wird während der Vorverarbeitungsphase festgelegt, um zu verhindern, dass andere Fähigkeiten des LLM-Frameworks beeinträchtigt werden oder mit anderen Worten, die unbedingte freie Generierung.
3D-Parallelstrategie
Es gibt zwei de-facto-Praktiken für das Training von großen Modellen mit Milliarden von Parametern, die Tensor-Modell-Parallelität und die Daten-Parallelität. In einem Versuch, die GPU-Auslastung zu minimieren und die enormen GPU-Anforderungen zu bewältigen, implementiert das GLM-130B-Framework eine 3D-Parallelstrategie, die die Pipeline-Modell-Parallelitätsstrategie mit der Tensor-Modell-Parallelität und der Daten-Parallelität kombiniert.
GLM-130B: Trainingsstabilität
Die Trainingsstabilität ist ein wichtiger Faktor bei der Bestimmung der Qualität eines LLM, und die Trainingsstabilität wird stark von der Anzahl der Token beeinflusst, die es durchläuft. Darüber hinaus ist es wichtig, einen Kompromiss zwischen Stabilität und Effizienz in Bezug auf Gleitkommaformate zu finden, gegeben die Rechenbeschränkungen. Zum Beispiel erhöhen niedrige Präzisions-Gleitkommaformate die Recheneffizienz, aber sie führen oft zu Trainingskollapsen, da sie anfällig für Unter- und Überlauf-fehler sind.
Gemischte Präzision
In einem Versuch, die Trainingsgenauigkeit zu erhöhen und den Speicherbedarf zu reduzieren, verfolgt das GLM-130B-Framework die gängige Praxis, gemischte Präzisionen zu verwenden, d. h. FP16 für Vorwärts- und Rückwärts und FP32 für Master-Gewichte und Optimierer-Zustände. Wie andere beliebte LLM-Frameworks, einschließlich BLOOM-176B und OPT-175B, steht die Trainingsphase des GLM-130B-Frameworks mit der gemischten Präzisionsstrategie häufigen Verlustspitzen gegenüber, und die Häufigkeit dieser Verlustspitzen tendiert dazu, zu erhöhen, wenn das Modell weiter trainiert wird. Darüber hinaus gibt es große Probleme, mit denen Entwickler konfrontiert sind, wenn sie die Transformer skalieren.

Erstens kann der Wertebereich des Hauptzweigs des Transformers in den tieferen Schichten bei der Verwendung von Pre-LN sehr groß sein, und im GLM-130B-Framework wird dies durch die Verwendung einer DeepNorm-basierten Pre-LN angegangen, die sicherstellt, dass der Wertebereich zu allen Zeiten begrenzt bleibt. Zweitens wachsen die Aufmerksamkeitsscores, wenn das Modell skaliert wird, zu einem Punkt, an dem sie den Bereich von FP16 überschreiten.
Einbettungsschicht-Gradienten-Schrumpfung oder EGS
Die Entwickler, die an dem GLM-130B-Framework arbeiten, stellten fest, dass die Gradienten-Norm ein informativer Indikator für Trainingskollaps sein kann, und ein Trainingskollaps liegt normalerweise hinter einem Anstieg der Gradienten-Norm zurück. Die Ursache für diese Spitzen ist die anormale Gradienten der Einbettungsschicht, und die Entwickler stellten fest, dass im Vergleich zur Gradienten-Norm anderer Schichten die Gradienten-Norm der Einbettungsschichten um mehrere Größenordnungen größer ist und auch während der frühen Ausbildung des Frameworks dramatisch schwankt. Vision-Modelle haben auch dieses Problem, und es wird durch das Einfrieren der Patch-Projektionsschicht gehandhabt. Allerdings kann dieser Ansatz nicht auf LLMs angewendet werden, da in Sprachmodellen die Projektionsschichten nicht eingefroren werden können.

GLM-130B: Ergebnisse und Leistung
Um die Leistung des GLM-130B für Englisch-Aufgaben zu bewerten, verwendet es die gleichen Einstellungen wie andere gängige LLM-Frameworks, einschließlich PaLM und GPT-3, und da das GLM-130B ein bilingual Framework ist, wird es auch auf mehreren chinesischen Benchmarks ausgewertet. Die Leistung des GLM-130B-Frameworks wird anhand mehrerer Benchmarks gemessen, einschließlich Sprachmodellierung, MMLU oder Massive Multitask Language Understanding, BIG-Bench oder Beyond the Imitation Game Benchmark und CLUE oder Chinese Language Understanding Evaluation. Also beginnen wir.
Sprachmodellierung
Der Sprachmodellierungstest auf dem GLM-130B-Framework wird auf zwei Datensätzen durchgeführt: LAMBADA und Pile.
Der LAMBADA-Datensatz wird verwendet, um die Fähigkeit des letzten Wortmodellierens von LLMs zu testen, und das GLM-130B-Framework erreicht eine Zero-Shot-Genauigkeit von 80,2 in einer bilingualen Einstellung und legt damit einen neuen Benchmark-Rekord auf dem LAMBADA-Datensatz fest.
Andererseits ist Pile ein Testset, das eine Reihe von Benchmarks für Sprachmodelle umfasst. Im Durchschnitt übertrifft das GLM-130B-Framework im Vergleich zu GPT-3 und Jurassic-1 seine beste Leistung auf 18 gemeinsamen Testsets in Bezug auf gewichtete BPBs. Die Ergebnisse demonstrieren die starken Sprachfähigkeiten des GLM-130B-Frameworks, und die Ergebnisse sind in der folgenden Tabelle enthalten.

MMLU oder Massive Multitask Language Understanding
MMLU oder Massive Multitask Language Understanding ist ein vielfältiger Benchmark, der über 50 Multiple-Choice-Fragen umfasst, die menschliche Intelligenz und -kenntnisse betreffen, von der High-School- bis zur Expertenebene, und es wird nach dem Crawlen des Pile-Testsets veröffentlicht und dient somit als idealer Test, um die Few-Shot-Lernfähigkeiten eines LLMs zu bewerten.

Wie man sehen kann, übertrifft die Leistung des GLM-130B-Frameworks in einer Few-Shot-Einstellung (5-Shot) die Leistung des GPT-3-Modells, nachdem es etwa 300 Milliarden Token gesehen hat. Die Leistung verbessert sich weiter, wenn die Ausbildung fortgesetzt wird, und wenn die Ausbildung abgeschlossen ist, erreicht das Framework eine Genauigkeit von 44,8, nachdem es insgesamt 400 Milliarden Token gesehen hat.
BIG-Bench oder Beyond the Imitation Game Benchmark
BIG-Bench oder Beyond the Imitation Game Benchmarks Herausforderungen testen die Fähigkeit eines Modells auf Kenntnisse, Argumentation und gesunden Menschenverstand. Wie in den folgenden Abbildungen demonstriert wird, übertrifft das GLM-130B-Framework in einer Zero-Shot-Einstellung sowohl das PaLM-540B- als auch das GPT-3-175B-Framework, was möglicherweise auf MIP und die bidirektionale Kontextaufmerksamkeit zurückzuführen ist, um die Leistung des GLM-130B in unvertrauten Aufgaben in einer Zero-Shot-Einstellung zu verbessern. Darüber hinaus verbessert sich die Leistung des GLM-130B-Frameworks, wenn die Anzahl der Schüsse erhöht wird, und es übertrifft das GPT-3-Framework konsistent.

CLUE oder Chinese Language Understanding Evaluation
Die chinesische Zero-Shot-Leistung des GLM-130B wird auf etablierten NLP-Benchmark-Aufgaben wie CLUE und FewCLUE ausgewertet und mit dem 260B-ERNIE-Titan-3.0-Framework, dem größten existierenden chinesischen Sprachmodell, verglichen. Wie man sehen kann, übertrifft das GLM-130B-Framework das 260B-ERNIE-Titan-3.0-Framework konsistent auf 12 verschiedenen Aufgaben und führt fast 260% besser auf zwei abstrakten MRC-Datensätzen auf.

Schlussfolgerung
In diesem Artikel haben wir über das GLM-130B gesprochen, ein bilingual vorgebildetes großes Sprachmodell, das darauf abzielt, die inklusive LLM-Forschung zu fördern. Die Architektur, die Ingenieurstechnik und die technischen Unternehmungen zielen darauf ab, der KI-Gemeinschaft einen besseren Einblick in die Architektur von LLM-Frameworks, die TrainingsEffizienz und -Stabilität, die Vormethode und die erschwingliche Interferenz zu geben.












