Pular para o conteúdo

Arquitetura real · Sênior

Perplexity: answer engine com mais de 20 modelos

Arquitetura real em produção. Pontos centrais: roteamento por intenção, batching por SLA e custo por consulta.

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

Resposta curta

Arquitetura real em produção. Pontos centrais: roteamento por intenção, batching por SLA e custo por consulta. A Perplexity é um motor de busca com IA. Segundo o artigo da NVIDIA que serve de fonte principal, a equipe de inferência serve mais de 20 modelos ao mesmo tempo, incluindo variações do Llama 3.1 como 8B, 70B e 405B.

01 · CONTEXTO

Um motor de respostas, muitos modelos

A Perplexity é um motor de busca com IA. Segundo o artigo da NVIDIA que serve de fonte principal, a equipe de inferência serve mais de 20 modelos ao mesmo tempo, incluindo variações do Llama 3.1 como 8B, 70B e 405B. O motor atende mais de 435 milhões de consultas por mês, e cada consulta gera várias requisições de inferência.

O caso reúne três perguntas de projeto: qual modelo atende cada pedido, como agrupar pedidos para aproveitar a GPU sem quebrar o prazo de resposta e quanto custa cada consulta. As seções seguintes seguem essa ordem.

02 · ROTEAMENTO POR INTENÇÃO

Classificar o pedido e escolher o pod

Para ligar cada pedido ao modelo certo, a Perplexity usa classificadores menores que ajudam a determinar a intenção do usuário. As tarefas detectadas, como completar texto, são roteadas para modelos específicos implantados em pods de GPU.

Cada pod tem uma ou mais GPUs H100 e é gerenciado por uma instância do Triton Inference Server. Os pods ficam num cluster Kubernetes e operam sob SLAs rígidos de custo e de interatividade. Há ainda um scheduler de front-end interno, que faz o balanceamento de carga roteando o tráfego ao pod adequado conforme carga e uso.

  1. O usuário faz uma consulta; cada consulta gera várias requisições de inferência por trás.

    Diagrama da arquitetura: Perplexity: roteamento e pods de modelos
    CLUsuárioconsulta
    CPClassificadores de intenção
    NWScheduler de front-end
    CPPods de modelos pequenos
    CPPods de LLMs
    NWMétricas de utilização de GPU
  2. Classificadores menores determinam a intenção do usuário, e a tarefa detectada define para qual modelo o pedido vai.

    Diagrama da arquitetura: Perplexity: roteamento e pods de modelos
    CLUsuário
    CPClassificadores de intençãodetecta a intenção
    NWScheduler de front-end
    CPPods de modelos pequenos
    CPPods de LLMs
    NWMétricas de utilização de GPU
  3. O scheduler de front-end, construído internamente, roteia o tráfego ao pod adequado conforme carga e uso.

    Diagrama da arquitetura: Perplexity: roteamento e pods de modelos
    CLUsuário
    CPClassificadores de intenção
    NWScheduler de front-endescolhe o pod
    CPPods de modelos pequenos
    CPPods de LLMs
    NWMétricas de utilização de GPU
  4. Os pods hospedam modelos de tamanhos diferentes; cada pod tem uma ou mais GPUs e é gerenciado por uma instância do Triton.

    Diagrama da arquitetura: Perplexity: roteamento e pods de modelos
    CLUsuário
    CPClassificadores de intenção
    NWScheduler de front-end
    CPPods de modelos pequenos
    CPPods de LLMs
    NWMétricas de utilização de GPU
  5. O Triton fornece métricas de utilização de GPU ao scheduler, o que apoia aumentar ou reduzir implantações e GPUs conforme o volume de requisições.

    Diagrama da arquitetura: Perplexity: roteamento e pods de modelos
    CLUsuário
    CPClassificadores de intenção
    NWScheduler de front-end
    CPPods de modelos pequenos
    CPPods de LLMs
    NWMétricas de utilização de GPUmétricas de GPU

A escolha do algoritmo do scheduler importa: ele pode afetar a latência entre tokens. A fonte mostra uma comparação entre round-robin, least requests e power of two random choices num benchmark interno com carga moderada de 16 QPS.

03 · BATCHING POR SLA

Cada caso de uso tem o seu prazo

Para definir o SLA de cada caso de uso, a equipe faz testes A/B abrangentes, avaliando configurações e o impacto na experiência do usuário. O objetivo é maximizar a utilização da GPU cumprindo o SLA-alvo de cada caso, e melhorar o batching dentro desses SLAs é o que otimiza o custo de servir.

Os modelos pequenos de embedding, usados na recuperação em tempo real, ficam em geral escondidos do usuário, dentro de um fluxo maior; o foco deles é a menor latência possível, e por isso as configurações têm lotes pequenos. Como ocupam pouca memória, vários rodam juntos numa mesma GPU H100 para manter alta utilização. Já nos modelos voltados ao usuário a equipe faz uma análise mais profunda, com métricas próprias.

AspectoModelos pequenos (embeddings)LLMs voltados ao usuário
FocoMenor latência possívelImpacto na experiência do usuário e no custo de implantação
Como a equipe medeLotes pequenos para manter a latência baixaTempo até o primeiro token, tokens por segundo por usuário e custo por milhão de consultas
Uso da GPUVários modelos juntos numa mesma GPU H100Paralelismo de tensor em quatro e oito GPUs

04 · EMBEDDINGS: IVY, TULIP E ROSE

Uma pilha própria para a busca

