Shakespearegpt
Membangun & Pelatihan GPT dari awal berdasarkan Andrej Karpathy: Mari Bangun GPT: Dari awal, dalam kode, dijabarkan. tutorial
Dataset Tiny-Shakespeare: Asli dengan sedikit modifikasi.
TutorialGpt (mengikuti video)
- BASIC_BIGRAMLM.PY: Membangun model Bigram dasar dengan menghasilkan untuk membuat segalanya bergulir.
- Tutorial.ipynb: Mekanisme perhatian dasar yang dipahami, menggunakan TRIL, Masked_Fill, Softmax + Catatan tentang Perhatian.
- Lmwithattention.py: Melanjutkan model tetapi sekarang dengan kepala perhatian tunggal, embeddings token, embeddings posisi.
- Perhatianblock.py: membangun satu perhatian perhatian tunggal
- Lm_multihead_attention_ffwd.ipynb: Lanjutan model untuk sekarang memiliki banyak perhatian kepala concantenated, dan lapisan umpan ke depan terpisah sebelum lm_head.
- tutorialgpt.ipynb: Membuat blok transformator, pelapisan, koneksi residual, evaluasi kerugian yang lebih baik, putus sekolah, Layernorm.
Level Karakter GPT
menggunakan tokenizer level karakter. Melatih dua versi dengan konfigurasi yang berbeda untuk lebih memahami dampak hyperparameters seperti n_embeds, num_heads.
Cobalah Kaggle
V1:
- buku catatan
- model yang disimpan
- Hasil
v2:
- buku catatan
- model yang disimpan
- Hasil
Shakespearegpt
menggunakan tokenizer encoding pasangan byte.
Cobalah Kaggle
- GPT.PY: Model GPT lengkap
- Dataset.py: Dataset Obor
- build_tokenizer.py: Tokenizer BPE menggunakan
huggingface tokenizers dari awal yang mirip dengan GPT-2 disimpan di Tokenizer - Train.py: Script pelatihan berisi pengoptimal, konfigurasi, fungsi kerugian, loop kereta api, loop validasi, penghematan model
- Generate.py: Hasilkan teks dengan memuat model pada CPU.
Versi
V1
n_embed = 384
n_heads = 12
head_size = 32
n_layers = 4
lr = 6e-4
attn_dropout = 0.1
block_dropout = 0.1
Train Loss: 4.020419597625732
Valid Loss: 6.213085174560547
- buku catatan
- model yang disimpan
- Hasil
V2
n_embed = 384
n_heads = 6
head_size = 64
n_layers = 3
lr = 5e-4
attn_dropout = 0.2
block_dropout = 0.2
Train Loss: 3.933095216751099
Valid Loss: 5.970513820648193
- buku catatan
- model yang disimpan
- Hasil
Seperti biasa, tutorial yang luar biasa oleh Andrej!