picoGPT
1.0.0
Article de blog qui l'accompagne : GPT dans 60 lignes de Numpy
Vous avez vu openai/gpt-2.
Vous avez vu karpathy/minGPT.
Vous avez même vu karpathy/nanoGPT !
Mais avez-vous vu picoGPT ??!?
picoGPT
est une implémentation inutilement petite et minimale de GPT-2 dans NumPy simple. L’ensemble du code d’accès direct comprend 40 lignes de code.
Fonctionnalités picoGPT :
gpt2.py
✅ gpt2_pico.py
Une ventilation rapide de chacun des fichiers :
encoder.py
contient le code du BPE Tokenizer d'OpenAI, tiré directement de leur dépôt gpt-2.utils.py
contient le code pour télécharger et charger les poids, le tokenizer et les hyper-paramètres du modèle GPT-2.gpt2.py
contient le modèle GPT réel et le code de génération que nous pouvons exécuter en tant que script Python.gpt2_pico.py
est identique à gpt2.py
, mais avec encore moins de lignes de code. Pourquoi? Parce que pourquoi pas ??. pip install -r requirements.txt
Testé sur Python 3.9.10
.
python gpt2.py " Alan Turing theorized that computers would one day become "
Ce qui génère
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.
Vous pouvez également contrôler le nombre de jetons à générer, la taille du modèle (l'un des ["124M", "355M", "774M", "1558M"]
) et le répertoire dans lequel enregistrer les modèles :
python gpt2.py
" Alan Turing theorized that computers would one day become "
--n_tokens_to_generate 40
--model_size " 124M "
--models_dir " models "