Un modello BERT pre-addestrato sugli abstract di PubMed non è il punto di partenza migliore per leggere una lettera di dimissione: la letteratura scientifica e le note di reparto hanno distribuzioni lessicali e sintattiche diverse, e quella differenza si vede nelle metriche dei task a valle. Per questo, fra il 2019 e il 2022, gli encoder biomedici si sono ramificati in più linee invece di convergere su un modello unico.

Contesto

BERT (Bidirectional Encoder Representations from Transformers), pubblicato da Devlin et al. nel 2018, definisce uno schema in due fasi: pre-training auto-supervisionato su testo non etichettato tramite masked language modeling, poi fine-tuning supervisionato su un task specifico. BERT-base si pre-addestra su Wikipedia inglese e BookCorpus, testo generalista. Per il dominio biomedico è un limite concreto: termini come levothyroxine, BRCA1 o dyspnoea ricorrono di rado nel corpus generale, e il tokenizer WordPiece li spezza in tanti sub-token, perdendo la struttura morfologica che li rende informativi.

La comunità di NLP (natural language processing) biomedico non ha risposto con un modello solo. Tre scelte di pre-training, distinte e in parte alternative, fissano il quadro al 2022.

Tre strategie di pre-training

BioBERT (Lee et al., Bioinformatics 36(4), 2020) parte dai pesi di BERT-base e prosegue il pre-training su 4,5 miliardi di parole di abstract PubMed e 13,5 miliardi di parole di full-text PMC (PubMed Central). Il punto è che eredita il vocabolario WordPiece originale di BERT: il modello vede testo biomedico ma continua a tokenizzare con un vocabolario tarato su testo generico. Sui benchmark di named entity recognition (NER) biomedico — NCBI Disease, BC5CDR, malattie e composti chimici — BioBERT guadagna qualche punto F1 su BERT-base, con miglioramenti anche su relation extraction e su question answering BioASQ. I pesi escono sotto licenza Apache 2.0; la variante più usata è dmis-lab/biobert-base-cased-v1.1, dove la versione cased conserva le maiuscole: CD4 e cd4 non sono la stessa cosa.

ClinicalBERT (Alsentzer et al., Clinical NLP Workshop, NAACL 2019) parte invece da BioBERT e prosegue il pre-training su MIMIC-III, il dataset pubblico di note di terapia intensiva del Beth Israel Deaconess Medical Center. Qui cambia il registro: il testo clinico è telegrafico, fitto di abbreviazioni locali (pt, s/p, c/o), spesso senza sintassi completa. Il modello che ne risulta, distribuito come emilyalsentzer/Bio_ClinicalBERT, va meglio sui task costruiti su note di reparto (le challenge i2b2/n2c2) di un encoder addestrato solo sulla letteratura.

PubMedBERT (Gu et al., 2020; poi ACM Transactions on Computing for Healthcare, 2021) ribalta una convinzione diffusa. Invece di proseguire il pre-training da BERT, addestra from scratch su PubMed e — qui sta il punto — costruisce il vocabolario WordPiece direttamente dal corpus biomedico. Il modello vede 14 milioni di abstract (circa 3 miliardi di parole, 21 GB) e tokenizza i termini medici in modo più compatto. Lo stesso lavoro introduce BLURB (Biomedical Language Understanding and Reasoning Benchmark), che aggrega NER, PICO extraction, relation extraction, similarità di frasi, classificazione e QA. Su BLURB, PubMedBERT batte BioBERT nella maggior parte dei task. La distribuzione è sotto licenza MIT.

Il punto critico: vocabolario e provenienza del corpus

Le tre scelte isolano due variabili indipendenti. La prima è la provenienza del corpus: letteratura (PubMed/PMC) oppure note cliniche (MIMIC). La seconda è il vocabolario di tokenizzazione: ereditato da BERT generico oppure ricostruito dal dominio.

BioBERT cambia solo il corpus e tiene il vocabolario generico. PubMedBERT cambia tutti e due. ClinicalBERT cambia ancora il corpus (verso il clinico) ma eredita il vocabolario da BioBERT. Il risultato di Gu et al. — ricostruire il vocabolario dal corpus produce guadagni misurabili su un benchmark omogeneo — isola l’effetto della tokenizzazione sulle prestazioni. Un termine come lymphangioleiomyomatosis, che un vocabolario generico frammenta in molti pezzi, diventa una sequenza più corta e coerente con un vocabolario PubMed.

