Réseaux de neurones distillés pour un apprentissage efficace du tri

Des études récentes en apprentissage par classement (Learning to Rank) ont démontré la possibilité de distiller efficacement un réseau neuronal à partir d’un ensemble d’arbres de régression. Ce résultat place les réseaux neuronaux en position de concurrent naturelle des ensembles d’arbres pour la tâche de classement. Toutefois, les ensembles d’arbres de régression surpassent encore les modèles neuronaux en termes d’efficacité et d’efficacité, en particulier lors du scoring sur CPU. Dans cet article, nous proposons une approche visant à accélérer le temps de scoring des réseaux neuronaux en combinant la distillation, la suppression de poids (pruning) et une multiplication matricielle rapide. Nous utilisons la distillation de connaissances pour apprendre des réseaux neuronaux légers à partir d’un ensemble d’arbres de régression. Ensuite, nous exploitons une technique de pruning orientée vers l’efficacité, qui permet de rendre creux les couches les plus coûteuses en calcul du réseau neuronal, puis de les évaluer à l’aide d’une multiplication matricielle creuse optimisée. En outre, en étudiant à la fois les multiplications matricielles denses et creuses haute performance, nous avons développé un modèle de prédiction du temps de scoring, qui permet de concevoir des architectures de réseaux neuronaux adaptées aux exigences d’efficacité souhaitées. Des expériences approfondies menées sur deux jeux de données publics d’apprentissage par classement montrent que les réseaux neuronaux générés par notre méthode novatrice sont compétitifs à tout point du compromis efficacité-performance par rapport aux ensembles d’arbres, tout en offrant jusqu’à un gain de vitesse de 4 fois dans le temps de scoring sans compromettre la qualité du classement.