# CamemBERT-bio-deid v3 — Specifications techniques ## Modele de base - **Architecture** : CamemBERT (RoBERTa-based), Token Classification - **Modele pre-entraine** : `almanach/camembert-bio-base` (LORIA/INRIA) - **Parametres** : ~110M (12 couches, 768 hidden, 12 attention heads) - **Vocabulaire** : 32 005 tokens (SentencePiece BPE) - **Specialisation pre-entrainement** : corpus biomedical francais (PubMed, theses, litterature clinique) ## Fine-tuning | Parametre | Valeur | |-----------|--------| | Documents d'entrainement | 1 112 documents cliniques (CR hospitalisation, Trackare, CRO, lettres de sortie) | | Exemples totaux | 198 260 (52 121 originaux + 145 539 augmentes + 600 hard negatives) | | Augmentation de donnees | Substitution de noms par gazetteer INSEE (219K patronymes) | | Hard negatives | Medicaments BDPM + termes QUAERO (CHEM, DISO, PROC, ANAT) | | Epochs | 20 | | Batch size effectif | 16 (GPU batch=8 x gradient accumulation=2) | | Learning rate | 1x10-5 | | Max sequence length | 512 tokens | | Optimizer | AdamW | | GPU | NVIDIA GeForce RTX 5070 (12 Go VRAM) | | Duree d'entrainement | ~14h15 | | Framework | HuggingFace Transformers 4.42, PyTorch | ## Annotations d'entrainement (Silver) - **Methode** : alignement diff entre texte original et texte pseudonymise par le pipeline multi-moteurs (EDS-Pseudo + GLiNER + regex + gazetteers) - **Format** : BIO (Beginning-Inside-Outside) - **Source** : documents T2A CHCB 2023, dossiers de justificatifs - **Pas de validation humaine** (silver, non gold) ## Categories NER (14 types, 29 labels BIO) | Categorie | Description | |-----------|-------------| | PER | Noms de personnes (patients, soignants) | | DATE_NAISSANCE | Dates de naissance | | ADRESSE | Adresses postales | | ZIP | Codes postaux | | VILLE | Villes, lieux de naissance | | HOPITAL | Etablissements de sante | | TEL | Numeros de telephone | | EMAIL | Adresses email | | NIR | Numeros de securite sociale | | IPP | Identifiants Patient Permanent | | NDA | Numeros de Dossier Administratif | | RPPS | Numeros RPPS (professionnels de sante) | | IBAN | Coordonnees bancaires | | AGE | Ages | ## Performances (sur jeu de validation, 20% des donnees) | Metrique | v2 (29 docs) | v3 (1 112 docs) | |----------|:---:|:---:| | **F1-score** | 0.903 | **0.963** | | **Recall** | 0.930 | **0.970** | | **Precision** | 0.877 | **0.957** | ## Inference (production) | Parametre | Valeur | |-----------|--------| | Format | ONNX Runtime | | Taille du modele | 421 Mo | | Runtime | ONNX Runtime CPU (CPUExecutionProvider) | | Latence | ~10-20 ms / 512 tokens | | Threads | 2 inter-op, 4 intra-op | | Fenetre glissante | 400 tokens, stride 200 (textes longs) | | Seuil de confiance | 0.5 (prediction), 0.3 (vote croise EDS-Pseudo) | | Materiel cible | PC standard, CPU uniquement (pas de GPU requis) | ## Role dans le pipeline CamemBERT-bio-deid v3 est le **3eme moteur NER** du pipeline d'anonymisation, utilise en **vote croise** avec EDS-Pseudo (moteur principal) et GLiNER (zero-shot). Il confirme ou infirme les detections d'EDS-Pseudo pour reduire les faux positifs sans sacrifier le recall. Il n'opere jamais seul — c'est un signal de validation.