Heim  >  Artikel  >  Technologie-Peripheriegeräte  >  Andrej Karpathy verdiente schnell 2.500 Sterne und schrieb eine minGPT-Bibliothek neu

Andrej Karpathy verdiente schnell 2.500 Sterne und schrieb eine minGPT-Bibliothek neu

WBOY
WBOYnach vorne
2023-04-13 14:01:061115Durchsuche

Als repräsentatives Werk der „gewalttätigen Ästhetik“ im Bereich der künstlichen Intelligenz kann man sagen, dass GPT den 117 Millionen Parametern von GPT zu Beginn seiner Geburt das Rampenlicht gestohlen hat stieg bis auf 175 Milliarden Parameter von GPT-3. Mit der Veröffentlichung von GPT-3 hat OpenAI seine kommerzielle API für die Community geöffnet und alle dazu ermutigt, weitere Experimente mit GPT-3 durchzuführen. Für die Verwendung der API ist jedoch eine Anwendung erforderlich, und Ihre Anwendung wird wahrscheinlich zu nichts führen.

Um Forschern mit begrenzten Ressourcen den Spaß am Spielen mit großen Modellen zu ermöglichen, basierte der ehemalige Tesla-KI-Chef Andrej Karpathy auf PyTorch und verwendete nur etwa 300 Zeilen Code hat eine kleine GPT-Trainingsbibliothek erstellt und sie minGPT genannt. Dieses minGPT kann Additionsoperationen und Sprachmodellierung auf Zeichenebene durchführen, und die Genauigkeit ist nicht schlecht.

Nach zwei Jahren wurde minGPT aktualisiert und Karpathy hat eine neue Version namens NanoGPT auf den Markt gebracht. Diese Bibliothek wird zum Training und zur Feinabstimmung von GPT mittlerer Größe verwendet. In nur wenigen Tagen seit seiner Einführung hat es 2,5.000 Sterne gesammelt.

Andrej Karpathy verdiente schnell 2.500 Sterne und schrieb eine minGPT-Bibliothek neu


Projektadresse: https:/ /github.com/karpathy/nanoGPT

In der Projekteinführung schrieb Karpathy: „NanoGPT ist das beliebteste Tool für Training und Feinabstimmung -scale GPT. Es ist eine Neufassung von minGPT, die für mich noch in der Entwicklung ist und derzeit an der Reproduktion von GPT-2 auf dem OpenWebText-Datensatz arbeitet 🎜#

Das Ziel des NanoGPT-Codedesigns besteht darin, einfach und leicht lesbar zu sein, wobei train.py ein Code mit etwa 300 Zeilen ist; model.py ist eine GPT-Modelldefinition mit etwa 300 Zeilen Die Option, GPT-2-Gewichte von OpenAI zu laden, muss der Benutzer zunächst einige Daten als indiziertes 1D-Array hinzufügen.

$ cd data/openwebtext
$ python prepare.py

Dadurch werden zwei Dateien generiert: train.bin und val.bin, die jeweils einen uint16-Byte-Rohdatensatz enthalten, der die GPT-2-BPE-Token-ID-Sequenz darstellt. Dieses Trainingsskript versucht, die kleinste von OpenAI bereitgestellte Version von GPT-2 zu replizieren, nämlich die 124M-Version.

Andrej Karpathy verdiente schnell 2.500 Sterne und schrieb eine minGPT-Bibliothek neu

$ python train.py

Wenn Sie PyTorch Distributed Data Parallelism (DDP) für das Training verwenden möchten, verwenden Sie bitte Torchrun, um das Skript auszuführen.

$ torchrun --standalone --nproc_per_node=4 train.py

Um den Code effizienter zu gestalten, können Benutzer auch Beispiele aus dem Modell verwenden:

$ python sample.py

Karpathy Angeblich hat das Projekt derzeit einen Trainingsverlust von etwa 3,74 auf einer A100 40-GB-GPU über Nacht und etwa 3,60 auf 4 GPUs. Das Training sank auf 3,1 atm mit 400.000 Iterationen (~1 Tag) auf 8 x A100 40-GB-Knoten.

Informationen zur Feinabstimmung von GPT für neuen Text finden Benutzer unter data/shakespeare und Prepare.py. Im Gegensatz zu OpenWebText wird dies in Sekunden ausgeführt. Die Feinabstimmung nimmt sehr wenig Zeit in Anspruch, z. B. nur wenige Minuten auf einer einzelnen GPU. Das Folgende ist ein Beispiel für die Feinabstimmung im laufenden Betrieb.

Freunde, die es ausprobieren möchten, können sich auf das Originalprojekt beziehen.

Das obige ist der detaillierte Inhalt vonAndrej Karpathy verdiente schnell 2.500 Sterne und schrieb eine minGPT-Bibliothek neu. 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