Pour un site de petites annonces comme Leboncoin, le moteur de recherche constitue la porte d'entrée classique de la plupart des utilisateurs. Son efficacité est donc centrale pour les performances de l'entreprise. « Améliorer la pertinence des résultats de recherche signifie travailler selon deux axes, explique Paul Dennetière, ingénieur chez Leboncoin, qui intervenait récemment sur une conférence lors du salon BigData & AI Paris. Le premier axe consiste à remonter tous les documents pertinents et le second à les classer par ordre de pertinence. »

Pour aller plus loin que les résultats fournis par ElasticSearch, l'entreprise s'est tournée vers des LLM. L'idée ? Traduire en vecteurs certains éléments de chaque annonce pour proposer des résultats plus pertinents aux internautes. Ce principe a ainsi été appliqué au Retriever, la fonction chargée de rapatrier toutes les annonces pertinentes. « Grâce aux représentations vectorielles, nous sommes par exemple en mesure de recouper une recherche portant sur des écouteurs sans fil avec une annonce pour des AirPod », illustre Paul Dennetière. Pour ce faire, Leboncoin emploie un LLM de Meta entraîné pour la lanngue française, baptisé CamemBERT par la société américaine dans un clin d'oeil appuyé à la gastronomie hexagonale.

Passer à l'échelle

Le déploiement de ce type d'outils dans l'environnement du site de petites annonces doit toutefois tenir des contraintes de performances et de volumétrie qui le caractérisent. L'outil de recherche encaisse ainsi des pics allant jusqu'à 5 millions de requêtes par seconde, qui interrogent une base riche de 67 millions d'annonces. Pour fournir des performances acceptables, les équipes techniques du site ont diminué la taille des vecteurs calculés sur la base des caractéristiques des annonces. Et ils ont utilisé une fonction d'ElasticSearch (ANN pour Approximate Nearest Neighbor) permettant de retrouver rapidement les vecteurs les plus proches de celui calculé sur la base d'une requête. Des simplifications qui permettent « de passer à l'échelle », assure Paul Dennetière.

De gauche à droite, Matyas Amrouche, data scientist senior au sein de l'équipe search chez Leboncoin et Paul Dennetière, ingénieur chez Leboncoin, lors du salon BigData & AI Paris. (Photo : R.F.)

Le machine learning a également été exploité pour le Retriever, autrement dit l'algorithme qui classe les annonces présentées à l'utilisateur par ordre de pertinence. « Sur ce terrain, nous avons utilisé un modèle sur étagère que nous avons optimisé. Nous avons créé des couples requête/résultats qui nous ont servi à enrichir le modèle », précise Matyas Amrouche, data scientist senior chez Leboncoin. Pour cette fonction, les équipes du site de petites annonces exploitent également ce qu'ils appellent « les signaux de pertinence des utilisateurs », autrement dit les To de données issus des clics de ces derniers, donnant des indices sur les préférences de chacun. Pour cette fonction de classement, les vecteurs associés à chaque annonce et à chaque utilisateur sont précalculés (donnant naissance à un jeu de données multimodal), puis comparé au vecteur de la requête, calculé lui à la volée.

Les KPI métier justifient l'investissement

« ElasticSearch est toujours au coeur de nos métiers, mais il est désormais épaulé par deux modèles de machine learning », résume Matyas Amrouche. Mais pour Leboncoin, démontrer la pertinence technique de cette intégration ne suffit pas, s'empresse-t-il d'ajouter. Il faut encore en vérifier l'intérêt économique. « L'ingrédient secret, ce sont les tests A/B, pour comparer les KPI métiers avec ou sans assistance des LLM. » Car, brancher ces algorithmes coûte cher. Sur les 90 noeuds du cluster ElasticSearch exploité par le site, 40% de la puissance de calcul est monopolisée par la fonction Retriever. Par ailleurs, les vecteurs pré-calculées de la fonction Reranker, stockés dans DynamoDB d'AWS, suppose de nouveaux coûts pour Leboncoin. « Sans oublier le besoin de réaliser des inférences en temps réel, ce qui passe par l'emploi de GPU », note Paul Dennetière. Mais, selon les deux ingénieurs, les KPI mesurés montrent que les efforts menés - en ingénierie, pour passer les modèles à l'échelle, mais aussi en gestion du cycle de vie des modèles - et les investissements consentis sont payants. Le taux de lead a ainsi progressé de 15 à 20% et le taux de recherches infructueuses a été divisé par trois.

« La représentation vectorielle du langage nous ouvre tout un nouveau champ de possibles, nous permettant de dépasser nos précédents efforts sur l'amélioration de la pertinence des résultats de recherche, résume Matyas Amrouche. Avec les LLM, nous ne tentons plus de définir en amont les critères de pertinence, c'est le modèle qui les découvre. Si les gens préfèrent les annonces récentes, il va l'apprendre. » Et Leboncoin a encore de nombreux espaces à défricher avec le machine learning. Par exemple, pour l'instant, les équipes techniques se sont concentrées sur la vectorisation du seul titre de l'annonce. Demain, c'est l'ensemble du descriptif de celle-ci qui pourrait, à son tour, être vectorisé.