nachricht

der llm-trainingsverkehr ist 10.000-mal geringer! ein neuer verteilter optimierer, der die rechenleistung der welt integriert, um leistungsstarke ki zu trainieren

2024-09-10

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



  neuer weisheitsbericht

herausgeber: alan
[einführung in die neue weisheit]kürzlich gab nous research einen großen durchbruch bekannt: durch den einsatz eines architektur- und netzwerkunabhängigen verteilten optimierers konnten forscher das kommunikationsvolumen zwischen gpus beim training von llm erfolgreich um das 1.000- bis 10.000-fache reduzieren!

was wäre, wenn die gesamte rechenleistung der welt zum trainieren von ki-modellen genutzt werden könnte?

kürzlich verkündete nous research, das mit der veröffentlichung des open-source-programms hermes 3 (basierend auf llama 3.1) große aufmerksamkeit erregte, erneut einen großen durchbruch – distro (distributed internet training).

durch den einsatz eines architektur- und netzwerkunabhängigen verteilten optimierers konnten die forscher beim llm-training die kommunikation zwischen gpus erfolgreich um das 1.000- bis 10.000-fache reduzieren!

mit solch übertriebenen verbesserungen sind die wichtigen kosten und der engpass beim training großer modelle – die bandbreite – kein problem mehr.

mit der distro-methode können sie die trainingslast auf das internet verteilen und die gesamte online-welt wird zu einem riesigen heterogenen ki-servercluster.

——jedes gerät mit entsprechender rechenleistung kann am trainingsprozess teilnehmen.

experimente haben gezeigt, dass die methode in diesem artikel grundsätzlich keine verschlechterung der modellleistung verursacht. gleichzeitig entspricht distro-adamw hinsichtlich der konvergenzgeschwindigkeit dem standard-adamw+all-reduce.

verteilte internetschulung

im allgemeinen ist das training großer neuronaler netze mit einem erheblichen kommunikationsaufwand verbunden.

bei der datenparallelität werden beispielsweise unterschiedliche trainingsdaten auf unterschiedlicher hardware (grafikkarten usw.) vorwärts und rückwärts berechnet. danach müssen die durch denselben datenstapel berechneten verläufe vor der eingabe synchronisiert werden nächster schritt.

wenn das modell parallel ist, müssen die zwischendaten durch all-reduce gespleißt oder akkumuliert werden.

wenn diese datenkommunikations-overheads nicht überlappt werden können, werden sie zu einem engpass beim modelltraining.

tatsächlich sind der videospeicher und die bandbreite von laohuang sehr teuer, und selbst die für die einrichtung mehrerer karten erforderliche hardware ist ebenfalls sehr teuer.

um dieses problem zu lösen, haben forscher distro entwickelt, das den kommunikationsbedarf zwischen gpus um vier bis fünf größenordnungen reduziert, ohne auf amortisierte analysen angewiesen zu sein, und so ein training großer neuronaler netze mit geringer latenz auf langsamen netzen ermöglicht.

distro ist allgemein, skalierbar und uhrsynchronisiert (ähnlich wie bei sgd, adam usw. verwendet jeder trainingsschritt dieselben rechenoperationen und benötigt dieselbe zeit).

darüber hinaus ist distro im vergleich zu früheren ad-hoc-optimierern mit geringer kommunikation unempfindlich gegenüber der topologie von telekommunikationsnetzen und der architektur neuronaler netze und kann verteiltes datenparalleltraining (ddp) nativ mit minimalem overhead unterstützen.

llm-vorschulung

die forscher verwendeten nanotron als pre-training-framework und liefen nur unter der ddp-strategie (jede gpu lädt das gesamte modell in den vram).

llm wählt lama 2 mit einer größe von 1,2 b aus. die im modell und training verwendeten hyperparameter sind wie folgt:

die trainingsdaten verwenden den dolma v1.7-datensatz und 10 % repräsentative stichproben (die ersten 105 milliarden token) werden zufällig ausgewählt.

der optimierer verwendet adamw, β1 = 0,9, β2 = 0,95, die maximale lernrate beträgt 4 × 10e-4, das kosinus-zerfallsschema wird verwendet und der gewichtsabfall ist auf 0,1 eingestellt.

als weitere reihe von vergleichsexperimenten wurde adamw durch distro-adamw ersetzt, ohne die hyperparameter zu ändern und die all-reduce-operation in nanotron zu deaktivieren.

im gegensatz zu früheren verteilten trainingsmethoden synchronisiert distro den optimiererstatus nicht (er kann sogar zustandslos sein).

die folgende abbildung zeigt die trainingsverlustkurve von zwei versuchsreihen, bei denen 105b-daten für 25.000 schritte verwendet wurden. es ist ersichtlich, dass die konvergenzfähigkeit von distro dieselbe ist wie die von all-reduce.

wichtig ist, dass distro das kommunikationsvolumen direkt von 74,4 gb auf 86,8 mb reduziert hat, ohne den trainingseffekt zu beeinträchtigen! dies entspricht einer 857-fachen reduzierung des bandbreitendrucks.

der autor gab außerdem an, dass dies 857 mal nur ein erster test sei und es kein problem sei, die hyperparameter später anzupassen und um das 1000-fache auf das 3000-fache zu reduzieren.

nach dem training und der feinabstimmung kann sogar eine bis zu 10.000-fache kommunikationsoptimierung erreicht werden, ohne den trainingseffekt grundsätzlich zu beeinträchtigen.

um den trainingseffekt zu überprüfen, führte der autor schließlich den gpt4all-zero-shot-benchmark-test für das trainierte modell durch und verglich ihn mit tinyllama (checkpoint), das mit der gleichen anzahl von token trainiert wurde.

