Heim  >  Artikel  >  Technologie-Peripheriegeräte  >  Um das ChatGPT-Volumenmodell auszuführen, benötigen Sie von nun an nur noch eine GPU: Hier ist eine Methode, um es um das Hundertfache zu beschleunigen.

Um das ChatGPT-Volumenmodell auszuführen, benötigen Sie von nun an nur noch eine GPU: Hier ist eine Methode, um es um das Hundertfache zu beschleunigen.

WBOY
WBOYnach vorne
2023-04-11 19:58:12899Durchsuche

Rechenkosten sind eine der größten Herausforderungen, denen sich Menschen beim Erstellen großer Modelle wie ChatGPT gegenübersehen.

Statistik zufolge ist die Entwicklung von GPT zu GPT-3 auch ein Prozess des Wachstums der Modellgröße – die Anzahl der Parameter stieg von 117 Millionen auf 175 Milliarden, Daten vor dem Training Die Menge stieg von 5 GB auf 45 TB, wovon die Kosten für das GPT-3-Training einmal 4,6 Millionen US-Dollar betrugen und die gesamten Trainingskosten 12 Millionen US-Dollar erreichten.

Neben dem Training ist auch Inferenz teuer. Einige Leute schätzen, dass die Rechenleistungskosten für OpenAI, auf denen ChatGPT ausgeführt wird, 100.000 US-Dollar pro Tag betragen.

Bei der Entwicklung von Technologien, die es großen Modellen ermöglichen, mehr Fähigkeiten zu beherrschen, versuchen einige Leute auch, die für KI erforderlichen Rechenressourcen zu reduzieren. Kürzlich hat eine Technologie namens FlexGen aufgrund „einer RTX 3090, auf der das ChatGPT-Volumenmodell läuft“ die Aufmerksamkeit der Menschen auf sich gezogen.

Obwohl das durch FlexGen beschleunigte große Modell immer noch sehr langsam aussieht – 1 Token pro Sekunde beim Ausführen eines Sprachmodells mit 175 Milliarden Parametern, ist es beeindruckend unmöglich in möglich. Traditionell erforderten die hohen Rechen- und Speicheranforderungen der LLM-Inferenz (Large Language Model) den Einsatz mehrerer High-End-KI-Beschleuniger für das Training. In dieser Studie wird untersucht, wie die Anforderungen der LLM-Inferenz auf eine GPU für Verbraucher reduziert und eine praktische Leistung erzielt werden können.

Kürzlich schlugen neue Forschungsergebnisse der Stanford University, der UC Berkeley, der ETH Zürich, Yandex, der Moscow State Higher School of Economics, Meta, der Carnegie Mellon University und anderen Institutionen FlexGen vor. eine Generierungs-Engine mit hohem Durchsatz für die Ausführung von LLM mit begrenztem GPU-Speicher.

Durch die Zusammenführung von Speicher und Berechnungen von GPU, CPU und Festplatte kann FlexGen unter verschiedenen Hardware-Ressourcenbeschränkungen flexibel konfiguriert werden. Mithilfe eines linearen Programmieroptimierers wird nach dem besten Muster für die Speicherung und den Zugriff auf Tensoren gesucht, einschließlich Gewichtungen, Aktivierungen und Aufmerksamkeits-Schlüssel/Wert-Caches (KV). FlexGen komprimiert die Gewichte und den KV-Cache weiter auf 4 Bit mit vernachlässigbarem Genauigkeitsverlust. Im Vergleich zu hochmodernen Offloading-Systemen führt FlexGen OPT-175B 100-mal schneller auf einer einzelnen 16-GB-GPU aus und erreicht erstmals einen realen Generierungsdurchsatz von 1 Token/s. FlexGen verfügt außerdem über eine Pipeline-Parallellaufzeit, um eine superlineare Skalierung bei der Dekodierung zu ermöglichen, wenn mehr verteilte GPUs verfügbar sind.

Aktuell hat die Technologie den Code veröffentlicht und mehrere tausend Sterne erhalten:

