Pular para o conteúdo

Arquitetura real · Sênior

Feed do LinkedIn (dois passes, dwell time, LLM em 2026)

Arquitetura real em produção. Pontos centrais: first pass/second pass, dwell time e multiobjetivo.

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

Resposta curta

Arquitetura real em produção. Pontos centrais: first pass/second pass, dwell time e multiobjetivo. O Feed do LinkedIn atende a mais de 1,3 bilhão de profissionais. O desafio descrito pela empresa é equilibrar conteúdo da rede do membro, de quem ele segue e do Economic Graph em sentido mais amplo, ou seja, conteúdo sugerido.

01 · CONTEXTO E ESCALA

O que o feed precisa decidir

O Feed do LinkedIn atende a mais de 1,3 bilhão de profissionais. O desafio descrito pela empresa é equilibrar conteúdo da rede do membro, de quem ele segue e do Economic Graph em sentido mais amplo, ou seja, conteúdo sugerido.

Um post de engenharia de 2026 afirma que a empresa ranqueia milhões de posts a cada momento, equilibrando frescor e relevância. Um post de 2020 já falava em dezenas de milhares de posts candidatos que poderiam aparecer no feed de um membro.

Em 2020, o post descreve uma camada de geração de candidatos, o primeiro passe, que aplica um algoritmo de ranqueamento eficiente e leve para identificar os melhores candidatos. Em 2026, a empresa descreve a divisão assim: a recuperação determina quais posts chegam à etapa de ranqueamento, e o ranqueamento determina o que o membro de fato vê.

02 · O FEED CLÁSSICO

Pontuação ponderada e o limite dos cliques

O post de 2020 treina modelos de aprendizado de máquina para predizer várias quantidades para cada clique e ação viral possível. As ações são clicar, reagir, comentar e compartilhar, e a empresa chama reagir, comentar e recompartilhar de ações virais. As quantidades são a probabilidade de o membro realizar a ação e, caso a realize, o número esperado de cliques ou ações virais a jusante e o valor esperado a montante para o criador do post.

As saídas dos modelos são sintetizadas numa única pontuação por uma combinação linear ponderada, e essa pontuação é usada para um ranqueamento pontual (point-wise) de todos os candidatos.

O mesmo post aponta limites dos sinais de clique e ação viral. Eles podem ser raros, sobretudo para consumidores passivos do feed, e o clique é um indicador ruidoso de engajamento: um membro pode clicar num artigo, perceber que não é relevante e voltar ao feed em poucos segundos. Para compensar parte desses limites, a equipe avaliou o dwell time agregado por post.

AspectoCliques e ações viraisDwell time
DisponibilidadeNem sempre mensurávelSempre mensurável
Tipo de sinalIndicador binário de engajamentoMedida de engajamento de valor real
Qualidade do sinalIndicador ruidoso de engajamento; sinais positivos bastante esparsosPode ser um indicador mais confiável de engajamento; não há escassez de sinais

03 · DWELL TIME E P(SKIP)

Do tempo de permanência à probabilidade de pular

Cada post visto no feed gera dois tipos de dwell time. O primeiro, no feed, começa a ser medido quando pelo menos metade do post está visível enquanto o membro rola o feed. O segundo, depois do clique, é o tempo gasto no conteúdo após clicar num post do feed.

Ao analisar o dwell time por post no celular, a equipe buscou um limiar, chamado Tskip, para classificar como pulado um post visto por menos de Tskip segundos. O post relata que esse limiar natural existe e que o mesmo valor de Tskip serviu para todos os tipos heterogêneos de post, como texto, imagens e vídeos.

