Retour à la programmation
mardi 23 mai
de 11:40 à 12:25

Évaluer un logiciel avec un test d'exactitude

Les systèmes d'information traditionnels sont généralement évalués bien différemment des systèmes d'apprentissage basés sur l'apprentissage automatique. Le comportement des premiers est décrit par un ensemble de tests d'acceptation qui spécifient les différents cas que peuvent rencontrer le système et le comportement attendu pour chacun. Le logiciel est considéré comme conforme s'il produit le comportement attendu pour chaque cas de test. Cette évaluation binaire a l'avantage d'indiquer très clairement si un système est près pour être mis en production ou non.

Les systèmes d'apprentissage ne peuvent pas être évalués de la même façon. Les ensembles de test réservés pour l'évaluation ressemblent, en surface, aux tests d'acceptation, mais ils diffèrent de deux manières cruciales : ils ne sont pas soigneusement choisis pour représenter l'ensemble des cas possibles et on ne s'attend pas à ce que le système obtienne une performance parfaite. L'art de déployer en production un système de ML consiste à caractériser le plus précisément possible les modes d'erreur du système et d'en quantifier l'impact sur l'entreprise.

Durant ma pratique, j'ai réalisé que les compétences que j'ai développées pour évaluer les systèmes d'apprentissage peuvent parfois être utiles pour évaluer des systèmes traditionnels. En abandonnant la politique du risque 0 qui caractérise les tests d'acceptation et en adoptant celle du risque calculé et contrôlé qui caractérise l'évaluation des systèmes d'apprentissage, de nouvelles fonctionnalités et cas d'utilisation peuvent être envisagés, notamment dans des situations où le manque de données d'entraînement empêche l'utilisation de techniques d'apprentissage automatique à proprement parler.

Dans cette conférence, je propose de développer ces concepts et d'explorer différentes situation où je les ai mis en pratique.

Développement
Conférence

Dominique PothierExpert en intelligence artificielleBaseline

Fraîchement diplômé de génie logiciel, Dominique commence sa carrière en développement logiciel en 2015. Durant cette période, il s'intéresse à l'architecture logicielle et aux pratiques de développement qui favorisent l'agilité, la fiabilité et la testabilité. En 2017, il surf sur la vague de l'intelligence artificielle et commence une maîtrise en apprentissage profond. Durant ses études, il réalise que les systèmes d'apprentissage sont mal supportés par les pratiques logicielles traditionnelles. Il s'intéresse alors au MLOps, l'adaptation des principes DevOps aux besoins spécifiques des systèmes d'apprentissage. En 2019, il fait partie des membres fondateurs de Baseline, une entreprise coopérative de consultation numérique spécialisée en intelligence artificielle. Pour mieux supporter ses clients dans leur cheminement vers l'IA, il y développe ses compétences en planification stratégique. Aujourd'hui, il aide ses clients à planifier et à exécuter une transformation numérique capable de supporter leurs ambitions en IA.