picoGPT
1.0.0
Begleitender Blogbeitrag: GPT in 60 Lines of Numpy
Sie haben openai/gpt-2 gesehen.
Sie haben karpathy/minGPT gesehen.
Sie haben sogar Karpathy/nanoGPT gesehen!
Aber haben Sie picoGPT gesehen??!?
picoGPT
ist eine unnötig kleine und minimale Implementierung von GPT-2 in einfachem NumPy. Der gesamte Vorwärtspasscode besteht aus 40 Codezeilen.
picoGPT-Funktionen:
gpt2.py
✅ gpt2_pico.py
Eine kurze Aufschlüsselung der einzelnen Dateien:
encoder.py
enthält den Code für den BPE Tokenizer von OpenAI, der direkt aus ihrem gpt-2-Repo stammt.utils.py
enthält den Code zum Herunterladen und Laden der Gewichte, des Tokenizers und der Hyperparameter des GPT-2-Modells.gpt2.py
enthält das eigentliche GPT-Modell und den Generierungscode, den wir als Python-Skript ausführen können.gpt2_pico.py
ist dasselbe wie gpt2.py
, jedoch mit noch weniger Codezeilen. Warum? Denn warum nicht??? pip install -r requirements.txt
Getestet auf Python 3.9.10
.
python gpt2.py " Alan Turing theorized that computers would one day become "
Was erzeugt
the most powerful machines on the planet.
The computer is a machine that can perform complex calculations, and it can perform these calculations in a way that is very similar to the human brain.
Sie können auch die Anzahl der zu generierenden Token, die Modellgröße (eines von ["124M", "355M", "774M", "1558M"]
) und das Verzeichnis zum Speichern der Modelle steuern:
python gpt2.py
" Alan Turing theorized that computers would one day become "
--n_tokens_to_generate 40
--model_size " 124M "
--models_dir " models "