​https ://www.php.cn/link/ee715daa76f1b51d80343f45547be570​

Um das ChatGPT-Volumenmodell auszuführen, benötigen Sie von nun an nur noch eine GPU: Hier ist eine Methode, um es um das Hundertfache zu beschleunigen.Einführung

In den letzten Jahren haben große Sprachmodelle bei einer Vielzahl von Aufgaben hervorragende Leistungen gezeigt. Während LLM eine beispiellose allgemeine Intelligenz aufweist, stellt es die Menschen beim Bauen auch vor beispiellose Herausforderungen. Diese Modelle können Milliarden oder sogar Billionen von Parametern haben, was zu extrem hohen Rechen- und Speicheranforderungen für ihre Ausführung führt. GPT-175B (GPT-3) benötigt beispielsweise 325 GB Speicher, nur um Modellgewichte zu speichern. Damit dieses Modell Rückschlüsse ziehen kann, benötigen Sie mindestens fünf Nvidia A100 (80 GB) und eine komplexe Parallelitätsstrategie.

Methoden zur Reduzierung des Ressourcenbedarfs der LLM-Inferenz wurden in letzter Zeit häufig diskutiert. Diese Bemühungen sind in drei Richtungen unterteilt:

(1) Modellkomprimierung zur Reduzierung des gesamten Speicherbedarfs; 🎜# (2) Kollaboratives Denken, Kostenteilung durch Dezentralisierung;

(3) Auslagerung zur Nutzung von CPU und Festplattenspeicher.

Diese Techniken reduzieren den Rechenressourcenbedarf für die Verwendung von LLM erheblich. Allerdings wird häufig davon ausgegangen, dass Modelle in den GPU-Speicher passen, und bestehende Offloading-basierte Systeme haben immer noch Schwierigkeiten, 175 Milliarden Modelle mit Parametergröße mit akzeptablem Durchsatz mit einer einzigen GPU auszuführen.

In neuer Forschung konzentrieren sich die Autoren auf effektive Offloading-Strategien für generative Inferenz mit hohem Durchsatz. Wenn der GPU-Speicher nicht ausreicht, müssen wir ihn auf den Sekundärspeicher auslagern und die Berechnungen Stück für Stück durch Teilladung durchführen. Auf einer typischen Maschine ist die Speicherhierarchie in drei Ebenen unterteilt, wie in der folgenden Abbildung dargestellt. High-Level-Speicher ist schnell, aber knapp, Low-Level-Speicher ist langsam, aber reichlich vorhanden.

In FlexGen strebt der Autor keine niedrige Latenz an, sondern zielt auf durchsatzorientierte Szenarien ab, die in Anwendungen wie Benchmarking, Informationsextraktion und Datensortierung beliebt sind. Das Erreichen einer niedrigen Latenz stellt grundsätzlich eine Herausforderung beim Offloading dar, aber für durchsatzorientierte Szenarien kann die Effizienz des Offloadings erheblich verbessert werden. Abbildung 1 zeigt den Kompromiss zwischen Latenz und Durchsatz für drei Inferenzsysteme mit Offloading. Bei sorgfältiger Planung können die E/A-Kosten auf große Eingabemengen verteilt werden und sich mit der Berechnung überschneiden. In der Studie zeigten die Autoren, dass eine einzelne durchsatzoptimierte T4-GPU für Endverbraucher hinsichtlich der Kosten pro Rechenleistungseinheit viermal effizienter ist als 8 latenzoptimierte A100-GPUs in der Cloud.

Um das ChatGPT-Volumenmodell auszuführen, benötigen Sie von nun an nur noch eine GPU: Hier ist eine Methode, um es um das Hundertfache zu beschleunigen.

Abbildung 1. Latenz- und Durchsatz-Kompromisse für drei Offloading-basierte Systeme auf OPT-175B (links) und OPT-30B (rechts). FlexGen erreicht eine neue Pareto-Optimumgrenze und erhöht den maximalen Durchsatz des OPT-175B um den Faktor 100. Andere Systeme konnten den Durchsatz aufgrund unzureichenden Speichers nicht weiter steigern.

