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 "