Per questo non esiste un singolo encoder dominante: la scelta dipende dal task. Per il NER su abstract scientifici, PubMedBERT è un riferimento solido. Per de-identificazione o coding su lettere di dimissione, va meglio un modello esposto a testo clinico reale come ClinicalBERT. La provenienza del testo di valutazione deve corrispondere a quella del testo di pre-training.

La scala come variabile separata

Una linea a parte misura cosa cambia con la dimensione. GatorTron (Yang et al., medRxiv/arXiv 2203.03540, febbraio-marzo 2022, University of Florida con NVIDIA) addestra from scratch su oltre 90 miliardi di parole, di cui più di 82 miliardi da note cliniche de-identificate di UF Health, più letteratura e testo generico. Rilascia tre varianti: 345 milioni, 3,9 miliardi e 8,9 miliardi di parametri, contro i ~110 milioni di BERT-base. I modelli fino a 3,9 miliardi sono pubblicati sul catalogo NGC di NVIDIA.

GatorTron mostra che, tenuta ferma l’architettura encoder, più parametri e più corpus migliorano cinque task di NLP clinico. È un risultato sulla scala, ortogonale alla scelta corpus/vocabolario di prima: cambia l’ordine di grandezza delle risorse, non la natura del modello, che resta un encoder-only transformer e produce rappresentazioni contestuali.

Infrastruttura

Tutti questi modelli condividono un punto d’accesso: la libreria Hugging Face Transformers e l’Hub omonimo. Caricare un encoder biomedico è uniforme:

from transformers import AutoTokenizer, AutoModel
tok = AutoTokenizer.from_pretrained("dmis-lab/biobert-base-cased-v1.1")
model = AutoModel.from_pretrained("dmis-lab/biobert-base-cased-v1.1")

Cambiare l’identificatore in emilyalsentzer/Bio_ClinicalBERT o nella variante PubMedBERT cambia il modello senza toccare il resto della pipeline. È questa uniformità d’interfaccia a rendere confrontabili le scelte di pre-training: stessa testa di classificazione, stesso loop di fine-tuning, encoder diversi.

Limiti

A giugno 2022 i vincoli sono espliciti.

La lingua: quasi tutti questi modelli sono addestrati sull’inglese. Per il testo clinico italiano non c’è un encoder pre-addestrato di riferimento con la stessa maturità; l’applicazione richiede o la traduzione, o un pre-training su corpora italiani che non sono ancora ampiamente disponibili.

La lunghezza di contesto: 512 token nelle varianti base. Una lettera di dimissione completa supera spesso questo limite, e costringe a segmentare e a perdere le dipendenze a lungo raggio. Architetture come Longformer o BigBird allargano la finestra ma non sono ancora lo standard nel dominio clinico.

Il ragionamento: un encoder produce rappresentazioni e classificazioni, non catene inferenziali. I task che chiedono di concatenare più fatti restano fuori da questo schema.

L’uso regolato: integrare uno di questi modelli in un dispositivo medico software richiede qualifica secondo IEC 62304, gestione del rischio e validazione clinica. La disponibilità sotto Apache 2.0 o MIT abilita la sperimentazione, non la messa in produzione clinica senza il percorso di conformità.

Il primo riferimento da fissare resta la corrispondenza fra corpus di pre-training e dominio di applicazione: è la variabile che, prima della scala e prima del fine-tuning, decide se un encoder biomedico è il punto di partenza giusto.


https://academic.oup.com/bioinformatics/article/36/4/1234/5566506 https://github.com/dmis-lab/biobert https://arxiv.org/abs/1904.03323 https://huggingface.co/emilyalsentzer/Bio_ClinicalBERT https://arxiv.org/abs/2007.15779 https://arxiv.org/abs/2203.03540 https://huggingface.co/docs/transformers/index https://www.noze.it/insights/biobert-clinical-pubmed-transformers/

Immagine di copertina: Diagramma a blocchi dell’architettura del modello Transformer: colonna encoder a sinistra e colonna decoder a destra, con strati di… — diagramma di Yuening Jia, CC BY-SA 3.0 — https://commons.wikimedia.org/wiki/File:The-Transformer-model-architecture.png