Com base nisso, a equipe incorporou à função de valor do feed um objetivo novo, o P(skip), que prevê a probabilidade de o membro pular um post. O modelo é uma regressão logística com atributos brutos e atributos de interação aprendidos por uma árvore de decisão com boosting. Por considerar pular um resultado negativo, a função final reduz a pontuação de todos os posts proporcionalmente ao P(skip) previsto.

  1. A camada de geração de candidatos aplica um algoritmo de ranqueamento eficiente e leve para identificar os melhores candidatos a mostrar.

    Diagrama da arquitetura: Feed clássico: primeiro passe e pontuação
    CLMembro no app
    CPGeração de candidatos (primeiro passe)primeiro passe
    CPModelos de predição
    CPFunção de valor e ordenação
  2. Os candidatos seguem para os modelos de predição, que estimam a probabilidade da ação, o efeito esperado a jusante e o valor esperado a montante.

    Diagrama da arquitetura: Feed clássico: primeiro passe e pontuação
    CLMembro no app
    CPGeração de candidatos (primeiro passe)
    CPModelos de prediçãopredições por ação
    CPFunção de valor e ordenação
  3. O objetivo novo, P(skip), entra na função de valor do feed e prevê a probabilidade de o membro pular o post.

    Diagrama da arquitetura: Feed clássico: primeiro passe e pontuação
    CLMembro no app
    CPGeração de candidatos (primeiro passe)
    CPModelos de prediçãoP(skip)
    CPFunção de valor e ordenação
  4. A função de valor sintetiza as saídas numa única pontuação por combinação linear ponderada e reduz a pontuação proporcionalmente ao P(skip) previsto.

    Diagrama da arquitetura: Feed clássico: primeiro passe e pontuação
    CLMembro no app
    CPGeração de candidatos (primeiro passe)
    CPModelos de predição
    CPFunção de valor e ordenaçãopontuação única
  5. A pontuação é usada para ordenar todos os candidatos de forma pontual (point-wise).

    Diagrama da arquitetura: Feed clássico: primeiro passe e pontuação
    CLMembro no app
    CPGeração de candidatos (primeiro passe)
    CPModelos de predição
    CPFunção de valor e ordenaçãoordenação

Nos experimentos A/B online com uma pequena porcentagem dos membros, a empresa relata grande queda no número de posts pulados e mais interação por cliques e ações virais.

04 · RECUPERAÇÃO UNIFICADA

Uma só recuperação baseada em LLM

Segundo o post de 2026, a abordagem tradicional usava várias fontes de recuperação, como conteúdo em alta, filtragem colaborativa e sistemas baseados em embeddings, cada uma com infraestrutura própria. Isso criou complexidade de engenharia e dificultou a otimização holística. O modelo de ranqueamento, por sua vez, tratava cada impressão de forma independente e perdia os padrões sequenciais de consumo.

A solução combina uma recuperação unificada, que usa LLMs para gerar uma representação de alta qualidade de membros e conteúdo, com um modelo de ranqueamento sequencial que captura como os profissionais interagem com o conteúdo ao longo do tempo. Um benefício citado é o cold-start: para um membro novo com só título e cargo no perfil, o LLM consegue deduzir interesses prováveis sem esperar o histórico de engajamento se acumular.

Para o LLM processar dados estruturados, a equipe criou uma biblioteca de prompts que transforma atributos em sequências padronizadas. Para os atributos numéricos, inicialmente as contagens de engajamento entravam brutas e o modelo as tratava como tokens de texto comuns, o que deixou a correlação entre popularidade do item e similaridade de cosseno próxima de zero (-0.004). A equipe dividiu as contagens em faixas de percentil, envolvidas por tokens especiais, e a correlação subiu 30x, com melhora de 15% no recall@10.

O recuperador é um codificador duplo: um LLM processa os prompts do membro e do item e gera embeddings comparados por similaridade de cosseno. No treino, cada par positivo é contrastado com dois tipos de negativos.

Tipo de negativoComo é obtidoEfeito relatado
FácilPosts amostrados aleatoriamente que não foram mostrados ao membroSinais contrastivos fracos, porém estáveis
DifícilPosts exibidos ao membro que não receberam engajamentoAdicionar apenas dois por membro melhorou o recall em +3.6%

Outro ponto foi a curadoria do histórico do membro. Inicialmente ele incluía todos os posts exibidos, e isso piorou o desempenho e custou mais computação, pois a computação de GPU é quadrática no tamanho do contexto. Filtrar só os posts com engajamento positivo fez o modelo aprender melhor. Na configuração de produção, com 8 GPUs H100 para treino, isso trouxe redução de 37% da memória por sequência com profundidade de histórico equivalente e iteração de treino 2.6× mais rápida, devido a sequências menores e melhor eficiência de batching.

05 · FRESCOR COM PIPELINES NEARLINE

Embeddings frescos sem esperar o batch

