picoGPT
1.0.0
Publicación de blog adjunta: GPT en 60 líneas de Numpy
Has visto openai/gpt-2.
Has visto karpatía/minGPT.
¡Incluso has visto karpathy/nanoGPT!
¿Pero has visto picoGPT??!?
picoGPT
es una implementación mínima e innecesariamente pequeña de GPT-2 en NumPy simple. El código de acceso completo tiene 40 líneas de código.
características picoGPT:
gpt2.py
✅ gpt2_pico.py
Un desglose rápido de cada uno de los archivos:
encoder.py
contiene el código para BPE Tokenizer de OpenAI, tomado directamente de su repositorio gpt-2.utils.py
contiene el código para descargar y cargar los pesos, el tokenizador y los hiperparámetros del modelo GPT-2.gpt2.py
contiene el modelo GPT real y el código de generación que podemos ejecutar como un script de Python.gpt2_pico.py
es lo mismo que gpt2.py
, pero en incluso menos líneas de código. ¿Por qué? Porque ¿por qué no? pip install -r requirements.txt
Probado en Python 3.9.10
.
python gpt2.py " Alan Turing theorized that computers would one day become "
que genera
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.
También puede controlar la cantidad de tokens a generar, el tamaño del modelo (uno de ["124M", "355M", "774M", "1558M"]
) y el directorio para guardar los modelos:
python gpt2.py
" Alan Turing theorized that computers would one day become "
--n_tokens_to_generate 40
--model_size " 124M "
--models_dir " models "