Pular para o conteúdo

Design clássico · Pleno

Busca de vídeos no YouTube

Projeto de entrevista clássico. Pontos centrais: embeddings multimodais, fusão de índice invertido com ANN e reranking.

14 min de leitura · Conteúdo revisado em 23 de outubro de 2026

Resposta curta

Projeto de entrevista clássico. Pontos centrais: embeddings multimodais, fusão de índice invertido com ANN e reranking. Num serviço de vídeo, o usuário digita um texto na caixa de busca e o sistema mostra os vídeos mais relevantes para esse texto. O capítulo da ByteByteGo fixa o escopo para simplificar: só consultas em texto, só inglês e sem personalização.

01 · CONTEXTO E ESCOPO

Buscar vídeos por um texto

Num serviço de vídeo, o usuário digita um texto na caixa de busca e o sistema mostra os vídeos mais relevantes para esse texto. O capítulo da ByteByteGo fixa o escopo para simplificar: só consultas em texto, só inglês e sem personalização. A relevância é decidida pelo conteúdo visual e pelos dados textuais do vídeo.

Os números do exercício são um bilhão de vídeos na plataforma e dez milhões de pares de vídeo e consulta para treinar o modelo. As notas de um repositório público de entrevistas de ML acrescentam um requisito de escala de 50M DAU.

02 · FORMULAÇÃO

Duas buscas que se complementam

O objetivo de ML é ranquear os vídeos pela relevância para a consulta. O capítulo divide o trabalho em dois componentes: uma busca visual, que compara a consulta com o conteúdo visual dos vídeos, e uma busca textual, que compara a consulta com títulos, descrições e tags.

AspectoBusca visualBusca textual
O que comparaA consulta com o conteúdo visual dos vídeosA consulta com títulos, descrições ou tags dos vídeos
TécnicaDois codificadores, um de texto e um de vídeo, e produto escalar entre os embeddingsÍndice invertido, com o Elasticsearch como exemplo de motor
Custo de treinoExige treinar os codificadoresNenhum, porque o índice invertido não é baseado em ML

O índice invertido não é baseado em ML, então a busca textual não tem custo de treino, e o treino se concentra nos codificadores da busca visual. Juntar as duas listas é o papel da camada de fusão, tratada mais adiante.

03 · MODELOS E TREINO

Codificadores de texto e de vídeo

Antes de entrar no modelo, o texto vira um vetor numérico em três passos: normalização, tokenização e conversão de tokens em IDs. Como o conjunto de dados já vem anotado, o capítulo dispensa a etapa de engenharia de dados.

Para o texto, os métodos estatísticos são rápidos, mas não captam o sentido contextual e geram representações esparsas. Os Transformers geram embeddings diferentes para a mesma palavra conforme o contexto, e o capítulo escolhe uma arquitetura como o BERT.

AspectoModelo de nível de vídeoModelo de nível de quadro
Como funcionaProcessa o vídeo inteiro para criar o embedding, em geral com convoluções 3D ou TransformersAmostra quadros, gera um embedding por quadro e agrega os embeddings, por exemplo pela média
CustoComputacionalmente caro, porque processa o vídeo todoEm geral mais rápido e computacionalmente mais barato
Aspectos temporaisCapta o entendimento temporal, segundo as notas de um repositório públicoEm geral não entende aspectos temporais, como ações e movimentos

