Definizione
AI Testing and Evaluation è l’insieme sistematico di metodologie, framework, e strumenti per valutare come i sistemi di IA (specialmente ML e generative models) si comportano rispetto ai requisiti funzionali, non-funzionali, e etici. A differenza del software tradizionale, il testing di IA affronta la natura probabilistica, non-deterministica, dei modelli.
Non basta dire “il modello ha 95% accuracy”; devi capire: accuracy su quali dati? In quali condizioni fallisce? Come si comporta su sottogruppi? Qual è il latency? E’ fair?
Dimensioni di Testing
Functional Testing: il modello produce output corretto per input standard?
Robustness Testing: come cambia output con piccole perturbazioni dell’input? È stabile o fragile?
Bias and Fairness Testing: il modello tratta equamente diversi gruppi? Ci sono disparate impact?
Performance Testing: latency, memoria, throughput sotto carico realistico?
Security Testing: è il modello vulnerabile ad adversarial examples? A prompt injection? A model inversion attacks?
Regression Testing: quando aggiorniamo il modello, nuovi bug compaiono? Performance degradano?
Metodologie di Testing
Unit Testing per Pipeline ML: testare componenti individuali (data loader, preprocessor, feature extractor, model) isolatamente. Esempio: verifica data loader produce batch della giusta forma e tipo.
Integration Testing: componenti interagiscono correttamente? Pipeline end-to-end funziona?
Differential Testing: eseguire stesso input su versioni diverse del modello (old vs new, competitor model) e confrontare output. Divergenza segnala problema.
Behavioral Testing: testare specific behaviors rilevanti al dominio. Esempio medicina: il modello produce diagnosis coerente per stessi sintomi riformulati diversamente?
Adversarial Testing: creare input malintenzionati (adversarial examples) per testare robustezza. Esempio: immagine di gatto con piccola perturbazione imperceivibile che fa il modello predire “cane”.
Metamorphic Testing: creare test cases con proprietà metamorfiche. Esempio: se aggiungi rumore bianco leggero all’immagine, la classificazione non dovrebbe cambiare.
Test Metrics e KPIs
Accuracy: percentuale di predizioni corrette. Ma insufficiente da solo—può nascondere problemi di bias.
Precision e Recall: precision: di predicted positive, quanti sono veramente positivi? Recall: di tutti i truly positive, quanti abbiamo trovato? Trade-off tra questi è critico per molti domini.
F1 Score: media armonica di precision e recall. Utile quando precision e recall sono entrambi importanti.
AUC-ROC: area under Receiver Operating Characteristic curve. Buono per classificatori binari e imbalanced datasets.
Latency e Throughput: tempo per predizione singola, numero di predizioni per secondo.
Model Fairness Metrics: disparate impact ratio, demographic parity, equalized odds—metriche che catturano fairness su sottogruppi.
Sfide di Testing
Non-Determinismo: il modello non è deterministico; stesso input può produrre output leggermente diversi. Come testiamo quando non sappiamo output esatto?
Oracle Problem: per alcuni compiti (e.g., traduzioni creative), non esiste “output corretto” univoco. Come verifichiamo correctness?
Data Leakage: train/validation split non perfetto causa falsely optimistic evaluation. Data leakage è il killer di evaluation.
Distribution Shift: modello perfetto su training data fallisce su production data molto diverso. Testare su rappresentazione fedele di production distribution è cruciale ma difficile.
Curse of High Dimensionality: hard da testare comprehensively modelli con milioni di parametri e input spazi vasti.
Best Practices
- Testare su dati representativi di production, non solo idealized test set
- Usare multiple metriche, non singolo “accuracy”
- Automatizzare testing; non manual—è error-prone
- Testare edge case, rare conditions, distribuzioni anomale
- Monitoring continuo in produzione; pre-deployment testing insufficiente
- Documentare test results e failure modes
- Includer human evaluation per compiti dove judgment umano è importante
Termini correlati
- Model Behavior Evaluation: aspetto comportamentale del testing
- Quality Assurance AI: implementazione in produzione
- Red Teaming: testing adversariale
- AI Metrics Evaluation: metriche di business impact
Fonti
- “Machine Learning Testing: Survey, Landscapes and Horizons” - research paper
- “Testing and Debugging in Machine Learning” - Chris Olah, OpenAI
- Hugging Face: Model evaluation documentation