| # Cloud Training Instructions | |
| > Entrenamiento de PAMPAr-Coder en RunPod y otros providers. | |
| ## RunPod Setup | |
| ### Conectar | |
| ```bash | |
| ssh root@IP -p PORT | |
| # Password: en RunPod dashboard o usar SSH key | |
| ``` | |
| ### Preparar entorno | |
| ```bash | |
| cd /workspace/PAMPAr-Coder | |
| pip install sentencepiece tqdm datasets | |
| ``` | |
| ### Lanzar entrenamiento | |
| ```bash | |
| # Background con log | |
| nohup python3 cloud/runpod/train_cloud.py \ | |
| --config 3B \ | |
| --data-dir data/distillation \ | |
| --tokenizer data/tokenizer/code_bpe.model \ | |
| --epochs 10 \ | |
| --no-wandb \ | |
| > training.log 2>&1 & | |
| # Monitorear | |
| tail -f training.log | |
| nvidia-smi -l 5 # GPU cada 5 segundos | |
| ``` | |
| ## Configuraciones | |
| | Config | Params | VRAM | GPU recomendada | | |
| |--------|--------|------|-----------------| | |
| | 1.5B | ~230M | 8GB | RTX 3090, A10 | | |
| | 3B | ~3B | 24GB | A40, A100 | | |
| ### Ajustar config | |
| ```python | |
| # cloud/runpod/config_3b.py | |
| @dataclass | |
| class Config3B: | |
| vocab_size: int = 32000 | |
| dim: int = 2560 | |
| n_heads: int = 20 | |
| n_capas: int = 32 | |
| max_seq_len: int = 2048 | |
| batch_size: int = 4 | |
| gradient_accumulation: int = 16 | |
| ``` | |
| ## Troubleshooting | |
| ### OOM en GPU | |
| 1. Reducir `batch_size` | |
| 2. Reducir `max_seq_len` | |
| 3. Activar `use_gradient_checkpointing = True` | |
| ### OOM en RAM (sistema) | |
| 1. Usar streaming dataset | |
| 2. Reducir workers de DataLoader | |
| 3. Modelo se carga en CPU antes de GPU - reducir tamaño | |
| ### Tokens fuera de rango | |
| - Asegurar `vocab_size` en config == tokenizer.GetPieceSize() | |
| - Típico: tokenizer tiene 32K, config dice 16K → error | |
| ## Checkpoints | |
| ```bash | |
| # Ubicación | |
| /workspace/PAMPAr-Coder/checkpoints/ | |
| ├── best_model.pt # Mejor val_loss | |
| ├── epoch_N.pt # Por epoch | |
| └── step_XXXX.pt # Por steps | |
| # Descargar a local | |
| scp -P PORT root@IP:/workspace/PAMPAr-Coder/checkpoints/best_model.pt ./ | |
| ``` | |
| ## Costos estimados | |
| | GPU | $/hora | 10 epochs (20K samples) | | |
| |-----|--------|------------------------| | |
| | A10 | $0.30 | ~$0.60 | | |
| | A40 | $0.40 | ~$0.80 | | |
| | A100 | $1.50 | ~$3.00 | | |