Views
No views yet
🔧 Code & reproduction complète (scripts, RUNBOOK,reproduce.sh, conversations) : https://github.com/AlexandreFenyo/MonEspaceSante-H100-reproduction
fenyo/H100-Qwen3-14B-MonEspaceSante-CPTQwen/Qwen3-14B-Basefenyo/gpt-oss-20b-FAQ-MES (SFT direct de openai/gpt-oss-20b)| Modèle | Méthode | Held-out 704 (strict) | Held-out 704 (indulgent) | Hallucination OOD |
|---|---|---|---|---|
| Ce modèle (CPT+SFT) | CPT synthétique + SFT | 63,8% | 80,3% | 12% |
gpt-oss-20b-FAQ-MES | SFT direct (20B) | 42,5% | 67,8% | 60% |
| SFT direct (notre ablation, Qwen3-14B) | SFT direct, sans CPT | 37,2% | 61,1% | 56% |
Le CPT préalable fait passer la précision closed-book de 37,2 % → 63,8% (strict) sur 704 questions held-out jamais vues, là où le SFT seul plafonne (le modèle « bluffe » les détails).
| Rôle | Dataset | Contenu |
|---|---|---|
| Vérité de base | fenyo/MonEspaceSante-FAQ-QA | 88 faits real (source unique, ~15 400 tokens) + 496 reformulations |
| Corpus CPT | fenyo/H100-MonEspaceSante-CPT-corpus | ~3,87 M tokens synthétiques distincts (EntiGraph + Nemotron-CC FR), décontaminés |
| Données SFT | fenyo/H100-MonEspaceSante-SFT | 428 Q/R domaine + 120 refus hors-périmètre |
| Éval / jugement | fenyo/H100-MonEspaceSante-eval | 704 held-out gelées + validation 30 + OOD 25 + oubli 30 |
VLLM_USE_DEEP_GEMM=0 ; thinking désactivé via
chat_template_kwargs.enable_thinking=False), piloté par NVIDIA NeMo Curator.[Mon espace santé] ; filtre qualité + déduplication (shingles n-grammes).Qwen/Qwen3-14B-Base, tous les poids entraînés.paged_adamw_8bit (sans DeepSpeed — ZeRO-3 CPU-offload provoquait un
OOM CPU ; le paged 8-bit tient en ~81 Go GPU paginé + ~25 Go RAM).fenyo/H100-Qwen3-14B-MonEspaceSante-CPT.MonEspaceSante-SFT (428 Q/R domaine + 120 refus).Question : {q}\nRéponse : {a} ; loss sur la réponse uniquement (prompt masqué).paged_adamw_8bit.1prompt = f"Question : {question}\nRéponse :" # aucune donnée de contexte fournie
2# greedy (temperature=0), stop sur "\nQuestion :"| Tokens synth. distincts | Held-out strict | Held-out indulgent | Validation strict | Validation indulgent |
|---|---|---|---|---|
| 0 (baseline SFT direct) | 37,2% | 61,1% | 43,3% | 53,3% |
| 478 k | 44,0% | 67,3% | 46,7% | 70,0% |
| 1,95 M | 52,6% | 72,7% | 63,3% | 80,0% |
| 3,87 M | 60,7% | 79,3% | 56,7% | 76,7% |
| 3,87 M × 2 exposition (probe plateau) | 65,1% | 81,5% | 56,7% | 70,0% |
gpt-oss-20b-FAQ-MES (même jeu de test, même juge)| Métrique (closed-book) | Ce modèle (CPT+SFT, 14B) | gpt-oss-20b-FAQ-MES (SFT, 20B) |
|---|---|---|
| Held-out 704 — strict | 63,8% | 42,5% |
| Held-out 704 — indulgent | 80,3% | 67,8% |
| Validation 30 — strict | 56,7% | 46,7% |
| Validation 30 — indulgent | 70,0% | 70,0% |
| Hallucination hors-domaine | 12% | 60% |
| Oubli (culture générale FR) | 100% correct | 96,7% correct |
gpt-oss-20b-FAQ-MES a été évalué via transformers (implémentation de référence) et non vLLM 0.22, dont le kernel MoE produisait des sorties incohérentes pour cette architecture (gpt_oss). Mêmes 704 questions held-out, même juge Qwen3-32B, même barème.gpt-oss-20b-FAQ-MES (20B) sur le
held-out (63,8% vs 42,5% strict), illustrant qu'injecter la
connaissance dans les poids (CPT) > la montrer en SFT.