Ce projet vise à reproduire l'architecture du modèle GPT-2 small en utilisant PyTorch. L'objectif est de comprendre en profondeur les mécanismes des Transformers, notamment l'attention multi-tête, les embeddings, les connexions résiduelles, et le feed forward networks.
- Implémentation de l'architecture GPT-2 avec PyTorch.
- Attention multi-tête
- Feed forward network
- Transfomers
📁 My mini GPT2
|── 📄 main.py
|── 📄 README.md
|── 📄 requirement.txt
|── 📁 src
| │── 📄 attention.py
| │── 📄 feed_forward.py
| │── 📄 gpt2_config.py
| │── 📄 gpt2_assemble.py
| │── 📄 head_model.py
| │── 📄 transformer.py
|── 📁 pre_train_weight
|── 📄 load_weight.py
|── 📄 tokeniser.py
|── 📄txt_generate.py
-
Cloner le dépôt :
git clone git@github.com:Antoine0703/My-mini-Gpt-2.git cd My-mini-Gpt-2 -
Installer les dépendances :
pip install -r requirements.txt
Les principaux paramètres du modèle sont définis dans src/gpt2_config.py :
config = {
"vocab_size": 50257,
"n_positions": 1024,
"n_embd": 768,
"n_layer": 12,
"n_head": 12,
"embd_pdrop"=0.1,
"attn_pdrop": 0.1,
"resid_pdrop": 0.1,
"layer_norm_epsilon"=1e-5,
"initializer_range": 0.02
"bos_token_id"=50256,
"eos_token_id"=50256,
}Lancer l'entraînement avec :
python train.py --epochs 10 --batch_size 32Une fois entraîné, le modèle peut être utilisé pour générer du texte :
python generate.py --prompt "Bonjour, aujourd'hui nous allons parler de"