Criando com Milvus: Recomendação de notícias com tecnologia de IA dentro do navegador móvel da Xiaomi
De feeds de redes sociais a recomendações de playlists no Spotify, a inteligência artificial já desempenha um papel importante no conteúdo que vemos e com o qual interagimos todos os dias. Em um esforço para diferenciar seu navegador web móvel, a fabricante multinacional de eletrônicos Xiaomi criou um mecanismo de recomendação de notícias alimentado por IA. O Milvus, um banco de dados vetorial de código aberto criado especificamente para busca por similaridade e inteligência artificial, foi usado como a plataforma central de gerenciamento de dados da aplicação. Este artigo explica como a Xiaomi criou seu mecanismo de recomendação de notícias alimentado por IA e como o Milvus e outros algoritmos de IA foram usados.
Usando IA para sugerir conteúdo personalizado e atravessar o ruído das notícias
Com o New York Times sozinho publicando mais de 230 matérias de conteúdo por dia, o enorme volume de artigos produzidos torna impossível para indivíduos obter uma visão abrangente de todas as notícias. Para ajudar a filtrar grandes volumes de conteúdo e recomendar as matérias mais relevantes ou interessantes, recorremos cada vez mais à IA. Embora as recomendações ainda estejam longe de ser perfeitas, o aprendizado de máquina é cada vez mais necessário para atravessar o fluxo constante de novas informações que jorra do nosso mundo cada vez mais complexo e interconectado.
A Xiaomi fabrica e investe em smartphones, aplicativos móveis, laptops, eletrodomésticos e muitos outros produtos. Em um esforço para diferenciar um navegador móvel que vem pré-instalado em muitos dos mais de 40 milhões de smartphones que a empresa vende a cada trimestre, a Xiaomi incorporou a ele um sistema de recomendação de notícias. Quando os usuários iniciam o navegador móvel da Xiaomi, a inteligência artificial é usada para recomendar conteúdo semelhante com base no histórico de pesquisa do usuário, interesses e muito mais. O Milvus é um banco de dados de busca por similaridade vetorial de código aberto usado para acelerar a recuperação de artigos relacionados.
Como funciona a recomendação de conteúdo alimentada por IA?
Em sua essência, a recomendação de notícias (ou qualquer outro tipo de sistema de recomendação de conteúdo) envolve comparar dados de entrada com um banco de dados massivo para encontrar informações semelhantes. Uma recomendação de conteúdo bem-sucedida envolve equilibrar relevância com atualidade e incorporar de forma eficiente enormes volumes de novos dados—muitas vezes em tempo real.
Para acomodar conjuntos de dados massivos, os sistemas de recomendação são normalmente divididos em duas etapas:
- Recuperação: Durante a recuperação, o conteúdo é reduzido a partir da biblioteca mais ampla com base nos interesses e no comportamento do usuário. No navegador móvel da Xiaomi, milhares de peças de conteúdo são selecionadas a partir de um conjunto de dados massivo que contém milhões de artigos de notícias.
- Ordenação: Em seguida, o conteúdo selecionado durante a recuperação é ordenado de acordo com certos indicadores antes de ser enviado ao usuário. À medida que os usuários interagem com o conteúdo recomendado, o sistema se adapta em tempo real para fornecer sugestões mais relevantes.
As recomendações de conteúdo de notícias precisam ser feitas em tempo real com base no comportamento do usuário e no conteúdo publicado recentemente. Além disso, o conteúdo sugerido deve corresponder tanto quanto possível aos interesses e à intenção de busca do usuário.
Milvus + BERT = sugestões inteligentes de conteúdo
O Milvus é um banco de dados de busca por similaridade vetorial de código aberto que pode ser integrado a modelos de deep learning para alimentar aplicações que abrangem processamento de linguagem natural, verificação de identidade e muito mais. O Milvus indexa grandes conjuntos de dados vetoriais para tornar a busca mais eficiente e oferece suporte a uma variedade de frameworks populares de IA para simplificar o processo de desenvolvimento de aplicações de aprendizado de máquina. Essas características tornam a plataforma ideal para armazenar e consultar dados vetoriais, um componente crítico de muitas aplicações de aprendizado de máquina.
A Xiaomi selecionou o Milvus para gerenciar dados vetoriais para seu sistema inteligente de recomendação de notícias porque ele é rápido, confiável e requer configuração e manutenção mínimas. No entanto, o Milvus deve ser combinado com um algoritmo de IA para criar aplicações implantáveis. A Xiaomi selecionou o BERT, abreviação de Bidirectional Encoder Representation Transformers, como o modelo de representação de linguagem em seu mecanismo de recomendação. O BERT pode ser usado como um modelo geral de NLU (compreensão de linguagem natural) que pode impulsionar várias tarefas diferentes de NLP (processamento de linguagem natural). Seus principais recursos incluem:
- O transformer do BERT é usado como a estrutura principal do algoritmo e é capaz de capturar relações explícitas e implícitas dentro de frases e entre frases.
- Objetivos de aprendizagem multitarefa, modelagem de linguagem mascarada (MLM) e previsão da próxima frase (NSP).
- O BERT tem melhor desempenho com maiores quantidades de dados e pode aprimorar outras técnicas de processamento de linguagem natural, como Word2Vec, atuando como uma matriz de conversão.
Milvus trabalhando com BERT.
A arquitetura de rede do BERT usa uma estrutura transformer multicamadas que abandona as redes neurais tradicionais RNN e CNN. Ela funciona convertendo a distância entre duas palavras em qualquer posição em uma por meio de seu mecanismo de atenção e resolve o problema de dependência que persiste em NLP há algum tempo.
A arquitetura de rede de um transformer no BERT.
A estrutura de rede do BERT. ‘Trm’ representa a arquitetura de rede transformer mostrada acima.
O BERT fornece um modelo simples e um complexo. Os hiperparâmetros correspondentes são os seguintes: BERT BASE: L = 12, H = 768, A = 12, parâmetro total 110M; BERT LARGE: L = 24, H = 1024, A = 16, o número total de parâmetros é 340M.
Nos hiperparâmetros acima, L representa o número de camadas na rede (ou seja, o número de blocos Transformer), A representa o número de self-Attention em Multi-Head Attention, e o tamanho do filtro é 4H.
Sistema de recomendação de conteúdo da Xiaomi
O sistema de recomendação de notícias baseado em navegador da Xiaomi depende de três componentes principais: vetorização, mapeamento de ID e serviço de vizinho mais próximo aproximado (ANN).
A vetorização é o processo no qual os títulos dos artigos são convertidos em vetores gerais de frases. O modelo SimBert, baseado no BERT, é usado no sistema de recomendação da Xiaomi. SimBert é um modelo de 12 camadas com tamanho oculto de 768. Simbert usa o modelo de treinamento Chinese L-12_H-768_A-12 para treinamento contínuo (a tarefa de treinamento sendo “metric learning +UniLM”, e treinou 1,17 milhão de etapas em uma única TITAN RTX com o otimizador Adam (taxa de aprendizado 2e-6, tamanho de lote 128). Simplificando, este é um modelo BERT otimizado.
Os algoritmos ANN comparam títulos de artigos vetorizados com toda a biblioteca de notícias armazenada no Milvus e, em seguida, retornam conteúdo semelhante para os usuários. O mapeamento de ID é usado para obter informações relevantes, como visualizações de página e cliques para artigos correspondentes.
Como a recomendação de conteúdo funciona.
Os dados armazenados no Milvus que alimentam o mecanismo de recomendação de notícias da Xiaomi estão sendo constantemente atualizados, incluindo artigos adicionais e informações de atividade. À medida que o sistema incorpora novos dados, os dados antigos devem ser removidos. Neste sistema, atualizações completas de dados são feitas nos primeiros T-1 dias e atualizações incrementais são feitas nos T dias subsequentes.
Em intervalos definidos, dados antigos são excluídos e dados processados dos dias T-1 são inseridos na coleção. Aqui, dados recém-gerados são incorporados em tempo real. Assim que novos dados são inseridos, a busca por similaridade é realizada no Milvus. Os artigos recuperados são novamente ordenados por taxa de cliques e outros fatores, e o conteúdo principal é exibido aos usuários. Em um cenário como este, em que os dados são atualizados com frequência e os resultados devem ser entregues em tempo real, a capacidade do Milvus de incorporar e pesquisar rapidamente novos dados possibilita acelerar drasticamente a recomendação de conteúdo de notícias no navegador móvel da Xiaomi.
Milvus torna a busca por similaridade vetorial melhor
Vetorizar dados e então calcular a similaridade entre vetores é a tecnologia de recuperação mais comumente usada. A ascensão dos mecanismos de busca por similaridade vetorial baseados em ANN melhorou significativamente a eficiência dos cálculos de similaridade vetorial. Em comparação com soluções semelhantes, o Milvus oferece armazenamento de dados otimizado, SDKs abundantes e uma versão distribuída que reduz bastante a carga de trabalho de criação de uma camada de recuperação. Além disso, a comunidade open-source ativa do Milvus é um recurso poderoso que pode ajudar a responder perguntas e solucionar problemas à medida que surgem.
Se você quiser saber mais sobre busca por similaridade vetorial e Milvus, confira os seguintes recursos:
- Confira Milvus no Github.
- Vector Similarity Search Hides in Plain View
- Accelerating Similarity Search on Really Big Data with Vector Indexing
Leia outras histórias de usuários para saber mais sobre criar coisas com Milvus.
Continue lendo

Introducing Customer-Managed Encryption Keys (CMEK) on Zilliz Cloud
We're announcing the general availability of Customer-Managed Encryption Keys (CMEK) on Zilliz Cloud.

The Great AI Agent Protocol Race: Function Calling vs. MCP vs. A2A
Compare Function Calling, MCP, and A2A protocols for AI agents. Learn which standard best fits your development needs and future-proof your applications.

Vector Databases vs. Document Databases
Use a vector database for similarity search and AI-powered applications; use a document database for flexible schema and JSON-like data storage.



