37 pontos por xguru 2026-01-21 | 2 comentários | Compartilhar no WhatsApp
  • O feed "For You" do X é um sistema de recomendação baseado em machine learning desenvolvido para melhorar a qualidade das recomendações de conteúdo personalizado
  • O feed é composto pela combinação de duas fontes: contas seguidas (Thunder) e conteúdo de contas não seguidas (Phoenix Retrieval)
  • Todas as postagens candidatas são avaliadas pelo Phoenix, um modelo Transformer baseado no Grok, para gerar o ranking final
    • Esse modelo prevê a probabilidade de engajamento de cada postagem
  • Todos os recursos projetados manualmente e a maior parte dos algoritmos heurísticos foram removidos do sistema
  • O histórico de atividade do usuário (curtidas, respostas, compartilhamentos) é analisado para identificar conteúdo relevante

Arquitetura do sistema

  • O Home Mixer é a camada de orquestração que coordena todo o pipeline
    • Inclui a etapa de Query Hydration, que coleta o histórico de comportamento do usuário e as informações de seguimento
    • Gerencia uma sequência de etapas, da coleta de candidatos ao enriquecimento de dados, filtragem, pontuação e seleção final
    • Retorna postagens ordenadas por usuário via ScoredPostsService baseado em gRPC
  • O Thunder é um armazenamento em memória que coleta postagens em tempo real por meio de Kafka event streams
    • Mantém armazenamento por usuário para postagens originais, respostas/reposts e postagens em vídeo
    • Fornece candidatos de postagens "in-network" das contas seguidas pelo usuário que fez a requisição
    • Entrega as postagens mais recentes das contas seguidas com latência ultrabaixa
    • Garante desempenho de consulta em nível de submilissegundos sem acesso a banco de dados externo
  • O Phoenix é o principal componente de ML da recomendação e é composto por duas etapas: Retrieval e Ranking
    • Recuperação: usa um modelo Two-Tower para calcular a similaridade entre embeddings de características/histórico de engajamento do usuário e embeddings das postagens, recuperando os posts Top-K
    • Ranking: usa uma arquitetura Transformer with Candidate Isolation projetada para que cada candidato seja avaliado de forma independente
      • Recebe como entrada o contexto do usuário (histórico de engajamento) e as postagens candidatas
      • Prevê, para cada postagem, probabilidades de múltiplas ações, como curtida, resposta, repost e clique
  • O Candidate Pipeline é um framework reutilizável de pipeline de recomendação
    • Define traits como Source, Hydrator, Filter, Scorer e Selector
    • Incorpora execução paralela, tratamento de erros e logging para garantir escalabilidade e estabilidade

Como funciona

  • Etapas do pipeline

    • 1. Buscar dados da consulta: obtém o histórico recente de atividade do usuário e metadados (por exemplo, lista de seguidos)
    • 2. Descoberta de candidatos: busca postagens candidatas nas seguintes fontes
      • Thunder: postagens recentes de contas seguidas (dentro da rede)
      • Phoenix Retrieval: postagens descobertas por machine learning no corpus global (fora da rede)
    • 3. Hydration dos candidatos usando as seguintes informações:
      • Dados principais da postagem (texto, mídia etc.)
      • Informações do autor (nome de usuário, status de verificação)
      • Duração do vídeo (no caso de postagens em vídeo)
      • Status de assinatura
    • 4. Filtro pré-score: remove postagens que atendam às seguintes condições
      • Duplicadas
      • Antigas demais
      • Do próprio usuário
      • De contas bloqueadas/silenciadas
      • Com palavras-chave silenciadas
      • Já vistas ou servidas recentemente
      • Conteúdo sem assinatura disponível
    • 5. Método de pontuação: aplica vários scorers em sequência
      • Phoenix Scorer: obtém previsões de machine learning usando o modelo Transformer Phoenix
      • Weighted score calculator: combina as previsões para calcular a pontuação final de relevância
      • Author diversity score calculator: reduz o impacto de pontuações de autores repetidos para promover diversidade
      • OON scorer: ajusta a pontuação de conteúdo fora da rede
    • 6. Seleção: ordena por pontuação e seleciona os K principais candidatos
    • 7. Procedimentos pós-seleção: faz a validação final das postagens candidatas
  • Scoring e ranking

    • As previsões do modelo Phoenix são combinadas por soma ponderada
    • Ações positivas (curtidas, compartilhamentos etc.) recebem peso maior, enquanto ações negativas (bloqueio, denúncia etc.) reduzem a pontuação
  • Filtragem em duas etapas

    • Filtro antes do cálculo de pontuação: remove duplicatas, postagens mais antigas que o limite, posts do próprio usuário, conteúdo pago inacessível, posts já vistos ou já servidos, contas bloqueadas e palavras-chave silenciadas
    • Filtro após a seleção: remove postagens excluídas, spam, conteúdo violento, postagens gráficas e duplicações de múltiplos ramos da mesma conversa

Princípios centrais de design

  • Eliminação da feature engineering manual, com o Transformer aprendendo diretamente a partir das sequências de comportamento do usuário
  • Avaliação independente dos candidatos (Candidate Isolation), facilitando a geração consistente de pontuações e o cache
  • Embeddings baseados em hash, usando múltiplas funções de hash para busca e ranking
  • Previsão de múltiplas ações (Multi-Action Prediction), prevendo várias ações em vez de uma única pontuação de "relevância"
  • Arquitetura de pipeline modular
    • Separa a execução e o monitoramento do pipeline da lógica de negócio
    • Permite execução paralela de etapas independentes e tratamento adequado de erros
    • Facilita a adição de novas fontes, hidratação, filtros e scorers

Licença

2 comentários

 
pmc7777 2026-01-21

"Rust 62,9%"

 
nemorize 2026-01-21

트위터의 추천알고리즘을 오픈소스로 공개
Será que isso é outra coisa? Vou arrumar um tempo no fim de semana para ler...