A empresa mantém três pipelines nearline contínuos: geração de prompts, inferência de embeddings e atualização do índice. Desacoplar o sistema assim permite otimizar cada estágio de forma independente e manter o sistema ponta a ponta fresco em minutos.

  1. Quando um post é publicado ou ganha engajamento, o prompt do item é atualizado; quando o membro atualiza o perfil ou interage, o prompt do membro é atualizado.

    Diagrama da arquitetura: Feed: pipelines nearline de embeddings
    CLMembros e criadores
    CPGeração de promptsatualiza prompts
    DBArmazenamento chave-valor de prompts
    CPProcessador de stream nearline
    CPInferência de embeddings (LLM em GPU)
    CPÍndice de embeddings em GPU
  2. Os prompts vão para armazenamentos chave-valor, para acesso online na recuperação, e ao mesmo tempo para um processador de stream nearline que gera embeddings.

    Diagrama da arquitetura: Feed: pipelines nearline de embeddings
    CLMembros e criadores
    CPGeração de prompts
    DBArmazenamento chave-valor de promptsprompts guardados
    CPProcessador de stream nearline
    CPInferência de embeddings (LLM em GPU)
    CPÍndice de embeddings em GPU
  3. Os prompts frescos passam por servidores de inferência de LLM em clusters de GPUs.

    Diagrama da arquitetura: Feed: pipelines nearline de embeddings
    CLMembros e criadores
    CPGeração de prompts
    DBArmazenamento chave-valor de prompts
    CPProcessador de stream nearline
    CPInferência de embeddings (LLM em GPU)inferência
    CPÍndice de embeddings em GPU
  4. Posts novos recebem embeddings em tempo quase real, e posts que ganham engajamento têm os embeddings atualizados.

    Diagrama da arquitetura: Feed: pipelines nearline de embeddings
    CLMembros e criadores
    CPGeração de prompts
    DBArmazenamento chave-valor de prompts
    CPProcessador de stream nearline
    CPInferência de embeddings (LLM em GPU)embeddings frescos
    CPÍndice de embeddings em GPU
  5. As atualizações são agrupadas em janelas de tempo configuráveis, trocando eficiência de GPU por frescor dos embeddings.

    Diagrama da arquitetura: Feed: pipelines nearline de embeddings
    CLMembros e criadores
    CPGeração de prompts
    DBArmazenamento chave-valor de prompts
    CPProcessador de stream nearline
    CPInferência de embeddings (LLM em GPU)janela configurável
    CPÍndice de embeddings em GPU
  6. Os embeddings entram num índice especializado para busca exaustiva de vizinhos mais próximos em GPUs.

    Diagrama da arquitetura: Feed: pipelines nearline de embeddings
    CLMembros e criadores
    CPGeração de prompts
    DBArmazenamento chave-valor de prompts
    CPProcessador de stream nearline
    CPInferência de embeddings (LLM em GPU)
    CPÍndice de embeddings em GPUíndice atualizado

No momento da consulta, o sistema busca o embedding do membro e executa uma busca de k vizinhos mais próximos nesse índice, recuperando os melhores candidatos em menos de 50 ms, mesmo com milhões de posts no índice.

A empresa descreve também um ganho para o ranqueamento: em vez de candidatos de fontes díspares, com vieses e perfis de qualidade diferentes, ele recebe um conjunto coerente de candidatos selecionados por similaridade semântica. A empresa afirma que trocar várias fontes por uma abordagem única baseada em embeddings reduziu a complexidade de engenharia.

06 · RANQUEAMENTO SEQUENCIAL

Um modelo de sequência e o custo de servi-lo

No ranqueamento, a empresa construiu o Generative Recommender (GR), que trata o histórico de interações do membro como uma sequência. Em vez de pontuar cada post isoladamente, o GR processa mais de mil interações históricas para entender padrões temporais e interesses de longo prazo.

O GR usa transformers com atenção causal, processando os posts em ordem cronológica junto das ações do membro em cada post. As ações, como dwells longos, curtidas, comentários e compartilhamentos, são embutidas e intercaladas com as representações dos posts. Na atenção causal, cada posição só atende a posições anteriores.