Além dos LLMs, a busca depende de modelos de embedding e de ranking, que ajudam a identificar os resultados mais relevantes para uma consulta. A Perplexity descreve dois padrões de tráfego: o embedding em lote, para construir ou reindexar a base maximizando a vazão e reduzindo o custo, e o embedding online, que converte uma consulta curta em vetor minimizando a latência.

Como os modelos são pequenos, boa parte da implementação é compartilhada com o código de LLM: o embedding em lote lembra o prefill, limitado por computação, e o online, que roda poucos tokens, lembra o decode, limitado por memória. Segundo a Perplexity, isso rende vazão alta em lote com pouco trabalho adicional de engenharia e latência baixa no online.

  1. Os serviços da Perplexity chamam o Ivy, um gateway HTTP escrito em Rust.

    Diagrama da arquitetura: Perplexity: pilha de embeddings (Ivy, Tulip, ROSE)
    CLServiços da Perplexity
    NWIvy (gateway HTTP)gateway HTTP
    CPTulip, réplica A
    CPTulip, réplica B
    CPROSE na GPU, réplica A
    CPROSE na GPU, réplica B
  2. O Ivy faz templating da entrada e divisão em lotes e traduz o pedido para um protocolo gRPC próprio dos servidores a jusante.

    Diagrama da arquitetura: Perplexity: pilha de embeddings (Ivy, Tulip, ROSE)
    CLServiços da Perplexity
    NWIvy (gateway HTTP)trabalho de CPU
    CPTulip, réplica A
    CPTulip, réplica B
    CPROSE na GPU, réplica A
    CPROSE na GPU, réplica B
  3. Como os payloads variam, mandar cada pedido a uma só réplica pode desequilibrar a carga; por isso o Ivy divide pedidos grandes em pedaços e os balanceia entre réplicas.

    Diagrama da arquitetura: Perplexity: pilha de embeddings (Ivy, Tulip, ROSE)
    CLServiços da Perplexity
    NWIvy (gateway HTTP)
    CPTulip, réplica A
    CPTulip, réplica B
    CPROSE na GPU, réplica A
    CPROSE na GPU, réplica B
  4. O Tulip recebe as requisições gRPC, cuida de scheduling e batching, envia os lotes ao ROSE e devolve as respostas.

    Diagrama da arquitetura: Perplexity: pilha de embeddings (Ivy, Tulip, ROSE)
    CLServiços da Perplexity
    NWIvy (gateway HTTP)
    CPTulip, réplica Ascheduling e batching
    CPTulip, réplica B
    CPROSE na GPU, réplica A
    CPROSE na GPU, réplica B
  5. O ROSE roda nas GPUs: implementa os forward passes e o gerenciamento de CUDA graphs, reaproveitando código dos LLMs e sobrepondo trabalho de CPU e de GPU.

    Diagrama da arquitetura: Perplexity: pilha de embeddings (Ivy, Tulip, ROSE)
    CLServiços da Perplexity
    NWIvy (gateway HTTP)
    CPTulip, réplica A
    CPTulip, réplica B
    CPROSE na GPU, réplica Aforward pass
    CPROSE na GPU, réplica B

O scheduling do Tulip é simples: pedidos se acumulam enquanto ele despacha trabalho ou espera resultados, e as sequências são escolhidas por ordem de chegada. Nesses modelos pequenos, a latência é mais ou menos proporcional ao número de tokens, não ao de sequências. Depois que o lote satura a GPU, cerca de 512 tokens num modelo abaixo de um bilhão de parâmetros, juntar mais sequências não melhora a eficiência.

05 · PARALELISMO E CUSTO

Quanto custa servir uma consulta

Para os LLMs voltados ao usuário, os SLAs rígidos levaram a equipe a aumentar o paralelismo de tensor para quatro e oito GPUs, o que reduz o custo para pedidos muito sensíveis à latência dentro de um orçamento fixo de GPUs. O paralelismo de dados ou de pipeline foi útil para maximizar a vazão onde a latência é menos crítica. Num exemplo da fonte, dividir o Llama 8B entre quatro GPUs Hopper reduz o custo relativo por milhão de tokens em até 3x para pedidos sensíveis à latência.

EstratégiaQuando a fonte a indica
Paralelismo de tensorPedidos muito sensíveis à latência, dentro de um orçamento fixo de GPUs
Paralelismo de dados ou de pipelineMaximizar a vazão em cenários menos sensíveis à latência

A decisão de hospedar os modelos depende de servi-los a um custo menor, ainda dentro dos SLAs rígidos, do que usar APIs de provedores terceiros. Como exemplo, a equipe estimou economizar cerca de US$ 1 milhão por ano ao servir, em GPUs NVIDIA na nuvem, os modelos que alimentam o recurso Related-Questions.

No roteiro de evolução está o serving desagregado, que separa as fases de prefill e decode de um LLM em GPUs separadas. Segundo a fonte, a técnica aumenta a vazão do sistema dentro dos SLAs, o que se traduz em menor custo por token, e a Perplexity trabalha com a equipe de engenharia do Triton para implantá-la.

Perguntas frequentes

O que é Perplexity: answer engine com mais de 20 modelos?

Arquitetura real em produção. Pontos centrais: roteamento por intenção, batching por SLA e custo por consulta.

O que o design de Perplexity: answer engine com mais de 20 modelos cobre?

Ele está organizado nestas seções: Um motor de respostas, muitos modelos, Classificar o pedido e escolher o pod, Cada caso de uso tem o seu prazo, Uma pilha própria para a busca e Quanto custa servir uma consulta.

Quanto tempo leva Perplexity: answer engine com mais de 20 modelos 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.