Découvrez Qscore, la plateforme opensource développée pour les concours de Datascience par Zelros

Découvrez Qscore, la plateforme opensource développée pour les concours de Datascience par Zelros
Actu IA
Qscore

Qscore est une plateforme opensource dédiée aux concours de Datascience. Elle a été développée par la startup Zelros, qui révolutionne l’usage de l’Intelligence Artificielle chez les Assureurs et a récemment remporté le prix de la startup IA de l’année, par l’argus de l’Assurance.

Cette plateforme est utilisée pour des concours internationaux comme le Data Science Game et le Meilleur Datascientist de France organisé par FrenchData, ainsi que des challenges internes d’entreprise.

Fabien Vauchelles, concepteur de QScore et co-fondateur de la startup Zelros, nous a présenté la plateforme et expliqué son usage pour les concours de Data Science.

Comment est née la plateforme Qscore ? 

L’idée est apparue en 2016 pendant le Meilleur Datascientist de France. A l’époque, nous avions mis un point d’honneur à assurer sur la logistique : le wifi et l’électricité ne devaient pas tomber (la crainte majeure dans ce type d’évènement est une panne dans les dernières minutes). Mais nous avions négligé un aspect : les plateformes de Data Science en ligne ne sont pas adaptées à des concours en format court (2h).

Pendant la dernière minute, les participants envoient plus de 300 soumissions ! Malheureusement, la plateforme n’a pas tenu la charge et nous avons demandé aux participants d’envoyer leur solution par email

Pour l’édition suivante, nous devions avoir une plateforme qui passe à l’échelle (scalable). Et 10 semaines avant l’édition 2018 du Meilleur Datascientist de France, nous avons commencé le développement de notre plateforme. Nous avons choisi la même stack technique que chez Zelros : Python / Node.js / Angular / Postgres / RabbitMQ. Qscore était née !

Quelles sont les fonctionnalités de la plateforme ?

QScore propose les fonctionnalités classiques d’un concours de Data Science : la création d’un challenge de Data Science, la consultation des soumissions, la gestion des utilisateurs, l’acceptation d’un accord de confidentialité par chaque participant, etc. Sa particularité est d’être performante sur les concours en format court.

  • Scalabilité

C’est la fonctionnalité la plus critique et la plus complexe à réaliser ! Comment s’assurer que la plateforme ne s’écroulera pas en conditions réelles, sans avoir la possibilité de la tester en amont ? (grand moment de solitude)

Après plusieurs tests d’architecture, nous avons choisi une solution distribuée avec un HAProxy et de la répartition de charge sur RabbitMQ (une architecture assez proche de celle utilisée chez Zelros). Pour tester la charge, nous avons bombardé le serveur avec Artillery.io. Aujourd’hui, QScore est capable de gérer plusieurs milliers de soumissions à la minute !

  • Leaderboard en temps réel

Une composant essentielle d’un concours en format court est un leaderboard en temps réel. Cet affichage en grand écran donne du peps à la compétition en créant des échappés entre les participants !

image3

QScore propose un leaderboard personnalisable avec un jeu d’animations : un décompte se met en place dans les dernières minutes.

  • Bonus: Publication à partir du notebook

Pour gagner du temps, QScore donne la possibilité aux participants de publier leur solution directement à partir d’un Notebook Python. Pas besoin de créer un fichier et de le transférer manuellement. La soumission est automatiquement envoyée à partir du Notebook.

image10

Qui peut utiliser la plateforme ?

QScore est disponible gratuitement sur http://qscore.io. Nous l’avons publiée en opensource (licence Apache 2). Aujourd’hui, Qscore est utilisée pour des concours internationaux ainsi que par des entreprises pour des concours internes. Elle s’installe sous tout type d’environnement grâce à Docker. Vous pouvez aussi l’installer chez vous !