Passe de 95/3/2 (lookups/raisonnement/règles) à ~31/49/20. Dataset cible ~16K exemples denses (vs 66K de lookups avant). Modifiés : - 03_convert_cache.py : cache complet 1840 entrées (actuel + backup) - 04_build_dataset.py : subsampling agressif (CIM-10 1.5K, CCAM 1.5K, CoCoA 2K) + sélection intelligente priorisant le raisonnement - 12_generate_pipeline_examples.py : 3 templates (court + long + CPAM), cache actuel, cible ~2800 exemples Créés : - 13_generate_fascicule_reasoning.py : parsing 10 fascicules ATIH, génération Q&A raisonnement via Claude Opus 4.6 (~450 exemples) - 14_generate_negative_examples.py : 1000 exemples négatifs (symptômes/DP, redondances sémantiques, DAS non significatifs) - 15_generate_discrimination.py : 800 exercices de discrimination entre codes siblings CIM-10 via Claude Opus 4.6 - 16_parse_guide_metho.py : extraction Guide Méthodologique MCO 2026, Q&A directes + raisonnement via Claude Opus 4.6 (~500 exemples) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
65 lines
1.6 KiB
Markdown
65 lines
1.6 KiB
Markdown
# 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€ |
|