picoGPT
1.0.0
Postagem de acompanhamento: GPT em 60 linhas de Numpy
Você viu openai/gpt-2.
Você viu karpatia/minGPT.
Você até viu karpathy/nanoGPT!
Mas você já viu o picoGPT ??!?
picoGPT
é uma implementação desnecessariamente pequena e mínima de GPT-2 em NumPy simples. Toda a senha de encaminhamento tem 40 linhas de código.
Recursos do picoGPT:
gpt2.py
✅ gpt2_pico.py
Uma análise rápida de cada um dos arquivos:
encoder.py
contém o código do Tokenizer BPE da OpenAI, retirado diretamente de seu repositório gpt-2.utils.py
contém o código para baixar e carregar os pesos, tokenizer e hiperparâmetros do modelo GPT-2.gpt2.py
contém o modelo GPT real e o código de geração que podemos executar como um script python.gpt2_pico.py
é igual a gpt2.py
, mas com ainda menos linhas de código. Por que? Porque por que não ??. pip install -r requirements.txt
Testado em Python 3.9.10
.
python gpt2.py " Alan Turing theorized that computers would one day become "
O que gera
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.
Você também pode controlar o número de tokens a serem gerados, o tamanho do modelo (um de ["124M", "355M", "774M", "1558M"]
) e o diretório para salvar os modelos:
python gpt2.py
" Alan Turing theorized that computers would one day become "
--n_tokens_to_generate 40
--model_size " 124M "
--models_dir " models "