ஒரு GPT பயிற்சிக் குழாயின் ஒவ்வொரு பகுதியையும் நீங்களே எழுதும் பயிற்சிப் பட்டறை, ஒவ்வொரு கூறுகளும் என்ன செய்கின்றன, ஏன் என்பதைப் புரிந்துகொள்வது.
ஆண்ட்ரேஜ் கர்பதியின் நானோஜிபிடி எல்எல்எம் மற்றும் டிரான்ஸ்பார்மர்களுக்கு எனது முதல் உண்மையான வெளிப்பாடு. PyTorch இன் சில நூறு வரிகளில் வேலை செய்யும் மொழி மாதிரியை எவ்வாறு உருவாக்க முடியும் என்பதைப் பார்த்தது AI பற்றி நான் நினைத்த விதத்தை முற்றிலும் மாற்றியது மற்றும் விண்வெளியில் ஆழமாகச் செல்ல என்னைத் தூண்டியது.
இதே அனுபவத்தை மற்றவர்களுக்கு கொடுக்கவே இந்த பட்டறை எனது முயற்சி. nanoGPT ஆனது GPT-2 (124M அளவுருக்கள்) ஐ மீண்டும் உருவாக்குவதை நோக்கமாகக் கொண்டுள்ளது மற்றும் நிறைய நிலத்தை உள்ளடக்கியது. இந்தத் திட்டம் அதை அத்தியாவசியமானதாகக் குறைத்து, ஒரு மணி நேரத்திற்குள் மடிக்கணினியில் பயிற்சியளிக்கும் ~10M பரம் மாடலுக்கு அளவிடுகிறது – ஒரே பட்டறை அமர்வில் முடிக்க வடிவமைக்கப்பட்டுள்ளது.
கருப்பு பெட்டி நூலகங்கள் இல்லை. இல்லை model = AutoModel.from_pretrained(). நீங்கள் அனைத்தையும் உருவாக்குங்கள்.
ஷேக்ஸ்பியர் போன்ற உரையை உருவாக்கும் திறன் கொண்ட, மேக்புக்கில் புதிதாகப் பயிற்சியளிக்கப்பட்ட ஒரு வேலை செய்யும் ஜிபிடி மாதிரி. நீங்கள் எழுதுவீர்கள்:
- டோக்கனைசர் – உரையை மாதிரி செயலாக்கக்கூடிய எண்களாக மாற்றுகிறது
- மாதிரி கட்டிடக்கலை – மின்மாற்றி: உட்பொதிப்புகள், கவனம், ஊட்ட-முன்னோக்கி அடுக்குகள்
- பயிற்சி வளையம் – ஃபீட் ஃபார்வர்ட், லாஸ், பேக்ப்ராப், ஆப்டிமைசர், கற்றல் வீத நிரலாக்கம்
- உரை உருவாக்கம் – உங்கள் பயிற்சி பெற்ற மாதிரியிலிருந்து மாதிரி
- எந்த லேப்டாப் அல்லது டெஸ்க்டாப் (மேக், லினக்ஸ் அல்லது விண்டோஸ்)
- பைதான் 3.12+
- வசதியான வாசிப்பு பைதான் குறியீடு (ML அனுபவம் தேவையில்லை)
பயிற்சி தானாகவே Apple சிலிக்கான் GPU (MPS), NVIDIA GPU (CUDA) அல்லது CPU ஐப் பயன்படுத்துகிறது. இது Google Colab இல் வேலை செய்கிறது – கோப்புகளைப் பதிவேற்றி இயக்கவும் !python train.py.
உங்களிடம் uv இல்லையென்றால் அதை நிறுவவும்:
# macOS / Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
# Windows
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
பின்னர் திட்டத்தை உள்ளமைக்கவும்:
uv sync
mkdir scratchpad && cd scratchpad
உங்களிடம் உள்ளூர் அமைப்பு இல்லையென்றால், களஞ்சியத்தை Colab இல் பதிவேற்றி சார்புகளை நிறுவவும்:
!pip install torch numpy tqdm tiktoken
ஏற்றவும் data/shakespeare.txt உங்கள் Colab கோப்புகளில், நோட்புக் கலங்களில் குறியீட்டை எழுதவும் அல்லது பதிவேற்றவும் .py கோப்புகள் மற்றும் அவற்றை இயக்கவும் !python train.py.
ஆவணங்கள் மூலம் ஒழுங்காக வேலை செய்யுங்கள். ஒவ்வொரு பகுதியும் பைப்லைனின் ஒரு பகுதியை எழுதுவதன் மூலம் உங்களை அழைத்துச் செல்கிறது, ஒவ்வொரு கூறு என்ன செய்கிறது மற்றும் ஏன் என்பதை விளக்குகிறது. முடிவில், உங்களிடம் ஒன்று இருக்கும் model.py, train.pyமற்றும் generate.py அதை நீங்களே எழுதினீர்கள் என்று.
| பகுதி | என்ன எழுதுவீர்கள்? | கருத்துக்கள் |
|---|---|---|
| பகுதி 1: டோக்கனைசேஷன் | எழுத்து நிலை டோக்கனைசர் | எழுத்து குறியாக்கம், சொல்லகராதி அளவு, ஏன் சிறிய தரவுகளில் BPE தோல்வியடைகிறது |
| பகுதி 2: டிரான்ஸ்பார்மர் | GPT மாதிரியின் முழுமையான கட்டமைப்பு | உட்பொதிப்புகள், சுய-கவனம், அடுக்கு விதிமுறை, MLP தொகுதிகள் |
| பகுதி 3: பயிற்சி வளையம் | முழுமையான பயிற்சி குழாய் | இழப்பு செயல்பாடுகள் , AdamW , கிரேடியன்ட் டிரிம்மிங் , LR புரோகிராமிங் |
| பகுதி 4: உரையை உருவாக்குதல் | அனுமானம் மற்றும் மாதிரி | வெப்பநிலை, டாப்-கே, தன்னியக்க டிகோடிங் |
| பகுதி 5: அனைத்தையும் ஒன்றாக இணைக்கவும் | உண்மையான தரவு மீது பயிற்சி, பரிசோதனை | இழப்பு வளைவுகள், அளவிடுதல் பரிசோதனைகள், அடுத்த படிகள் |
| பகுதி 6: போட்டி | சிறந்த கவிஞர் AIக்கு பயிற்சி அளிக்கவும் | தரவுத்தொகுப்புகளைக் கண்டறியவும், விரிவுபடுத்தவும், உங்கள் சிறந்த கவிதையைச் சமர்ப்பிக்கவும் |
கட்டிடக்கலை: ஒரு பார்வையில் GPT
Input Text
│
▼
┌─────────────────┐
│ Tokenizer │ "hello" → [20, 43, 50, 50, 53] (character-level)
└────────┬────────┘
▼
┌─────────────────┐
│ Token Embed + │ token IDs → vectors (n_embd dimensions)
│ Position Embed │ + positional information
└────────┬────────┘
▼
┌─────────────────┐
│ Transformer │ × n_layer
│ Block: │
│ ┌────────────┐ │
│ │ LayerNorm │ │
│ │ Self-Attn │ │ n_head parallel attention heads
│ │ + Residual │ │
│ ├────────────┤ │
│ │ LayerNorm │ │
│ │ MLP (FFN) │ │ expand 4x, GELU, project back
│ │ + Residual │ │
│ └────────────┘ │
└────────┬────────┘
▼
┌─────────────────┐
│ LayerNorm │
│ Linear → logits│ vocab_size outputs (probability over next token)
└─────────────────┘
இந்த பட்டறைக்கான மாதிரி கட்டமைப்புகள்
| அமைவு | பரம்ஸ் | n_ அடுக்கு | n_cap | n_embd | ரயில் நேரம் (M3 Pro) |
|---|---|---|---|---|---|
| சிறியது | ~0.5 மில்லியன் | 2 | 2 | 128 | ~5 நிமிடம் |
| சிறியது | ~4M | 4 | 4 | 256 | ~20 நிமிடம் |
| நடுத்தர (இயல்புநிலை) | ~10 மில்லியன் | 6 | 6 | 384 | ~45 நிமிடம் |
அனைத்து உள்ளமைவுகளும் எழுத்து-நிலை டோக்கனைசேஷன் (vocab_size=65) மற்றும் block_size=256 ஆகியவற்றைப் பயன்படுத்துகின்றன.
டோக்கனைசேஷன்: எழுத்துகள் vs BPE
இந்த பட்டறை பயன்படுத்துகிறது பாத்திர அளவில் ஷேக்ஸ்பியரை அடையாளப்படுத்துதல். சிறிய தரவுத்தொகுப்புகளில் BPE டோக்கனைசேஷன் (GPT-2 இன் 50k சொற்களஞ்சியம்) வேலை செய்யாது – பெரும்பாலான டோக்கன் பிக்ராம்கள் மாதிரியைக் கற்றுக்கொள்வதற்கு மிகவும் குறைவாகவே உள்ளன.
| டோக்கனைசர் | சொல்லகராதி அளவு | தரவுத்தொகுப்பு அளவு தேவை |
|---|---|---|
| பாத்திர அளவில் | ~65 | சிறியது (ஷேக்ஸ்பியர், ~1MB) |
| BPE (டிக்டோக்கன்) | 50,257 | பெரியது (TinyStories+, 100 MB+) |
பகுதி 5 பெரிய தரவுத்தொகுப்புகளுக்கு BPEக்கு நகரும்.








Leave a Reply