Depois das camadas transformer, o modelo aplica fusão tardia: concatena a saída do transformer com atributos de contexto por passo, como tipo de dispositivo, embeddings do perfil do membro e contagens e afinidades agregadas. Segundo o post, incluir esses atributos no caminho da sequência inflaria o custo computacional sem benefício claro. O resultado passa por uma cabeça de predição Multi-gate Mixture-of-Experts (MMoE), em que tarefas passivas (clique, skip, long-dwell) e ativas (curtir, comentar, compartilhar) recebem portões especializados e compartilham as mesmas representações sequenciais.

AspectoRanqueamento anteriorRanqueamento sequencial (GR)
Unidade avaliadaCada impressão tratada de forma independenteHistórico de interações tratado como uma sequência
Combinação de objetivosSaídas dos modelos sintetizadas numa única pontuação por combinação linear ponderada (descrição de 2020)Cabeça MMoE com portões por tarefa sobre representações compartilhadas
HardwareOs modelos históricos de ranqueamento rodavam em CPUsContagens enormes de parâmetros exigem memória de alta largura de banda, disponível só em GPUs

O post lembra que GPUs são caras e que o custo por inferência se torna crítico nessa escala. O diagrama a seguir percorre o caminho online e as escolhas de serving descritas pela empresa.

  1. Ao abrir o feed, o sistema busca o embedding do membro e executa a busca de vizinhos mais próximos.

    Diagrama da arquitetura: Feed: recuperação e ranqueamento em GPU
    CLMembro no app
    CPRecuperaçãoembedding do membro
    CPÍndice de embeddings em GPU
    CPProcessamento de atributos (CPU)
    CPInferência do GR (GPU)
  2. O índice em GPU devolve os melhores candidatos em menos de 50 ms, mesmo com milhões de posts.

    Diagrama da arquitetura: Feed: recuperação e ranqueamento em GPU
    CLMembro no app
    CPRecuperação
    CPÍndice de embeddings em GPUcandidatos
    CPProcessamento de atributos (CPU)
    CPInferência do GR (GPU)
  3. A recuperação determina quais posts chegam à etapa de ranqueamento.

    Diagrama da arquitetura: Feed: recuperação e ranqueamento em GPU
    CLMembro no app
    CPRecuperação
    CPÍndice de embeddings em GPU
    CPProcessamento de atributos (CPU)entram no ranqueamento
    CPInferência do GR (GPU)
  4. A arquitetura desagregada separa o processamento de atributos, limitado por CPU, da inferência do modelo, pesada em GPU.

    Diagrama da arquitetura: Feed: recuperação e ranqueamento em GPU
    CLMembro no app
    CPRecuperação
    CPÍndice de embeddings em GPU
    CPProcessamento de atributos (CPU)CPU
    CPInferência do GR (GPU)GPU
  5. O contexto compartilhado em lote calcula a representação do histórico uma vez e pontua todos os candidatos em paralelo com máscaras de atenção customizadas.

    Diagrama da arquitetura: Feed: recuperação e ranqueamento em GPU
    CLMembro no app
    CPRecuperação
    CPÍndice de embeddings em GPU
    CPProcessamento de atributos (CPU)
    CPInferência do GR (GPU)histórico uma vez
  6. O GRMIS, uma variante customizada de Flash Attention, entrega ganho adicional de 2× sobre a atenção padrão do PyTorch.

    Diagrama da arquitetura: Feed: recuperação e ranqueamento em GPU
    CLMembro no app
    CPRecuperação
    CPÍndice de embeddings em GPU
    CPProcessamento de atributos (CPU)
    CPInferência do GR (GPU)atenção customizada

07 · O QUE LEVAR PARA A ENTREVISTA

Decisões que o caso ensina

Perguntas frequentes

O que é Feed do LinkedIn (dois passes, dwell time, LLM em 2026)?

Arquitetura real em produção. Pontos centrais: first pass/second pass, dwell time e multiobjetivo.

O que o design de Feed do LinkedIn (dois passes, dwell time, LLM em 2026) cobre?

Ele está organizado nestas seções: O que o feed precisa decidir, Pontuação ponderada e o limite dos cliques, Do tempo de permanência à probabilidade de pular, Uma só recuperação baseada em LLM, Embeddings frescos sem esperar o batch e Um modelo de sequência e o custo de servi-lo.

Quanto tempo leva Feed do LinkedIn (dois passes, dwell time, LLM em 2026) e qual é o nível?

Leva cerca de 17 minutos para ler e tem nível Sênior.

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.