Während es Studien gibt, in denen der Latenz-Durchsatz-Kompromiss des Offloadings im Kontext des Trainings diskutiert wird, hat es noch niemand verwendet, um LLM-Inferenz zu generieren, was ein eigenständiger Prozess ist. Generative Inferenz stellt aufgrund der autoregressiven Natur von LLMs besondere Herausforderungen dar. Zusätzlich zur Speicherung aller Parameter ist eine sequentielle Dekodierung und die Aufrechterhaltung eines großen Aufmerksamkeits-Schlüssel-/Wert-Cache (KV-Cache) erforderlich. Bestehende Offload-Systeme sind diesen Herausforderungen nicht gewachsen, führen daher zu viele I/O-Vorgänge durch und erreichen einen Durchsatz, der weit unter den Fähigkeiten der Hardware liegt.

Das Entwerfen guter Offloading-Strategien für generative Inferenz ist eine Herausforderung. Erstens gibt es in diesem Prozess drei Tensoren: Gewichte, Aktivierungen und KV-Cache. Die Richtlinie sollte angeben, was, wo und wann auf einer dreistufigen Hierarchie deinstalliert werden soll. Zweitens bildet die Struktur der Batch-für-Batch-, pro-Token- und pro-Layer-Berechnungen einen komplexen Abhängigkeitsgraphen, der auf verschiedene Arten berechnet werden kann. Die Strategie sollte einen Zeitplan wählen, der die Ausführungszeit minimiert. Zusammen ergeben diese Entscheidungen einen komplexen Gestaltungsraum.

Zu diesem Zweck wurde auf der neuen Methode FlexGen ein Offloading-Framework für LLM-Inferenz vorgeschlagen. FlexGen aggregiert Speicher von GPU, CPU und Festplatte und plant E/A-Vorgänge effizient. Die Autoren diskutieren auch mögliche Komprimierungsmethoden und verteilte Pipeline-Parallelität.

Die Hauptbeiträge dieser Forschung sind wie folgt:

1 Der Autor definiert formal den Suchraum möglicher Auslagerungsstrategien und verwendet ein Kostenmodell und einen linearen Programmierlöser, um nach der optimalen Strategie zu suchen. Insbesondere zeigten die Forscher, dass der Suchraum eine nahezu E/A-optimale Berechnungsreihenfolge mit einer E/A-Komplexität innerhalb des Zweifachen der optimalen Berechnungsreihenfolge erfasst. Der Suchalgorithmus kann für eine Vielzahl von Hardwarespezifikationen und Latenz-/Durchsatzbeschränkungen konfiguriert werden und bietet so eine Möglichkeit, reibungslos im Kompromissbereich zu navigieren. Im Vergleich zu bestehenden Strategien vereinheitlicht die FlexGen-Lösung Gewichtungen, Aktivierungen und KV-Cache-Platzierung und ermöglicht so größere Batch-Größen.

2. Untersuchungen zeigen, dass die Gewichte und der KV-Cache von LLMs wie OPT-175B ohne Umschulung/Kalibrierung und mit vernachlässigbarem Genauigkeitsverlust auf 4 Bit komprimiert werden können. Dies wird durch eine feinkörnige Gruppierungsquantisierung erreicht, die die I/O-Kosten erheblich senken kann.

3. Demonstrieren Sie die Effizienz von FlexGen, indem Sie OPT-175B auf einer NVIDIA T4-GPU (16 GB) ausführen. Auf einer einzelnen GPU kann unkomprimiertes FlexGen bei gleichen Latenzanforderungen einen 65-mal höheren Durchsatz erzielen als DeepSpeed ​​​​Zero-Inference (Aminabadi et al., 2022) und Hugging Face Accelerate (HuggingFace, 2022). Letzteres ist derzeit das fortschrittlichste Inferenzsystem basierend auf Offloading in der Branche. Wenn höhere Latenz und Komprimierung zugelassen werden, kann FlexGen den Durchsatz weiter steigern und 100-fache Verbesserungen erzielen. FlexGen ist das erste System, das mit einer einzigen T4-GPU einen Geschwindigkeitsdurchsatz von 1 Token/s für den OPT-175B erreicht. FlexGen mit Pipeline-Parallelität erreicht eine superlineare Skalierung bei der Dekodierung bei mehreren verteilten GPUs.

