Erstellung großer Sprachmodelle mit Supercomputern
Universität TurkuNLP nutzt LUMI-Supercomputer, um KI-Workloads auf die nächste Skalierungsstufe zu bringen.
Das Interesse an großen Sprachmodellen (Large Language Models, LLMs) ist dank ChatGPT sehr groß. Das Training eines LLM erfordert jedoch eine enorme Rechenleistung, und Modelle wie ChatGPT sind in der Regel sowohl proprietär und basieren auf die englische Sprache. Als der Forschungsbeauftragte der Universität Turku, Sampo Pyysalo, den Wert von LLMs auf breitere Forschungsanwendungen ausdehnen wollte, benötigte er Leistung, um die Modelle in einem vertretbaren Zeitrahmen zu trainieren. Der LUMI-Supercomputer, der auf der HPE Cray EX Supercomputer-Architektur basiert und von AMD EPYCTM CPUs und AMD InstinctTM GPUs angetrieben wird, bot die für die Arbeitslasten erforderliche Skalierung.
Erschließung großer Sprachmodelle
Das Ziel von Pyysalo und seinen Partnern Risto Luukkonen und Ville Komulainen im TurkuNLP war es, LLMs für den akademischen Gebrauch zu erschließen. “Die großen Akteure sind große multinationale Unternehmen, die ihre Modelle unter Verschluss halten”, sagt Pyysalo. “In der akademischen Welt wollen wir praktischen Zugang zu solchen Modellen haben. Also haben wir sie selbst erstellt, und das erfordert Supercomputer-Ressourcen.” Dabei war Finnisch der natürliche Ausgangspunkt für eine Universität mit Sitz in Finnland.
Die Entwicklung von LLMs beruht auf fortgeschrittenen Tools für KI und ML. “Wir haben mit Hugging Face an mehreren Projekten zusammengearbeitet”, erklärt Pyysalo. “Wir waren Teil der BigScience-Initiative, die BLOOM, das größte offene Sprachmodell, entwickelt hat. Das größte Modell, das wir im Rahmen des LUMI-Pilotprojekts trainierten, sollte BLOOM Finnisch beibringen. Wir nahmen das 176-Milliarden-Parameter-Modell, das Hugging Face erstellt hatte, und kombinierten es mit Finnisch, wobei wir 40 Milliarden weitere Wörter verwendeten.”
Modelle dieser Größenordnung erfordern einen immensen Rechenaufwand. Genau hier erwies sich LUMI als unverzichtbar. Das LUMI-Konsortium befindet sich in Finnland im CSC – dem Rechenzentrum des IT Center for Science – und wird vom LUMI-Konsortium gehostet. Die LUMI-G GPU-Partition übertrifft alle anderen GPU-Partitionen, die vom CSC gehostet werden. Die Mahti AI der Organisation besteht aus 24 GPU-Knoten, während Puhti 80 GPU-Knoten bietet, beide mit vier GPUs pro Knoten. LUMI hingegen verfügt über 2.560 Knoten, die von AMD EPYC-Prozessoren mit jeweils vier AMD Instinct MI250x-Beschleunigern angetrieben werden, was insgesamt 10.240 GPUs und 20.480 Graphics Compute Dies (GCDs) ergibt.
“AMD hat großartige Arbeit geleistet, als es darum ging, die wichtigste Software in diesem Bereich auf ihre Plattform zu importieren”, sagt er. “Wir haben die Megatron DeepSpeed Sprachmodell-Software verwendet, die portiert worden war. Das war die Grundlage, auf der wir aufgebaut haben. Wir nahmen BigScience, den Hugging Face Fork von Megatron DeepSpeed, und dann portierte AMD die ROCm-Kernel.”
Skalierbare Leistung mit LUMI
“Wir brauchen eine Menge Rechenleistung, um ein Modell in einem vernünftigen Zeitrahmen zu erstellen”, sagt Pyysalo. “Die große Herausforderung bei dieser Größenordnung besteht darin, die Daten überhaupt zum Laufen zu bringen, aber auch den Durchsatz aufrechtzuerhalten. Wir müssen in der Lage sein, Daten effizient aus dem Speicher zu ziehen, effiziente Kernel auszuführen und Daten zwischen den GPUs und dem Hauptspeicher hin und her zu schieben. Eine weitere große Herausforderung bei der Skalierung ist die Kommunikation. Nachdem jeder der Grafikprozessoren seine Teile des Modells berechnet hat, muss alles integriert werden. Wir brauchen einen vernünftigen Gesamtdurchsatz, während wir die Berechnungen auf Hunderte oder Tausende von Geräten verteilen.”
“Groß angelegte Experimente wie dieses liefern uns wirklich wertvolle Informationen”, sagt Väinö Hatanpää, Machine Learning Specialist bei CSC. “Die Optimierung der libfabric-Verbindung zum Beispiel liefert wertvolle Informationen für CSC, die wir in unsere Leitfäden aufnehmen können, was wiederum anderen hilft, unsere Systeme effizienter zu nutzen. Die Rechenkapazität und die Fähigkeit zur weiteren Skalierung mit LUMI ermöglicht es unseren Kunden, die Grenzen von Machine Learning/AI zu erweitern.”
Mit LUMI Modelle trainieren
Der Skalenunterschied, den LUMI bietet, kann nicht hoch genug eingeschätzt werden. “Vor etwa vier Jahren haben wir unser erstes finnisches BERT-Modell auf einem Supercomputer der vorherigen Generation von CSC trainiert”, sagt Pyysalo. “Das war ein Pilotprojekt auf dem CSC, ein Modell mit 110 Millionen Parametern. Aber das größte Modell, das wir auf LUMI trainiert haben, war 176 Milliarden, also mehr als tausend Mal größer. LUMI ist um zwei Größenordnungen größer als die in Finnland verfügbaren Maschinen der vorherigen Generation. Es wäre unvorstellbar gewesen, etwas in dieser Größenordnung auf der Hardware zu machen, die uns vorher zur Verfügung stand.”
“Der Geschwindigkeitszuwachs durch die Möglichkeit, die Skalierung zu erweitern, ist wichtig, wenn man schnell iterieren muss”, sagt Hatanpää. “Ich habe ein Sprachmodell mit 1 Milliarde Parametern auf meinem eigenen Computer trainiert, aber dafür habe ich ein halbes Jahr gebraucht. Für eine Forschungsgruppe ist es selten realistisch, ein halbes Jahr für das Training aufzuwenden.”
“Die Zeit, die wir brauchten, um BLOOM durch etwa 40 Milliarden Token zu schicken, die Zeichen, Silben oder Wörter sein können, betrug etwa zwei Wochen auf LUMI”, sagt Pyysalo. “Es ist theoretisch möglich, einen kleinen Cluster ein paar Jahre lang laufen zu lassen und das gleiche Ergebnis zu erhalten, aber bis zur Veröffentlichung ist es weitgehend irrelevant. Für das 176-Milliarden-Parameter-Modell mit 40 Milliarden Token haben wir auf 192 Knoten und 1.536 GCDs skaliert. Bei LUMI sind wir derzeit bei 512 Knoten angelangt, das sind 4.096 GCDs.
Auf dem Weg zu LLMs für alle europäischen Sprachen
Pyysalo möchte diese Skalierbarkeit nun für die Zukunft seines LLM-Programms nutzen. “TurkuNLP ist eines der 10 kooperierenden Universitätsforschungslabore”, sagt er. Wir sind Teil des von der EU finanzierten Projekts High Performance Language Technologies, ein dreijähriges Projekt, das gerade die ersten sechs Monate hinter sich gebracht hat. Was wir für Finnisch gemacht haben, war ein Testlauf zur Schaffung von Grundmodellen für mindestens alle offiziellen EU-Sprachen und hoffentlich auch für einige andere. Wir werden auf der Technologie aufbauen, die wir entwickelt haben, um mit der Erstellung dieser Sprachmodelle zu beginnen. Wir werden sie in den nächsten zwei Jahren und einige erste Modelle später in diesem Jahr veröffentlichen.”
Dies wird eine noch größere Skalierung erfordern, aber Pyysalo geht davon aus, dass LUMI diese Herausforderung meistern wird. “Unser Ziel ist es, das größte offene Modell mit umfassender
Unterstützung für europäische Sprachen”, sagt er. “Wir werden über 10 Millionen GPU-Stunden hinausgehen. In unsere früheren Modelle flossen etwa 1,5 Millionen Stunden ein, das wäre also eine Größenordnung ehrgeiziger. LUMI entwickelt sich zu einer ausgereiften Plattform für sehr umfangreiche KI-Arbeiten. In Zukunft werden wir für eine viel größere Anzahl von Token trainieren. Es ist wahrscheinlich, dass wir auf eine Billion Wörter und mehr kommen werden.
“Wir hoffen, dass die Modelle, die wir jetzt für die finnische Sprache entwickelt haben, als Grundlage für die nächste Generation der finnischen Technologie für künstliche Intelligenz dienen werden”, so Pyysalo abschließend. Mit den zukünftigen mehrsprachigen Programmen von TurkuNLP hofft Pyysalo, diese Vision auf alle europäischen Sprachen und darüber hinaus auszuweiten.