Como a plataforma de vídeos curtos Likee remove vídeos duplicados com Milvus
Imagem da capa
Este artigo foi escrito por Xinyang Guo e Baoyu Han, engenheiros da BIGO, e traduzido por Rosie Zhang.
A BIGO Technology (BIGO) é uma das empresas tecnológicas de Singapura com crescimento mais rápido. Alimentados por tecnologia de inteligência artificial, os produtos e serviços baseados em vídeo da BIGO ganharam imensa popularidade em todo o mundo, com mais de 400 milhões de utilizadores em mais de 150 países. Estes incluem o Bigo Live (transmissão em direto) e o Likee (vídeo de curta duração).
O Likee é uma plataforma global de criação de vídeos curtos onde os utilizadores podem partilhar os seus momentos, expressar-se e ligar-se ao mundo. Para melhorar a experiência do utilizador e recomendar-lhe conteúdos de maior qualidade, o Likee tem de eliminar os vídeos duplicados de uma enorme quantidade de vídeos gerados pelos utilizadores todos os dias, o que não é uma tarefa fácil.
Este blogue apresenta a forma como o BIGO utiliza o Milvus, uma base de dados vetorial de código aberto, para remover eficazmente vídeos duplicados.
Saltar para:
- Visão geral
- Fluxo de trabalho de deduplicação de vídeo
- Arquitetura do sistema
- Utilização do Milvus para potenciar a pesquisa de semelhanças
O Milvus é um banco de dados vetorial de código aberto que oferece pesquisa vetorial ultra-rápida. Com o Milvus, o Likee é capaz de concluir uma pesquisa em 200 ms, garantindo uma alta taxa de recuperação. Entretanto, ao escalar o Milvus horizontalmente, o Likee aumenta com sucesso o rendimento das consultas vectoriais, melhorando ainda mais a sua eficiência.
Como é que o Likee identifica vídeos duplicados? Sempre que um vídeo de consulta é introduzido no sistema do Likee, é cortado em 15-20 fotogramas e cada fotograma é convertido num vetor de caraterísticas. Em seguida, o Likee pesquisa numa base de dados de 700 milhões de vectores para encontrar os K vectores mais semelhantes. Cada um dos K vectores de topo corresponde a um vídeo da base de dados. O Likee efectua ainda pesquisas refinadas para obter os resultados finais e determinar os vídeos a remover.
Vejamos em pormenor como funciona o sistema de desduplicação de vídeos do Likee utilizando o Milvus. Como se mostra no diagrama abaixo, os novos vídeos carregados no Likee serão escritos no Kafka, um sistema de armazenamento de dados, em tempo real e consumidos pelos consumidores do Kafka. Os vectores de caraterísticas destes vídeos são extraídos através de modelos de aprendizagem profunda, em que os dados não estruturados (vídeo) são convertidos em vectores de caraterísticas. Estes vectores de caraterísticas serão empacotados pelo sistema e enviados para o auditor de semelhanças.
Arquitetura do sistema de desduplicação de vídeo do Likee
Os vectores de caraterísticas extraídos serão indexados pelo Milvus e armazenados no Ceph, antes de serem carregados pelo nó de consulta do Milvus para posterior pesquisa. Os IDs de vídeo correspondentes a estes vectores de caraterísticas também serão armazenados simultaneamente no TiDB ou no Pika, de acordo com as necessidades reais.
Utilizar a base de dados de vectores Milvus para potenciar a pesquisa por semelhança
Ao procurar vectores semelhantes, os milhares de milhões de dados existentes, juntamente com grandes quantidades de novos dados gerados todos os dias, colocam grandes desafios à funcionalidade do motor de pesquisa de vectores. Após uma análise exaustiva, o Likee acabou por escolher o Milvus, um motor de pesquisa vetorial distribuído de elevado desempenho e elevada taxa de recuperação, para efetuar a pesquisa de semelhanças vectoriais.
Como se pode ver no diagrama abaixo, o procedimento de uma pesquisa por semelhança é o seguinte:
Primeiro, o Milvus efectua uma pesquisa em lote para recuperar os 100 principais vectores semelhantes para cada um dos múltiplos vectores de caraterísticas extraídos de um novo vídeo. Cada vetor semelhante é associado ao seu ID de vídeo correspondente.
Em segundo lugar, ao comparar os IDs dos vídeos, o Milvus remove os vídeos duplicados e recupera os vectores de caraterísticas dos restantes vídeos a partir do TiDB ou do Pika.
Por fim, o Milvus calcula e pontua a semelhança entre cada conjunto de vectores de caraterísticas recuperados e os vectores de caraterísticas do vídeo consultado. O ID do vídeo com a pontuação mais elevada é devolvido como resultado. Assim, a pesquisa por semelhança de vídeo é concluída.
Procedimento de uma pesquisa por semelhança
Enquanto motor de pesquisa vetorial de elevado desempenho, o Milvus fez um trabalho extraordinário no sistema de desduplicação de vídeo do Likee, impulsionando grandemente o crescimento do negócio de vídeos curtos do BIGO. Em termos de negócios de vídeo, há muitos outros cenários em que o Milvus pode ser aplicado, como o bloqueio de conteúdo ilegal ou a recomendação personalizada de vídeos. Tanto a BIGO como a Milvus estão ansiosas por uma futura cooperação em mais áreas.
Try Managed Milvus for Free
Zilliz Cloud is hassle-free, powered by Milvus and 10x faster.
Get StartedLike the article? Spread the word