In der Studie verglichen die Autoren auch FlexGen und Petals als Vertreter von Offloading- und dezentralen Mengeninferenzmethoden. Die Ergebnisse zeigen, dass FlexGen mit einer einzelnen T4-GPU einen dezentralen Petal-Cluster mit 12 T4-GPUs hinsichtlich des Durchsatzes übertrifft und in einigen Fällen sogar eine geringere Latenz erreicht.

Laufmechanismus

Durch die Zusammenführung von Speicher und Berechnungen von GPU, CPU und Festplatte kann FlexGen unter verschiedenen Hardwareressourcenbeschränkungen flexibel konfiguriert werden. Mithilfe eines linearen Programmieroptimierers wird nach dem besten Muster für die Speicherung und den Zugriff auf Tensoren gesucht, einschließlich Gewichtungen, Aktivierungen und Aufmerksamkeits-Schlüssel/Wert-Caches (KV). FlexGen komprimiert die Gewichte und den KV-Cache weiter auf 4 Bit mit vernachlässigbarem Genauigkeitsverlust.

Eine Schlüsselidee von FlexGen besteht darin, einen Kompromiss zwischen Latenz und Durchsatz zu schließen. Das Erreichen einer niedrigen Latenz ist für Offloading-Methoden von Natur aus eine Herausforderung, aber für durchsatzorientierte Szenarien kann die Offloading-Effizienz erheblich verbessert werden (siehe Abbildung unten). FlexGen nutzt Blockplanung, um Gewichtungen wiederzuverwenden und I/O mit Berechnungen zu überlappen, wie in Abbildung (b) unten dargestellt, während andere Basissysteme eine ineffiziente zeilenweise Planung verwenden, wie in Abbildung (a) unten dargestellt.

Um das ChatGPT-Volumenmodell auszuführen, benötigen Sie von nun an nur noch eine GPU: Hier ist eine Methode, um es um das Hundertfache zu beschleunigen.

Aktuell umfassen die nächsten Schritte des Studienautors das Testen von Apple M1, M2-Chip-Unterstützung und Colab-Bereitstellungsunterstützung.

FlexGen hat seit seiner Veröffentlichung schnell Tausende von Sternen auf GitHub erreicht und erfreut sich auch in sozialen Netzwerken großer Beliebtheit. Die Leute haben geäußert, dass dieses Projekt sehr vielversprechend ist. Es scheint, dass die Hindernisse für die Ausführung leistungsstarker Sprachmodelle in großem Maßstab allmählich überwunden werden. Es besteht die Hoffnung, dass ChatGPT noch in diesem Jahr auf einem einzigen Computer verwaltet werden kann.

Jemand hat diese Methode verwendet, um ein Sprachmodell zu trainieren, und die Ergebnisse sind wie folgt:

# 🎜🎜# Um das ChatGPT-Volumenmodell auszuführen, benötigen Sie von nun an nur noch eine GPU: Hier ist eine Methode, um es um das Hundertfache zu beschleunigen.

Obwohl die KI nicht mit einer großen Datenmenge gefüttert wurde und kein spezifisches Wissen kennt, scheint die Logik der Beantwortung von Fragen relativ klar. Vielleicht Können wir das in zukünftigen NPC-Spielen sehen?

Das obige ist der detaillierte Inhalt vonUm das ChatGPT-Volumenmodell auszuführen, benötigen Sie von nun an nur noch eine GPU: Hier ist eine Methode, um es um das Hundertfache zu beschleunigen.. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:51cto.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen