KI-Anwendungen und große Modelle, die durch ChatGPT und GPT4 repräsentiert werden, erfreuen sich auf der ganzen Welt großer Beliebtheit und gelten als Eröffner einer neuen technologischen industriellen Revolution und als neuer Ausgangspunkt für AGI (Künstliche Allgemeine Intelligenz). Technologiegiganten jagen sich nicht nur gegenseitig und wetteifern um die Einführung neuer Produkte, sondern auch viele KI-Tycoons in Wissenschaft und Industrie investieren in entsprechende unternehmerische Wellen. Generative KI iteriert schnell innerhalb von „Tagen“ und nimmt weiter zu!
OpenAI hat es jedoch nicht zu Open Source gemacht. Welche technischen Details stecken dahinter? Wie kann man dieser Technologiewelle schnell folgen, aufholen und daran teilnehmen? Wie können die hohen Kosten für die Erstellung und Anwendung großer KI-Modelle gesenkt werden? Wie können Kerndaten und geistiges Eigentum davor geschützt werden, durch die Verwendung großer Modell-APIs von Drittanbietern preisgegeben zu werden?
Als beliebteste Open-Source-KI-Großmodelllösung hat Colossal-AI die Führung bei der Etablierung eines vollständigen RLHF-Prozesses übernommen, der überwachte Datensatzerfassung -> überwachte Feinabstimmung -> Belohnungsmodelltraining -> Verstärkung umfasst Feinabstimmung lernen, basierend auf dem LLaMA-Vortrainingsmodell, startete ColossalChat, ist derzeit das praktische Open-Source-Projekt, das der ursprünglichen technischen Lösung von ChatGPT am nächsten kommt!
Open-Source-Adresse: https://github.com/hpcaitech/ColossalAI
Enthält den folgenden Inhalt:
1. Demo: Sie können direkt erleben Der Modelleffekt ist online, keine Registrierung oder Warteliste erforderlich Satz:
Open Source 104K Medium, englischer zweisprachiger Datensatz4. Inferenzbereitstellung:
4-Bit-quantitatives Inferenzmodell mit 7 Milliarden Parametern erfordert nur 4 GB Videospeicher5. Modellgewicht:
Nur eine geringe Menge an Rechenleistung auf einem einzelnen Server. Es kann schnell reproduziert werden6. Größere Modelle, Datensätze, andere Optimierungen usw. sorgen für eine iterative HochgeschwindigkeitsadditionErschwingliche Modelle und leistungsstarke Funktionen
ColossalChat erfordert nur weniger als 10 Milliarden Parameter und in großen Sprachen. Durch die Feinabstimmung von RLHF auf der Grundlage des Modells können Sie die zweisprachigen Fähigkeiten Chinesisch und Englisch beherrschen und ähnliche Effekte wie ChatGPT und GPT-3.5 erzielen. Zum Beispiel eine Frage und Antwort mit gesundem Menschenverstand:
Schreiben Sie eine E-Mail:
Schreiben Sie einen Algorithmus:
Vollständige ChatGPT-Klonlösung
Obwohl Modelle der GPT-Serie wie ChatGPT und GPT-4 sehr leistungsfähig sind, ist es unwahrscheinlich, dass sie vollständig Open Source sind. Glücklicherweise arbeitet die Open-Source-Community weiterhin hart.Zum Beispiel hat Meta das LLaMA-Modell als Open Source bereitgestellt. Die Anzahl der Parameter dieses Modells reicht von 7 Milliarden bis 13 Milliarden Parametern und kann das 175 Milliarden GPT-3-Modell in den meisten Benchmark-Tests übertreffen. Da es jedoch nicht zur Feinabstimmung angewiesen wurde (Tuning anweisen), war der tatsächliche Erzeugungseffekt nicht ideal.
Stanfords Alpaca generiert Trainingsdaten auf selbstlernende Weise durch Aufrufen der OpenAI-API, sodass ein leichtes Modell mit nur 7 Milliarden Parametern zu sehr geringen Kosten feinabgestimmt werden kann, um Hunderte Milliarden vergleichbarer Parameter zu erhalten GPT-3.5 Dialogeffekte sehr großer Sprachmodelle.
AberDie bestehenden Open-Source-Lösungen können davon ausgegangen werden, dass sie lediglich den ersten Schritt des überwachten Feinabstimmungsmodells beim Human Feedback Reinforcement Learning (RLHF) erreichen, ohne anschließende Ausrichtungs- und Feinabstimmungsarbeiten. Gleichzeitig ist der Trainingsdatensatz von Alpaca zu klein und der Korpus nur auf Englisch, was auch die Leistung des Modells in gewissem Maße einschränkt.
Und die erstaunliche Wirkung von ChatGPT und GPT-4 liegt in der Einführung von RLHF in den Trainingsprozess, wodurch die generierten Inhalte besser mit menschlichen Werten übereinstimmen.
Drei Stufen von RLHF
Basierend auf dem LLaMA-Modell ist Colossal-AI die erste Open-Source-Chat-ähnliche Modellreproduktionslösung, die einen vollständigen RLHF-Prozess umfasst derzeit Das praktische Open-Source-Projekt, das der ursprünglichen technischen Route von ChatGPT am nächsten kommt!
ColossalChat hat einen zweisprachigen Datensatz in Chinesisch und Englisch als Open Source bereitgestellt, der etwa 100.000 Fragen und Antworten enthält. Dieser Datensatz sammelt und bereinigt reale Frageszenarien von Menschen auf sozialen Plattformen als Seed-Datensatz, nutzt Selbstinstruktionstechnologie zur Erweiterung der Daten und kostet etwa 900 US-Dollar für die Annotation. Im Vergleich zu den Datensätzen, die mit anderen Selbstanweisungsmethoden generiert wurden, sind die Startdaten dieses Datensatzes realer und umfangreicher, und der generierte Datensatz deckt mehr Themen ab. Diese Daten können sowohl zur Feinabstimmung als auch zum RLHF-Training verwendet werden. Durch hochwertige Daten kann ColossalChat bessere Gesprächsinteraktionen durchführen und Chinesisch unterstützen. „KolossalChat-Datensatzerfassungsprozess“ Feinabstimmung der Modell .
RLHF-Stage2 trainiert das Belohnungsmodell. Es sortiert manuell verschiedene Ausgaben derselben Eingabeaufforderung, um die entsprechenden Bewertungen zu erhalten, und überwacht das Training des Belohnungsmodells.
RLHF-Stage3 verwendet einen Reinforcement-Learning-Algorithmus, der den komplexesten Teil des Trainingsprozesses darstellt:
RLHF-Stage3-Algorithmus-Flussdiagramm
Im PPO-Teil ColossalChat ist unterteilt in Es wird in zwei Phasen ausgeführt: Erstens ist es der Make Experience-Teil, der SFT-, Actor-, RM- und Critic-Modelle verwendet, um Experience zu berechnen und zu generieren und es im Puffer zu speichern nutzt Erfahrung, um den Strategieverlust und den Wertverlust zu berechnen.
Im PTX-Teil berechnet ColossalChat die Kreuzentropieverlustfunktion der Actor-Ausgabeantwort und des Antwortteils des Eingabekorpus, die verwendet wird, um den Gradienten vor dem Training zum PPO-Gradienten hinzuzufügen, um die ursprüngliche Leistung aufrechtzuerhalten des Sprachmodells und verhindern das Vergessen. Schließlich werden der Strategieverlust, der Wertverlust und der PTX-Verlust für die Rückausbreitung und Parameteraktualisierung summiert.
Schnell loslegen
ColossalChat hat den vollständigen Code zur Reproduktion der drei Phasen des ChatGPT-Trainings basierend auf dem LLaMA-Modell als Open Source bereitgestellt. In der ersten Stufe trainieren Sie das SFT-Modell:
# Training with a 4-GPU servers colossalai run --nproc_per_node=4 train_sft.py --pretrain "/path/to/LLaMa-7B/" --model 'llama' --strategy colossalai_zero2 --log_interval 10 --save_path/path/to/Coati-7B --dataset /path/to/data.json --batch_size 4 --accimulation_steps 8 --lr 2e-5
# Training with a 4-GPU servers colossalai run --nproc_per_node=4 train_reward_model.py --pretrain "/path/to/LLaMa-7B/" --model 'llama' --strategy colossalai_zero2 --dataset /path/to/datasets
# Training with a 8-GPU servers colossalai run --nproc_per_node=8 train_prompts.py prompts.csv --strategy colossalai_zero2 --pretrain "/path/to/Coati-7B" --model 'llama' --pretrain_dataset /path/to/dataset
python server.py/path/to/pretrained --quant 4bit --gptq_checkpoint /path/to/coati-7b-4bit-128g.pt --gptq_group_size 128
ColossalChat 能够快速跟进 ChatGPT 完整 RLHF 流程复现,离不开 AI 大模型基础设施 Colossal-AI 及相关优化技术的底座支持,相同条件下训练速度相比 Alpaca 采用的 FSDP (Fully Sharded Data Parallel) 可提升三倍左右。
系统基础设施 Colossal-AI
AI 大模型开发系统 Colossal-AI 为该方案提供了基础支持,它可基于 PyTorch 高效快速部署 AI 大模型训练和推理,从而降低 AI 大模型应用的成本。Colossal-AI 由加州伯克利大学杰出教授 James Demmel 和新加坡国立大学校长青年教授尤洋领导开发。自从它开源以来,Colossal-AI 已经多次在 GitHub 热榜位列世界第一,获得 GitHub Star 约两万颗,并成功入选 SC、AAAI、PPoPP、CVPR、ISC 等国际 AI 与 HPC 顶级会议的官方教程。
减少内存冗余的 ZeRO + Gemini
Colossal-AI 支持使用无冗余优化器 (ZeRO) 提高内存使用效率,低成本容纳更大模型,同时不影响计算粒度和通信效率。自动 Chunk 机制可以进一步提升 ZeRO 的性能,提高内存使用效率,减少通信次数并避免内存碎片。异构内存空间管理器 Gemini 支持将优化器状态从 GPU 显存卸载到 CPU 内存或硬盘空间,以突破 GPU 显存容量限制,扩展可训练模型的规模,降低 AI 大模型应用成本。
使用 LoRA 低成本微调
Colossal-AI 支持使用低秩矩阵微调(LoRA)方法,对 AI 大模型进行低成本微调。LoRA 方法认为大语言模型是过参数化的,而在微调时,参数改变量是一个低秩矩阵。因此,可以将这个矩阵分解为两个更小的矩阵的乘积。在微调过程中,大模型的参数被固定,只有低秩矩阵参数被调整,从而显著减小了训练所需的参数量,并降低成本。
低成本量化推理
GPTQ 量化
为降低推理部署成本,Colossal-AI 使用 GPTQ 4bit 量化推理。在 GPT/OPT/BLOOM 类模型上,它比传统的 RTN (rount-to-nearest) 量化技术能够获得更好的 Perplexity 效果。相比常见的 FP16 推理,它可将显存消耗降低 75%,只损失极少量的吞吐速度与 Perplexity 性能。
以 ColossalChat-7B 为例,在使用 4bit 量化推理时,70 亿参数模型仅需大约 4GB 显存即可完成短序列(生成长度为 128 )推理,在普通消费级显卡上即可完成(例如 RTX 3060 Laptop),仅需一行代码即可使用。
if args.quant == '4bit': model = load_quant (args.pretrained, args.gptq_checkpoint, 4, args.gptq_group_size)
如果采用高效的异步卸载技术 (offload),还可以进一步降低显存要求,使用更低成本的硬件推理更大的模型。
1. ColossalChat 开源了第一个完整的RLHF pipeline,斯坦福Alpaca没有做 RLHF,也就是没有做 Stage 2 和 Stage 3。
2. ColossalChat 采用了更多的指令数据,质量更好,范围更大,并使用强化学习做alignment 使回答更接近人类。
3. Der ColossalChat-Trainingsprozess integriert viele Systemoptimierungen von Colossal-AI. Die Trainingsgeschwindigkeit des gleichen Datensatzes und der gleichen Modellgröße kann etwa dreimal schneller sein als bei Alpaca, was es wissenschaftlichen Forschern ermöglicht Auch kleine und mittlere Unternehmen können ihr eigenes Sitzungssystem selbstständig trainieren und bereitstellen. 4. Das ColossalChat-Team hat selbst weitere Datensätze gesammelt: insgesamt 24 Millionen Token auf Englisch für das Training, etwa 30 Millionen Token auf Chinesisch und insgesamt etwa 54 Millionen Token. Darunter umfasst der von ColossalChat selbst gesammelte Datensatz 6 Millionen auf Englisch und 18 Millionen Token auf Chinesisch.
Das Folgende sind einige Aufführungen von ColossalChat und Alpaca im Sprachdialog (oben ist ColossalChat, unten ist Alpaca).
Quicksort in Python schreiben:
Schreiben Sie eine E-Mail an den Professor, um ein Empfehlungsschreiben anzufordern:
Obwohl es RLHF weiter eingeführt hat, aber aufgrund Rechenleistung Da der Datensatz begrenzt ist, gibt es in einigen Szenarien noch Raum für Verbesserungen der tatsächlichen Leistung.
Glücklicherweise wurden große KI-Modelle und Spitzentechnologien im Gegensatz zu früher nur von einigen wenigen Technologiegiganten monopolisiert, und auch Start-ups wie PyTorch, Hugging Face und OpenAI spielten eine Schlüsselrolle Rolle in dieser Welle. Aufbauend auf den erfolgreichen Erfahrungen der Open-Source-Community lädt Colossal-AI alle Parteien ein, sich an der gemeinsamen Konstruktion zu beteiligen und die Ära der großen Modelle zu begrüßen!Sie können über die folgenden Methoden Kontakt aufnehmen oder teilnehmen:
1. Veröffentlichen Sie ein Problem auf GitHub oder senden Sie eine Pull-Anfrage (PR)
2. Treten Sie der Colossal-AI-Benutzergruppe WeChat oder Slack bei Kommunikation
3. Senden Sie einen formellen Kooperationsvorschlag an die E-Mail youy@comp.nus.edu.sg
Open-Source-Adresse:
https://github.com/hpcaitech/ColossalAI
Das obige ist der detaillierte Inhalt vonDie 0-Schwellenwert-Klonlösung wurde aktualisiert, das Open-Source-Modell ist vollständig reproduziert und für das Online-Erlebnis ist keine Registrierung erforderlich.. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!