feat: rééquilibrage dataset LoRA — raisonnement DIM vs mémorisation

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>
This commit is contained in:
dom
2026-02-16 19:42:33 +01:00
commit 06100df236
21 changed files with 6106 additions and 0 deletions

27
runpod/setup.sh Executable file
View File

@@ -0,0 +1,27 @@
#!/bin/bash
# Setup RunPod pour fine-tuning pmsi-coder
# Usage : bash setup.sh
set -e
echo "=== Setup fine-tuning PMSI-coder sur RunPod ==="
# Installer Unsloth + dépendances
pip install --no-deps "unsloth[cu124-ampere-torch250] @ git+https://github.com/unslothai/unsloth.git"
pip install --no-deps unsloth_zoo
pip install trl datasets peft accelerate bitsandbytes sentencepiece protobuf
# Wandb optionnel
pip install wandb 2>/dev/null || echo "wandb non installé (optionnel)"
echo ""
echo "=== Setup terminé ==="
echo ""
echo "Vérifiez que les fichiers data/ sont présents :"
ls -lh data/pmsi_train.jsonl data/pmsi_eval.jsonl 2>/dev/null || echo " MANQUANT ! Uploadez les datasets."
echo ""
echo "Pour lancer :"
echo " python train_runpod.py --epochs 3 --export-gguf"
echo ""
echo "Estimation A100 40GB : ~2-3h pour 3 epochs"
echo "Estimation A100 80GB : ~1.5-2h pour 3 epochs"