O capítulo adota um modelo de nível de quadro, como o ViT, e treina os dois codificadores com aprendizado contrastivo.

  1. Os dados já chegam anotados como pares de vídeo e consulta, o que dispensa engenharia de dados.

    Diagrama da arquitetura: Busca de vídeos: treino dos codificadores
    DBPares anotados de vídeo e consultadados anotados
    CPPré-processamento de texto
    CPPré-processamento de vídeo
    CPCodificador de texto
    CPCodificador de vídeo por quadros
    CPTreino contrastivo
  2. O texto passa por normalização, tokenização e conversão de tokens em IDs antes de chegar ao codificador de texto.

    Diagrama da arquitetura: Busca de vídeos: treino dos codificadores
    DBPares anotados de vídeo e consulta
    CPPré-processamento de textotexto vira IDs
    CPPré-processamento de vídeo
    CPCodificador de texto
    CPCodificador de vídeo por quadros
    CPTreino contrastivo
  3. No lado do vídeo, o modelo por quadros começa pré-processando o vídeo e amostrando quadros.

    Diagrama da arquitetura: Busca de vídeos: treino dos codificadores
    DBPares anotados de vídeo e consulta
    CPPré-processamento de texto
    CPPré-processamento de vídeoamostra quadros
    CPCodificador de texto
    CPCodificador de vídeo por quadros
    CPTreino contrastivo
  4. O texto vira embedding num Transformer como o BERT, e o vídeo vira embedding num modelo por quadros como o ViT, com os embeddings de quadro agregados.

    Diagrama da arquitetura: Busca de vídeos: treino dos codificadores
    DBPares anotados de vídeo e consulta
    CPPré-processamento de texto
    CPPré-processamento de vídeo
    CPCodificador de textoBERT
    CPCodificador de vídeo por quadrosViT
    CPTreino contrastivo
  5. Os codificadores de texto e de vídeo são treinados com aprendizado contrastivo.

    Diagrama da arquitetura: Busca de vídeos: treino dos codificadores
    DBPares anotados de vídeo e consulta
    CPPré-processamento de texto
    CPPré-processamento de vídeo
    CPCodificador de texto
    CPCodificador de vídeo por quadros
    CPTreino contrastivocontrastivo

04 · AVALIAÇÃO

Como medir uma busca

No conjunto de avaliação, cada consulta tem um único vídeo associado. Por isso o numerador de precision@k vale no máximo 1, e precision@k e mAP pouco ajudam. O recall@k também falha: se um modelo põe o vídeo relevante na posição 15 e outro na posição 50, os dois têm recall@10=0. O MRR corrige as falhas do recall@k e é a métrica offline escolhida.

Métrica onlineO que a fonte aponta
CTRNão rastreia se os vídeos clicados são relevantes para o usuário
Taxa de conclusão do vídeoO usuário pode assistir só uma parte e ainda achar o vídeo relevante
Tempo total assistidoÉ um bom indicador de relevância dos resultados

05 · SERVIÇO

Consulta, fusão e indexação

No serviço de predição, a busca visual codifica a consulta e usa o serviço de vizinho mais próximo, com algoritmos aproximados (ANN) para acelerar a busca. A busca textual usa o Elasticsearch. A camada de fusão combina as duas listas e o serviço de reranking aplica a lógica e as políticas de negócio.

  1. O diagrama começa pelo serviço de busca, que recebe a consulta de texto.

    Diagrama da arquitetura: Busca de vídeos: caminho de consulta
    CLUsuário
    CPServiço de buscarecebe a consulta
    CPCodificador de texto
    CPServiço de vizinho mais próximo
    DBÍndice de embeddings de vídeo
    DBElasticsearch
    CPCamada de fusão
    CPServiço de reranking
  2. Pelo lado visual, a consulta é codificada em um embedding.

    Diagrama da arquitetura: Busca de vídeos: caminho de consulta
    CLUsuário
    CPServiço de busca
    CPCodificador de textoembedding da consulta
    CPServiço de vizinho mais próximo
    DBÍndice de embeddings de vídeo
    DBElasticsearch
    CPCamada de fusão
    CPServiço de reranking
  3. O serviço de vizinho mais próximo usa algoritmos aproximados (ANN) para achar os embeddings de vídeo mais parecidos com o da consulta.

    Diagrama da arquitetura: Busca de vídeos: caminho de consulta
    CLUsuário
    CPServiço de busca
    CPCodificador de texto
    CPServiço de vizinho mais próximoANN
    DBÍndice de embeddings de vídeo
    DBElasticsearch
    CPCamada de fusão
    CPServiço de reranking
  4. Pelo lado textual, o Elasticsearch devolve vídeos cujos títulos e tags se sobrepõem à consulta.

    Diagrama da arquitetura: Busca de vídeos: caminho de consulta
    CLUsuário
    CPServiço de busca
    CPCodificador de texto
    CPServiço de vizinho mais próximo
    DBÍndice de embeddings de vídeo
    DBElasticsearchbusca textual
    CPCamada de fusão
    CPServiço de reranking
  5. A camada de fusão recebe as duas listas e as combina numa só.

    Diagrama da arquitetura: Busca de vídeos: caminho de consulta
    CLUsuário
    CPServiço de busca
    CPCodificador de texto
    CPServiço de vizinho mais próximo
    DBÍndice de embeddings de vídeo
    DBElasticsearch
    CPCamada de fusãocombina as listas
    CPServiço de reranking
  6. O reranking ajusta a lista com lógica e políticas de negócio, e a lista final volta ao usuário.

    Diagrama da arquitetura: Busca de vídeos: caminho de consulta
    CLUsuário
    CPServiço de busca
    CPCodificador de texto
    CPServiço de vizinho mais próximo
    DBÍndice de embeddings de vídeo
    DBElasticsearch
    CPCamada de fusão
    CPServiço de rerankingpolíticas de negócio
