picoGPT
1.0.0
Сопровождающее сообщение в блоге: GPT в 60 строках Numpy
Вы видели openai/gpt-2.
Вы видели karpathy/minGPT.
Вы даже видели karpathy/nanoGPT!
Но вы видели picoGPT??!?
picoGPT
— это излишне маленькая и минимальная реализация GPT-2 в простом NumPy. Весь код прямого прохода состоит из 40 строк кода.
Возможности picoGPT:
gpt2.py
✅ gpt2_pico.py
Краткая разбивка каждого из файлов:
encoder.py
содержит код для токенизатора BPE OpenAI, взятый прямо из репозитория gpt-2.utils.py
содержит код для загрузки и загрузки весов модели GPT-2, токенизатора и гиперпараметров.gpt2.py
содержит фактическую модель GPT и код генерации, который мы можем запустить как скрипт Python.gpt2_pico.py
— это то же самое, что и gpt2.py
, но в нем еще меньше строк кода. Почему? Потому что почему бы и нет??. pip install -r requirements.txt
Протестировано на Python 3.9.10
.
python gpt2.py " Alan Turing theorized that computers would one day become "
Который генерирует
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.
Вы также можете контролировать количество генерируемых токенов, размер модели (один из ["124M", "355M", "774M", "1558M"]
) и каталог для сохранения моделей:
python gpt2.py
" Alan Turing theorized that computers would one day become "
--n_tokens_to_generate 40
--model_size " 124M "
--models_dir " models "