Au troisième trimestre 2023, un changement apparemment mineur dans le pipeline d'ingénierie des fonctionnalités de notre modèle de détection de fraude - en particulier, une nouvelle technique de normalisation - a entraîné une augmentation de 17% des faux positifs lors des tests A / B. Ce n'était pas un problème de précision du modèle; La nouvelle normalisation a amélioré les mesures hors ligne. Le problème provenait d'une interaction subtile avec les flux de données en temps réel, provoquant un biais de fonctionnalités dans la production. Cet incident a souligné le besoin critique de cadres de test A / B robustes et instrumentés qui vont au-delà de la simple comparaison métrique. Les tests A / B avec Python ne consistent pas simplement à comparer les performances du modèle; Il s'agit d'un composant fondamental du cycle de vie du système d'apprentissage automatique, de l'ingestion de données et de l'ingénierie des fonctionnalités au déploiement, à la surveillance et à la dépréciation éventuelle. Il est inextricablement lié aux pratiques MOLPS modernes, aux exigences de conformité (par exemple, l'équité, l'explication) et les exigences d'une inférence évolutive et à faible latence.
Du point de vue des systèmes, les tests A / B avec Python sont l'exécution parallèle contrôlée de plusieurs versions (ou configurations) de modèle dans un environnement de production, avec un trafic alloué dynamiquement en fonction des règles prédéfinies. Il ne s'agit pas seulement du code Python qui implémente le test; Il s'agit de toute l'infrastructure qui le soutient. Cela comprend l'intégration avec MLFlow pour le versioning modèle, le flux d'air ou des outils d'orchestration similaires pour la planification des expériences et la gestion des pipelines de données, Ray ou Dask pour un calcul distribué pendant l'ingénierie des fonctionnalités, Kubernetes pour le dépl...
[Courte citation de 8% de l'article original]