die ergebnisse sind in der obigen tabelle aufgeführt. die architektur und der trainingsprozess von tinyllama sind den experimenten in diesem artikel sehr ähnlich und können als maß für die plausibilitätsprüfung der ergebnisse verwendet werden.

zukünftige anwendungen

datenfluss

im szenario dieses experiments verwenden 32 knoten das einfachste all-reduce (vollständige verbindung), und jeder knoten überträgt durchschnittlich 86,8 mb (2,8 mb × 31) und empfängt die gleiche datenmenge.

wenn ein dedizierter server für die datenaggregation verwendet wird, muss jeder knoten nur 2,8 mb daten hochladen (die empfangenen daten bleiben unverändert) und das kommunikationsvolumen wird weiter reduziert.

darüber hinaus ist asymmetrie von vorteil, da die bandbreite der meisten verbraucherinternets stark auf höhere download-geschwindigkeiten ausgerichtet ist.

unter der annahme, dass die stabile netzwerkgeschwindigkeit 100 mbit/s im download und 10 mbit/s im upload beträgt, beträgt die verzögerung im schlimmsten fall nur 6,94 sekunden für den download und 2,24 sekunden für den upload. bei überlappung beträgt die verzögerung für jeden schritt 6,94 sekunden.

ps: die obige datenübertragung erfolgt vollständig im originalvektor und kann schneller sein, wenn komprimierungstechnologie verwendet wird.

bandbreite

die autoren gaben an, dass die aktuellen experimente und forschungsergebnisse relativ begrenzt seien und es unmöglich sei, zu schließen, ob die rate der bandbreitenreduzierung zunimmt, abnimmt oder gleich bleibt, wenn das modell größer wird.

die aktuellen 1,2 b scheinen jedoch die mindestgröße zu sein, bei der distro gut funktionieren kann (egal wie klein es ist, es wird nicht konvergieren), sodass davon ausgegangen werden kann, dass mit zunehmender modellgröße relativ immer weniger kommunikation stattfindet erforderlich sein.

es ist jedoch auch möglich, dass das kommunikationsvolumen nicht mit der modellgröße zusammenhängt. in diesem fall kann die modellgröße erhöht werden, ohne die kommunikationsbandbreite zu erhöhen, um zu beobachten, ob ein größeres modell die trainings- und lerneffekte verbessert.

wenn das letztere szenario zutrifft, wird sich das paradigma des zukünftigen gpu-designs und der gpu-herstellung ändern (größerer vram und geringere bandbreite).

zufälligerweise bevorzugen wir auch rechenintensive arbeitslasten (im gegensatz zu i/o-intensiven), da bandbreite heutzutage viel teurer ist als rechenleistung.

föderiertes lernen

wofür kann distro neben dem llm-training noch verwendet werden?

die durchführung verteilter schulungen im internet lässt menschen sofort an föderiertes lernen denken.

da llm von großen unternehmen kontrolliert wird, wird die wahrung der vertraulichkeit und dezentralisierung der daten jedes teilnehmers immer wichtiger, obwohl es ein kollaboratives modelltraining ermöglicht.

bislang mangelte es beim föderierten lernen an wirksamen methoden zum trainieren großer modelle auf begrenzter internetbandbreite.

distro stellt keine anforderungen an die verarbeitung von daten oder die verteilung von daten an einzelne gpu-knoten und kann zustandslos sein (ähnlich der föderierten mittelung), sodass es für die zukunft des föderierten lernens geeignet ist.

virtueller heterogener gpu-cluster

darüber hinaus kann distro ein vollständig dezentrales und erlaubnisloses netzwerk für die zusammenarbeit und den austausch von ressourcen erstellen.

experimente zeigen, dass distro gegenüber einer kleinen anzahl von knoten, die während des trainings herabgestuft oder gelöscht werden, erheblich widerstandsfähig ist und sich leicht an das hinzufügen neuer knoten anpassen kann.

mit dieser fähigkeit kann einerseits die sicherheit des gesamten systems gewährleistet und das risiko verringert werden, dass nicht vertrauenswürdige knoten gegnerische angriffe nutzen, um den betrieb zu stören.

andererseits können institutionen und einzelpersonen auch dazu ermutigt werden, flexibel eigene rechenressourcen einzubringen und potenzielle rechenleistung freizusetzen.

sogar einige alte karten mit unzureichendem speicher oder unzureichender rechenleistung können mitmachen, um zusätzliches geld zu verdienen, indem sie strategien wie fsdp und swarm-parallelität verwenden, um mit distro zu arbeiten.

energie

eine weitere groß angelegte anwendung von distro könnte den energieverbrauch, die infrastrukturkosten und die landnutzungsprobleme verringern, die durch den bau großer rechenzentren verursacht werden.

das llama 3.1-projekt erforderte den bau von zwei großen monolithischen superclustern mit jeweils 24.000 h100-gpus, und allein der trainingsprozess verursachte umgerechnet 11.000 tonnen co2-emissionen.

im heutigen llm nimmt neben der vergrößerung der modellparameter auch die menge der trainingsdaten zu, was dazu führt, dass ki-bezogene rechenzentren an die grenzen moderner stromnetze stoßen.

distro kann verwendet werden, um mehrere kleine modulare rechenzentren mit überschüssiger kapazität adaptiv auszubalancieren und dabei die vorhandene infrastruktur durch dynamische balancing-trainingstechnologie zu nutzen, um die negativen auswirkungen des trainings auf die umgebung zu reduzieren.

derzeit muss die theorie hinter distro noch weiter erforscht werden, und in zukunft werden strengere und detailliertere wissenschaftliche arbeiten und vollständige codes veröffentlicht.