Yandex a lancé CatBoost le 18 juillet 2017, une nouvelle bibliothèque open source de machine learning déjà utilisée dans de nombreux services de la firme. CatBoost a pour vocation de remplacer l'ancienne technologie créée en 2009, Matrixnet (ou Matriksnet), grâce à ses performances meilleures à tout point de vue.
Matrixnet utilise toutes les technologies d'intelligence artificielle connues à ce jour, à savoir des réseaux de neurones et les combinaisons de vecteurs sémantiques pour améliorer la pertinence des recherches. La technologie ayant été créée et utilisée dans le moteur de recherche russe depuis 2009, il est important de rappeler qu'elle a précédé RankBrain de Google. Certes, il ne faut pas les comparer et Google utilisait déjà d'autres méthodes auparavant, mais cela démontre que Yandex est rarement en retard sur le plan technologique, et ce n'est pas la première fois que c'est prouvé...
CatBoost reprend les mêmes bases mais en améliorant considérablement le champ des possibles offert par Matrixnet. Tout est plus rapide, et surtout, CatBoost est bien plus précis dans la classification des données. Je ne suis pas expert en intelligence artificielle car mon cerveau n'en a pas la capacité, mais si j'ai bien tout compris, l'autre force de CatBoost est de pouvoir récupérer toute sorte de données sans forcément les traduire sous forme numérique. Cela permet à la technologie de Yandex d'accepter des données similaires de manière quasi infinies, et non déterminées par avance en "nombre". Yandex cite l'exemple des genres musicaux, qui pourraient être fixer numériquement au préalable afin de caser les données dans telle ou telle catégorie. Cela se faisait ainsi avec les premières versions de Matriksnet, mais avec CatBoost, aucun genre musical n'est prédéfini, il prend les données telles qu'elles sont et les classifie automatiquement, sans conversion sous forme numérique. C'est donc efficace, plus vaste et plus rapide !
Yandex utilise cette technologie mais a tout de même voulu la partager librement, c'est pourquoi la bibliothèque est distribuée en open source sur GitHub ou sur un site dédié. Une documentation complète est fournie mais sachez que la technologie n'est disponible qu'en R, en Python ou en ligne de commande. Encore une fois, on notera que Python, ce langage jadis rabaissé, revit grâce au progrès de l'intelligence artificielle (Python étant plutôt bon dans les calculs...). Une fois les calculs effectués, il est possible d'utiliser CatBoost Viewer pour afficher les résultats dans le navigateur.
Dans tous les tests effectués par Yandex, CatBoost s'est révélé meilleur que Matriksnet ou que d'autres technologies (voir les benchmarks ci-dessous). La firme n'a pas confirmé qu'elle l'utilise dans son moteur de recherche mais cela semble être le cas. En effet, elle a bien indiqué qu'elle remplacerait Matrixnet par la nouvelle technologie de machine learning, donc nous pouvons imaginer que les classements de recherche vont désormais s'appuyer sur cette nouvelle architecture d'intelligence artificielle.