Leboncoin otimiza resultados de pesquisa com LLM

O site de anúncios classificados implementou LLM para melhorar a pertinência dos seus resultados de pesquisa. O segredo? Transformar os anúncios e as consultas em vetores que possam ser correspondidos. E encontrar a fórmula certa para aumentar a escala, mesmo que isso signifique alguns compromissos técnicos.

Por Reynald Fléchaux

Para um site de classificados como o Leboncoin, o motor de busca é o ponto de entrada clássico para a maioria dos utilizadores. A sua eficácia é, portanto, fundamental para o desempenho da empresa. Melhorar a qualidade dos resultados de pesquisa implica trabalhar em duas vertentes”, explica Paul Dennetière, engenheiro da Leboncoin, que acaba de participar numa conferência da feira BigData & AI Paris. A primeira consiste em fazer aparecer todos os documentos pertinentes e a segunda em classificá-los por ordem de relevância”.

Para ir mais longe do que os resultados fornecidos pelo ElasticSearch, a empresa recorreu aos LLM. A ideia? Traduzir certos elementos de cada anúncio em vetores para oferecer resultados mais pertinentes aos internautas. Este princípio foi aplicado ao Retriever, a função responsável pela recuperação de todos os anúncios pertinentes. “Graças às representações vetoriais, podemos, por exemplo, cruzar uma pesquisa de auscultadores sem fios com um anúncio de AirPods“, explica Paul Dennetière. Para o efeito, a Leboncoin utiliza um LLM treinado em Meta para a língua francesa, que a empresa americana designa por CamemBERT, numa alusão à gastronomia francesa.

Em escala

A implementação deste tipo de ferramenta no ambiente dos sites de anúncios classificados deve, no entanto, ter em conta as limitações de desempenho e de volume que as caracterizam. A ferramenta de pesquisa pode suportar picos de até 5 milhões de pedidos por segundo, consultando uma base de dados de 67 milhões de anúncios. Para obter um desempenho aceitável, as equipas técnicas do site reduziram o tamanho dos vetores calculados em função das características dos anúncios. Utilizaram também uma função ElasticSearch (ANN para Approximate Nearest Neighbor) para encontrar rapidamente os vetores mais próximos do calculado com base numa consulta. Paul Dennetière garante-nos que estas simplificações “permitem-nos aumentar a escala”.

Matyas Amrouche, à esquerda, e Paul Dennetière, à direita, na feira BigData & AI Paris
Foto: R.F.

A aprendizagem automática também foi utilizada para o Retriever, ou seja, o algoritmo que classifica os anúncios apresentados ao utilizador por ordem de relevância. “Nesta área, utilizámos um modelo pronto a usar que otimizámos. Criámos pares consulta/resultado que utilizámos para enriquecer o modelo”, explica Matyas Amrouche, cientista de dados sénior da Leboncoin. Para esta função, as equipas do site de classificados exploram igualmente o que designam por “sinais de relevância do utilizador”, ou seja, os dados To derivados dos cliques dos utilizadores, que dão pistas sobre as preferências de cada utilizador. Para esta função de classificação, os vetores associados a cada anúncio e a cada utilizador são pré-calculados (dando origem a um conjunto de dados multimodais) e depois comparados com o vetor de consulta, que é calculado em tempo real.

Os KPIs comerciais justificam o investimento

“O ElasticSearch continua a ser o centro da nossa atividade, mas agora é apoiado por dois modelos de aprendizagem automática”, resume Matyas Amrouche. Mas, para a Leboncoin, demonstrar a pertinência técnica desta integração não é suficiente, apressa-se a acrescentar. É ainda necessário verificar os benefícios económicos. “O ingrediente secreto é o teste A/B, para comparar os KPI da empresa com e sem a ajuda do LLM. A ligação destes algoritmos é dispendiosa. Dos 90 nós do cluster ElasticSearch gerido pelo site, 40% do poder de computação é monopolizado pela função Retriever. Além disso, os vetores pré-calculados da função Retriever, armazenados no AWS DynamoDB, implicam novos custos para a Leboncoin. “Para não falar da necessidade de efetuar a inferência em tempo real, o que exige a utilização de GPU”, observa Paul Dennetière. Mas, segundo os dois engenheiros, os KPI medidos mostram que os esforços feitos – em engenharia, para aumentar a escala dos modelos, mas também na gestão do ciclo de vida dos modelos – e os investimentos realizados estão a dar frutos. A taxa de contactos passou de 15% para 20% e a taxa de pesquisas infrutíferas foi reduzida a um terço.

A representação vetorial da linguagem abre um novo campo de possibilidades, permitindo-nos ir além dos nossos esforços anteriores para melhorar a relevância dos resultados de pesquisa”, resume Matyas Amrouche. Com os LLM, já não estamos a tentar definir critérios de relevância a montante, é o modelo que os descobre. Se as pessoas preferem anúncios recentes, ele descobre-os”. E a Leboncoin ainda tem muito caminho a percorrer com a aprendizagem automática. Por exemplo, de momento, as equipas técnicas concentram-se em vetorizar apenas o título do anúncio. Amanhã, toda a descrição poderá ser vetorizada.

Autores
O seu comentário...

*

Top