Como a SmartNews transforma as recomendações de anúncios em tempo real com a Milvus

< 10ms
Latência P99 para permitir a recuperação de dados em tempo real
Mais de 100 milhões
Actualizações diárias do vetor sem degradação do desempenho
Aumentar as receitas
A apresentação de anúncios mais relevantes levou a uma melhor taxa de cliques
We've gained so much from the Milvus community that we decided to contribute features like "hot reload," which have also benefited our internal operations.
Dennis Zhao
Sobre a SmartNews
A [SmartNews] (https://www.smartnews.com/en), com sede em Tóquio, Japão, tem sido uma força dominante no sector das aplicações de notícias desde a sua criação em 2012. Nos EUA, é particularmente conhecida pelo seu elevado envolvimento dos utilizadores. Dennis Zhao, líder de infraestrutura de IA da SmartNews, explica: "Em julho de 2021, o SmartNews tinha o maior envolvimento médio mensal do usuário entre todos os aplicativos de notícias, superando até mesmo as métricas combinadas do AppleNews e do Google News". Esse alto nível de envolvimento do usuário naturalmente levou a maiores oportunidades de colocação de anúncios. No entanto, também colocou desafios para garantir que os anúncios chegassem aos utilizadores certos no momento certo.
Os obstáculos técnicos dos algoritmos de recomendação de anúncios
Com a sua posição de liderança no envolvimento dos utilizadores, a SmartNews tinha um desafio único: otimizar as recomendações de anúncios para uma base de utilizadores altamente envolvidos. Shu, um engenheiro de infraestrutura de IA da SmartNews, detalha esses desafios: "Estávamos a lutar com caraterísticas esparsas de alta dimensão e a necessidade de recuperação rápida de dados não estruturados nos nossos sistemas de aprendizagem automática em grande escala."
Esses desafios não eram apenas teóricos; eles tinham implicações no mundo real. As caraterísticas esparsas de elevada dimensão significavam que as soluções de bases de dados tradicionais eram ineficientes para armazenar e consultar os dados. Os dados não estruturados dificultavam a realização de pesquisas rápidas e precisas, um requisito essencial para as recomendações de anúncios em tempo real.
Antes de recorrer à Milvus, a equipa utilizava a Faiss, uma biblioteca para pesquisa de semelhanças e agrupamento de vectores densos. No entanto, o Faiss tinha o seu próprio conjunto de limitações. "Era complicado de manter e não se adaptava bem às nossas crescentes aplicações de aprendizagem automática", acrescenta Shu. Estas limitações levaram a equipa a explorar outras soluções que pudessem oferecer tanto a escalabilidade como o desempenho de que necessitavam, acabando por os conduzir ao Milvus.
Soluções técnicas: Da Pesquisa Vetorial às Contribuições da Comunidade
Quando a SmartNews se apercebeu das limitações das suas soluções existentes, a equipa recorreu à Milvus devido às suas capacidades de tratamento de dados vectoriais em grande escala e de pesquisa de semelhanças. "Após dois meses de pesquisa rigorosa, o Milvus surgiu como o claro vencedor", diz Shu. A capacidade do Milvus de lidar com consultas de alto rendimento e baixa latência foi um divisor de águas. "Cumpriu o nosso requisito rigoroso de latência P99 < 10ms, crucial para o nosso sistema de recomendação de anúncios em tempo real.
As capacidades de pesquisa de semelhança de vectores do Milvus foram inicialmente aplicadas para otimizar a recuperação dinâmica de vectores de anúncios do SmartNews. "O Milvus permitiu-nos mapear tipos de dados incomparáveis em vectores, permitindo assim uma pesquisa de semelhança eficiente para ligar os utilizadores aos anúncios mais relevantes", explica Shu. Esta capacidade de pesquisa de alto desempenho foi importante para a SmartNews, uma vez que a plataforma precisava de analisar milhões de vectores para fazer recomendações de anúncios em tempo real.
Para além das recomendações de anúncios, o Milvus revelou-se suficientemente versátil para outras aplicações de aprendizagem automática. "Expandimos a sua utilização para dados em tempo real e actualizações de índices, o que foi vital para manter os nossos modelos de recomendação actualizados", acrescenta Shu.
A SmartNews também reconheceu o valor do desenvolvimento orientado para a comunidade. "Ganhámos tanto com a comunidade Milvus que decidimos contribuir com funcionalidades como o 'hot reload', que também foram benéficas para as nossas operações internas", afirma Dennis Zhao, líder de infraestrutura de IA na SmartNews. Esta funcionalidade permite aos programadores alterar o código em tempo real, acelerando significativamente o ciclo de desenvolvimento.
Resultados comerciais: Alcançar a escalabilidade e preparar-se para o futuro
A adoção do Milvus não foi apenas uma atualização técnica; teve implicações comerciais significativas. Yusup, outro engenheiro da SmartNews, fala sobre um dos desafios iniciais: "O mecanismo original de atualização dos vectores era complicado e moroso. No entanto, a funcionalidade de 'aliasing de colecções' do Milvus permitiu-nos fazer transições mais suaves entre conjuntos de dados antigos e novos, simplificando o processo de atualização."
Esta melhoria técnica traduziu-se em resultados comerciais. O sistema de recomendação de anúncios optimizado levou à apresentação de anúncios mais relevantes, aumentando as taxas de cliques e, em última análise, as receitas dos anúncios. Além disso, os dados em tempo real e as actualizações do índice permitiram que a SmartNews se adaptasse rapidamente às mudanças de comportamento dos utilizadores, mantendo as recomendações da plataforma consistentemente relevantes.
A SmartNews está a preparar-se para a próxima fase da sua evolução tecnológica. "Com o próximo lançamento do Milvus 2.0, estamos a planear uma migração", afirma Dennis Zhao. "A nova versão promete um desempenho e uma escalabilidade ainda melhores, e estamos entusiasmados com a possibilidade de tirar partido destas caraterísticas para criar sistemas ainda mais fiáveis e em tempo real."