picoGPT
1.0.0
随附的博客文章:60 行 Numpy 中的 GPT
您已经看过 openai/gpt-2。
您已经看过 karpathy/minGPT。
您甚至见过 karpathy/nanoGPT!
但你见过picoGPT吗?!?
picoGPT
是 GPT-2 在普通 NumPy 中不必要的微小且最小的实现。整个前向传递代码有40行代码。
picoGPT 特点:
gpt2.py
✅ gpt2_pico.py
每个文件的快速细分:
encoder.py
包含 OpenAI 的 BPE Tokenizer 的代码,直接取自他们的 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 "