# Fine-tuning pmsi-coder sur RunPod

## 1. Créer un pod

- **Template** : RunPod PyTorch 2.4+ (CUDA 12.x)
- **GPU recommandé** : A100 40GB (~1.50€/h) ou A100 80GB (~2.50€/h)
- **Disk** : 50 Go minimum (modèle 12B + dataset + GGUF)
- **Volume persistant** : optionnel, utile si on veut garder les checkpoints

## 2. Upload des fichiers

```bash
# Depuis la machine locale
rsync -avz --progress \
  runpod/ \
  root@RUNPOD_IP:/workspace/t2a-finetune/

# Ou via l'interface web RunPod (Jupyter → upload)
```

Les fichiers nécessaires :
- `train_runpod.py` — script d'entraînement
- `setup.sh` — installation des dépendances
- `data/pmsi_train.jsonl` — dataset train (38 Mo)
- `data/pmsi_eval.jsonl` — dataset eval (4.2 Mo)

## 3. Setup

```bash
cd /workspace/t2a-finetune
bash setup.sh
```

## 4. Lancer l'entraînement

```bash
python train_runpod.py --epochs 3 --export-gguf
```

Options :
- `--max-seq-length 2048` (défaut, vs 512 en local)
- `--batch 0` (auto-detect selon VRAM, défaut)
- `--lr 2e-4` (learning rate)
- `--lora-r 32` (rang LoRA)
- `--export-gguf` (produire le .gguf pour Ollama)

## 5. Récupérer le GGUF

```bash
# Sur la machine locale
scp root@RUNPOD_IP:/workspace/t2a-finetune/models/pmsi-gguf/*.gguf .
scp root@RUNPOD_IP:/workspace/t2a-finetune/models/pmsi-gguf/Modelfile .

# Importer dans Ollama
ollama create pmsi-coder -f Modelfile
```

## Estimations

| GPU | Batch | Temps 3 epochs | Coût |
|-----|-------|----------------|------|
| A100 40GB | 4 | ~2-3h | ~4-5€ |
| A100 80GB | 8 | ~1.5-2h | ~4-5€ |
| H100 80GB | 8 | ~1-1.5h | ~4-5€ |