AspectoSoma ponderadaModelo adicional
Como combinaReordena os vídeos pela soma ponderada das relevâncias previstasUsa um modelo extra para reordenar os vídeos
CustoÉ a opção mais simplesMais cara, porque exige treino, e mais lenta no serving
Escolha do capítuloAdotadaNão adotada

Do outro lado da busca há a indexação. Um codificador de vídeo treinado calcula os embeddings, que são indexados, e o Elasticsearch indexa títulos, tags manuais e tags geradas automaticamente. Quando o vídeo chega sem tags, um modelo independente, o auto-tagger, gera tags que podem ser mais ruidosas, mas ainda valem.

  1. O criador envia o vídeo e, em geral, informa tags para identificá-lo.

    Diagrama da arquitetura: Busca de vídeos: caminho de indexação
    CLCriador do vídeo
    CPServiço de uploadrecebe vídeo e tags
    DBArmazenamento de vídeos
    CPPipeline de indexação de vídeo
    DBÍndice de embeddings de vídeo
    CPAuto-tagger
    DBElasticsearch
  2. Um codificador de vídeo treinado calcula os embeddings, que são então indexados.

    Diagrama da arquitetura: Busca de vídeos: caminho de indexação
    CLCriador do vídeo
    CPServiço de upload
    DBArmazenamento de vídeos
    CPPipeline de indexação de vídeocodifica o vídeo
    DBÍndice de embeddings de vídeoindexado
    CPAuto-tagger
    DBElasticsearch
  3. Quando faltam tags manuais, o auto-tagger gera tags, que podem ser mais ruidosas, mas ainda valem.

    Diagrama da arquitetura: Busca de vídeos: caminho de indexação
    CLCriador do vídeo
    CPServiço de upload
    DBArmazenamento de vídeos
    CPPipeline de indexação de vídeo
    DBÍndice de embeddings de vídeo
    CPAuto-taggerauto-tagger
    DBElasticsearch
  4. Títulos, tags manuais e tags automáticas vão para o índice textual do Elasticsearch.

    Diagrama da arquitetura: Busca de vídeos: caminho de indexação
    CLCriador do vídeo
    CPServiço de upload
    DBArmazenamento de vídeos
    CPPipeline de indexação de vídeo
    DBÍndice de embeddings de vídeo
    CPAuto-tagger
    DBElasticsearchindexado

06 · PRÓXIMOS PASSOS

O que o capítulo deixa para depois

O próprio capítulo reconhece que o desenho foi simplificado e que na prática o sistema é muito mais complexo. Entre as melhorias que ele lista estão um desenho em vários estágios, com geração de candidatos e ranqueamento, mais atributos do vídeo, como duração e popularidade, e o uso de interações, como cliques e curtidas, para construir e rotular dados.

Outro ponto levantado é a presença de vídeos quase duplicados na saída final, que podem prejudicar a experiência de quem busca.

Perguntas frequentes

O que é Busca de vídeos no YouTube?

Projeto de entrevista clássico. Pontos centrais: embeddings multimodais, fusão de índice invertido com ANN e reranking.

O que o design de Busca de vídeos no YouTube cobre?

Ele está organizado nestas seções: Buscar vídeos por um texto, Duas buscas que se complementam, Codificadores de texto e de vídeo, Como medir uma busca, Consulta, fusão e indexação e O que o capítulo deixa para depois.

Quanto tempo leva Busca de vídeos no YouTube e qual é o nível?

Leva cerca de 14 minutos para ler e tem nível Pleno.

Agora projete você mesmo

Rode este caso como uma entrevista na escola de System Design: você toma as decisões, o tutor as questiona e você vê a nota do seu desenho.