Heim >Technologie-Peripheriegeräte >KI >Jeder hat ein ChatGPT! Microsoft DeepSpeed Chat veröffentlichte schockierend das Ein-Klick-RLHF-Training für Hunderte Milliarden großer Modelle
Der Traum, dass jeder ein ChatGPT hat, wird bald wahr?
Gerade jetzt hat Microsoft ein Open-Source-System-Framework veröffentlicht, das dem Modelltraining einen vollständigen RLHF-Prozess hinzufügen kann – DeepSpeed Chat.
Mit anderen Worten: Hochwertige ChatGPT-ähnliche Modelle aller Größen stehen Ihnen jetzt zur Verfügung!
Projektadresse: https://github.com/microsoft/DeepSpeed
Wie wir alle wissen, weil OpenAI ist zu offen. Um mehr Menschen die Nutzung von ChatGPT-ähnlichen Modellen zu ermöglichen, hat die Open-Source-Community nacheinander Modelle wie LLaMa, Alpaca, Vicuna und Databricks-Dolly auf den Markt gebracht.
Aufgrund des Fehlens eines durchgängigen RLHF-Skalensystems ist das aktuelle Training von ChatGPT-ähnlichen Modellen jedoch immer noch sehr schwierig. Das Aufkommen von DeepSpeed Chat gleicht diesen „Fehler“ einfach aus.
Was noch besser ist, ist, dass DeepSpeed Chat die Kosten erheblich gesenkt hat.
Früher überstiegen teure Multi-GPU-Setups die Möglichkeiten vieler Forscher, und selbst mit Zugriff auf Multi-GPU-Cluster waren die vorhandenen Methoden nicht in der Lage, das Training von Hunderten Milliarden Parameter-ChatGPT-Modellen zu leisten.
Jetzt können Sie für nur 1.620 $ ein OPT-66B-Modell in 2,1 Tagen mit dem Hybridmotor DeepSpeed-HE trainieren.
Und wenn Sie ein System mit mehreren Knoten und mehreren GPUs verwenden, kann DeepSpeed-HE 320 US-Dollar ausgeben, um ein OPT-13B-Modell in 1,25 Stunden zu trainieren, und 5120 US-Dollar ausgeben, um ein OPT-13B-Modell darin zu trainieren weniger als einen Tag.
Der ehemalige Meta-KI-Experte Elvis retweetete aufgeregt, sagte, das sei eine große Sache und zeigte sich neugierig, wie DeepSpeed Chat im Vergleich zu ColossalChat abschneidet.
Jetzt sehen wir uns an, wie es funktioniert.
Nach dem Training durch DeepSpeed-Chat schnitt die 1,3-Milliarden-Parameter-Version „ChatGPT“ in der Frage-und-Antwort-Sitzung sehr gut ab. Sie können nicht nur den Kontext der Frage verstehen, sondern auch die gegebenen Antworten sind relevant.
In mehreren Gesprächsrunden übertraf die Leistung dieser 1,3-Milliarden-Parameter-Version von „ChatGPT“ den inhärenten Eindruck dieser Skala völlig.
Natürlich müssen Sie die Umgebung konfigurieren, bevor Sie sie erleben:
git clone https://github.com/microsoft/DeepSpeed.git cd DeepSpeed pip install . git clone https://github.com/microsoft/DeepSpeedExamples.git cd DeepSpeedExamples/applications/DeepSpeed-Chat/ pip install -r requirements.txt
Wenn Sie nur etwa 1-2 Stunden Kaffee- oder Mittagspause haben, können Sie auch versuchen, mit DeepSpeed-Chat ein „kleines Spielzeug“ zu trainieren.
Das Team hat speziell ein Trainingsbeispiel für das 1.3B-Modell vorbereitet, das auf Consumer-GPUs getestet werden kann. Das Beste daran ist: Wenn Sie aus der Mittagspause zurückkommen, ist alles fertig.
python train.py --actor-model facebook/opt-1.3b --reward-model facebook/opt-350m --num-gpus 1
NVIDIA A6000-GPU für Endverbraucher mit 48 GB Videospeicher:
如果你只有半天的时间,以及一台服务器节点,则可以通过预训练的OPT-13B作为actor模型,OPT-350M作为reward模型,来生成一个130亿参数的类ChatGPT模型:
python train.py --actor-model facebook/opt-13b --reward-model facebook/opt-350m --num-gpus 8
单DGX节点,搭载了8个NVIDIA A100-40G GPU:
如果你可以使用多节点集群或云资源,并希望训练一个更大、更高质量的模型。那么只需基于下面这行代码,输入你想要的模型大小(如66B)和GPU数量(如64):
python train.py --actor-model facebook/opt-66b --reward-model facebook/opt-350m --num-gpus 64
8个DGX节点,每个节点配备8个NVIDIA A100-80G GPU:
具体来说,针对不同规模的模型和硬件配置,DeepSpeed-RLHF系统所需的时间和成本如下:
DeepSpeed Chat是一种通用系统框架,能够实现类似ChatGPT模型的端到端RLHF训练,从而帮助我们生成自己的高质量类ChatGPT模型。
DeepSpeed Chat具有以下三大核心功能:
1. 简化ChatGPT类型模型的训练和强化推理体验
开发者只需一个脚本,就能实现多个训练步骤,并且在完成后还可以利用推理API进行对话式交互测试。
2. DeepSpeed-RLHF模块
DeepSpeed-RLHF复刻了InstructGPT论文中的训练模式,并提供了数据抽象和混合功能,支持开发者使用多个不同来源的数据源进行训练。
3. DeepSpeed-RLHF系统
团队将DeepSpeed的训练(training engine)和推理能力(inference engine) 整合成了一个统一的混合引擎(DeepSpeed Hybrid Engine or DeepSpeed-HE)中,用于RLHF训练。由于,DeepSpeed-HE能够无缝地在推理和训练模式之间切换,因此可以利用来自DeepSpeed-Inference的各种优化。
DeepSpeed-RLHF系统在大规模训练中具有无与伦比的效率,使复杂的RLHF训练变得快速、经济并且易于大规模推广:
DeepSpeed-HE比现有系统快15倍以上,使RLHF训练快速且经济实惠。
例如,DeepSpeed-HE在Azure云上只需9小时即可训练一个OPT-13B模型,只需18小时即可训练一个OPT-30B模型。这两种训练分别花费不到300美元和600美元。
DeepSpeed-HE kann Trainingsmodelle mit Hunderten von Milliarden Parametern unterstützen, und zeigt eine hervorragende Skalierbarkeit auf Systemen mit mehreren Knoten und mehreren GPUs.
Daher kann selbst ein Modell mit 13 Milliarden Parametern in nur 1,25 Stunden trainiert werden. Bei einem Modell mit 175 Milliarden Parametern dauert das Training mit DeepSpeed-HE nur weniger als einen Tag.
Nur eine einzige GPU, DeepSpeed-HE kann Trainingsmodelle mit mehr als 13 Milliarden Parametern unterstützen. Dadurch können Datenwissenschaftler und Forscher, die keinen Zugriff auf Multi-GPU-Systeme haben, problemlos nicht nur leichte RLHF-Modelle, sondern auch große und leistungsstarke Modelle erstellen, um verschiedene Nutzungsszenarien zu bewältigen. #? Der Autor folgt InstructGPT und integriert einen vollständigen End-to-End-Trainingsprozess in DeepSpeed-Chat.
Veranschaulichung des RLHF-Trainingsprozesses von DeepSpeed-Chat, einschließlich einiger optionaler Funktionen# 🎜🎜##🎜 🎜#
Der Prozess besteht aus drei Hauptschritten:Schritt 1: # 🎜🎜# Supervised Fine-Tuning (SFT) nutzt kuratierte menschliche Antworten, um vorab trainierte Sprachmodelle zu optimieren, um auf verschiedene Anfragen zu reagieren.
Schritt 2:
Schritt 3:
In Schritt 3 stellt der Forscher außerdem zwei zusätzliche Funktionen zur Verfügung, um die Modellqualität zu verbessern:
– Hybridtraining, bei dem das Ziel vor dem Training (d. h. die Vorhersage des nächsten Wortes) mit dem PPO-Ziel gemischt wird, um eine Leistung bei öffentlichen Benchmarks wie SQuAD2.0 Return zu verhindern.
EMA und Hybrid-Training sind zwei Trainingsfunktionen, die von anderen Open-Source-Frameworks oft ignoriert werden, da sie das Training nicht behindern.
Allerdings bieten EMA-Checkpoints laut InstructGPT tendenziell eine bessere Antwortqualität als herkömmliche Abschlusstrainingsmodelle, und Hybridtraining kann dem Modell dabei helfen, die Fähigkeit zur Grundauflösung vor dem Training aufrechtzuerhalten .
Daher stellen die Forscher diese Funktionen für Benutzer bereit, damit sie die in InstructGPT beschriebene Trainingserfahrung vollständig erhalten können.
Zusätzlich zur hohen Übereinstimmung mit dem InstructGPT-Papier stellt der Forscher auch Funktionen bereit, die es Entwicklern ermöglichen, eine Vielzahl von Datenressourcen zu nutzen, um ihre eigenen RLHF-Modelle zu trainieren: # 🎜🎜 #
Funktionen zur Datenabstraktion und -mischung:DeepSpeed-Chat verfügt über (1) Abstraktionsdatensatzebene zur Vereinheitlichung Formate für verschiedene Datensätze; und (2) Datenaufteilungs-/-mischungsfunktion, bei der mehrere Datensätze entsprechend gemischt und dann auf drei Trainingsphasen aufgeteilt werden.
Bezeichnet die Schritte 1 und 2 der geführten RLHF-Pipeline, ähnlich der herkömmlichen Feinabstimmung großer Modelle, die durch eine Kombination aus ZeRO-basierter Optimierung und flexiblen Parallelstrategien im DeepSpeed-Training erreicht werden um Größe und Geschwindigkeit zu erreichen.
Und Schritt 3 der Pipeline ist der komplexeste Teil im Hinblick auf die Auswirkungen auf die Leistung.
Jede Iteration muss zwei Phasen effektiv bewältigen: a) die Inferenzphase, die für die Token-/Erfahrungsgenerierung verwendet wird, um Trainingseingaben zu generieren; b) die Trainingsphase, die die Gewichtungen der Akteur- und Belohnungsmodelle aktualisiert, und die Interaktion und Terminplanung.
Es bringt zwei große Schwierigkeiten mit sich: (1) Speicherkosten, da während der dritten Stufe mehrere SFT- und RW-Modelle ausgeführt werden müssen (2) eine langsamere Generierung der Antwortstufe, wenn sie nicht richtig beschleunigt wird, wird dies erheblich verlangsamen gesamte dritte Phase.
Darüber hinaus verursachen die beiden wichtigen Funktionen, die die Forscher in der dritten Stufe hinzugefügt haben – die Erfassung des exponentiellen gleitenden Durchschnitts (EMA) und das Hybridtraining – zusätzliche Speicher- und Schulungskosten.
Um diese Herausforderungen anzugehen, haben Forscher alle Systemfunktionen des DeepSpeed-Trainings und der Inferenz in einer einheitlichen Infrastruktur, der Hybrid Engine, zusammengefasst.
Es nutzt die ursprüngliche DeepSpeed-Engine für den schnellen Trainingsmodus und wendet gleichzeitig mühelos die DeepSpeed-Inferenz-Engine für den Generierungs-/Bewertungsmodus an, wodurch ein schnelleres Trainingssystem für die dritte Stufe des RLHF-Trainings bereitgestellt wird.
Wie in der Abbildung unten dargestellt, erfolgt der Übergang zwischen DeepSpeed-Trainings- und Inferenz-Engines nahtlos: Durch die Aktivierung der typischen Bewertungs- und Trainingsmodi für das Akteurmodell wählt DeepSpeed unterschiedliche Optimierungen aus, wenn die Inferenz- und Trainingsprozesse ausgeführt werden , um Modelle schneller auszuführen und den Gesamtsystemdurchsatz zu verbessern.
DeepSpeed-Hybrid-Engine-Design zur Beschleunigung des zeitaufwändigsten Teils des RLHF-Prozesses
Während der Inferenzausführung der Erfahrungsgenerierungsphase des RLHF-Trainings wird die DeepSpeed-Hybrid-Engine entwickelt Verwendet ein leichtes Speicherverwaltungssystem, um KV-Cache und Zwischenergebnisse zu verarbeiten, während gleichzeitig hochoptimierte Inferenz-CUDA-Kerne und Tensor-Parallel-Computing verwendet werden, wodurch eine deutliche Steigerung des Durchsatzes (Anzahl der Token pro Sekunde) im Vergleich zu bestehenden Lösungen erreicht wird.
Während des Trainings ermöglicht die Hybrid-Engine Speicheroptimierungstechnologien wie die ZeRO-Technologieserie von DeepSpeed und Low-Order Adaptation (LoRA).
Die Art und Weise, wie Forscher die Optimierung dieser Systeme entwerfen und umsetzen, besteht darin, sie miteinander kompatibel zu machen und sie miteinander kombinieren zu können, um die höchste Trainingseffizienz unter einer einheitlichen Hybrid-Engine zu bieten.
Die Hybrid-Engine kann die Modellpartitionierung während des Trainings und der Inferenz nahtlos ändern, um Tensor-Parallel-basierte Inferenz und ZeRO-basierten Trainings-Sharding-Mechanismus zu unterstützen.
Es kann auch das Speichersystem neu konfigurieren, um die Speicherverfügbarkeit in jedem Modus zu maximieren.
Dadurch wird der Engpass bei der Speicherzuweisung vermieden und große Stapelgrößen unterstützt, was die Leistung erheblich verbessert.
Zusammenfassend lässt sich sagen, dass die Hybrid Engine die Grenzen des modernen RLHF-Trainings verschiebt und eine beispiellose Skalierbarkeit und Systemeffizienz für RLHF-Workloads bietet.
Im Vergleich zu bestehenden Systemen wie Colossal-AI oder HuggingFace-DDP hat DeepSpeed-Chat einen Durchsatz von mehr als einer Größenordnung und ist in der Lage, größere Datensätze mit dem gleichen Latenzbudget zu trainieren Schauspieler-Modelle oder ähnlich große Modelle zu geringeren Kosten ausbilden.
DeepSpeed verbessert beispielsweise den Durchsatz des RLHF-Trainings auf einer einzelnen GPU um mehr als das Zehnfache. Während sowohl CAI-Coati als auch HF-DDP 1,3-B-Modelle ausführen können, kann DeepSpeed 6,5-B-Modelle auf derselben Hardware ausführen, was direkt fünfmal höher ist.
Auf mehreren GPUs auf einem einzelnen Knoten ist DeepSpeed-Chat im Hinblick auf den Systemdurchsatz 6–19 Mal schneller als CAI-Coati und HF-DDP ist 1,4–10,5 Mal schneller.
Das Team gab an, dass einer der Hauptgründe, warum DeepSpeed-Chat so hervorragende Ergebnisse erzielen kann, die Beschleunigung ist, die der Hybridmotor während der Generierungsphase bietet.
Das obige ist der detaillierte Inhalt vonJeder hat ein ChatGPT! Microsoft DeepSpeed Chat veröffentlichte schockierend das Ein-Klick-RLHF-Training für Hunderte Milliarden großer Modelle. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!