Pular para o conteúdo

Design clássico · Sênior

Detecção de conteúdo nocivo

Projeto de entrevista clássico. Pontos centrais: fusão multimodal, multi-task, desbalanceamento, fila de revisão humana e deriva adversarial.

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

Resposta curta

Projeto de entrevista clássico. Pontos centrais: fusão multimodal, multi-task, desbalanceamento, fila de revisão humana e deriva adversarial. Redes sociais moderam conteúdo nocivo para cumprir a lei e manter uma boa experiência para os usuários, tema ligado a conformidade regulatória. O exercício parte de uma rede social de posts e pede um sistema que detecte todo conteúdo nocivo, de nudez e…

01 · CONTEXTO E REQUISITOS

O que o sistema precisa decidir

Redes sociais moderam conteúdo nocivo para cumprir a lei e manter uma boa experiência para os usuários, tema ligado a conformidade regulatória. O exercício parte de uma rede social de posts e pede um sistema que detecte todo conteúdo nocivo, de nudez e violência até terrorismo e tráfico de pessoas.

O recorte é texto e imagem, o que faz do caso, segundo o roteiro, um problema de classificação multimodal de conteúdo, típico de design de sistemas de ML.

O sistema pode remover automaticamente o que considera nocivo com confiança e rebaixar o conteúdo provavelmente nocivo. Há uma equipe pequena de moderadores, com capacidade limitada. Para a remoção automática, o enunciado não aceita remover nada sem 95% de confiança de que o conteúdo é nocivo.

Errar custa nos dois sentidos: quem tem o conteúdo removido por engano fica insatisfeito e pode deixar a plataforma, e quem é exposto a conteúdo nocivo em excesso também pode sair.

O enunciado assume 1B posts por dia, com menos de 1% nocivos, e 50k exemplos rotulados para o treino inicial, metade nocivos e metade benignos.

02 · OBJETIVO E MÉTRICA

Do que a plataforma se importa

O roteiro lembra que o objetivo de negócio é distinto da função de perda. Maximizar o conteúdo removido incentiva sinalizar o máximo possível, e maximizar a acurácia é um proxy ruim do dano, sujeito a desbalanceamento de classes.

ObjetivoPonto forteLimite
Maximizar a acurácia do modeloParece uma escolha tentadoraProxy ruim do dano e sujeito a desbalanceamento de classes
Maximizar a remoção, com garantia de precisãoEmbute uma troca entre precisão e recallAinda foca em remoção, não na experiência do usuário
Minimizar denúncias de usuáriosDispensa equipe dedicada de moderadores para medirAs denúncias podem ser adversárias
Minimizar visualizações de conteúdo nocivoPrioriza o conteúdo nocivo mais vistoExige rotular conteúdo com regularidade para medir

O roteiro adota minimizar o número de visualizações de conteúdo nocivo, sujeito a garantias de precisão. Esse objetivo responde à pergunta de classificar na hora ou esperar: quanto mais se espera, mais visualizações se acumulam. O roteiro também observa que conteúdo nocivo fica mais fácil de detectar quanto mais gente é exposta a ele.

03 · DADOS E SINAIS

Rótulos escassos, sinais abundantes

Os dados vêm em camadas. Os rótulos supervisionados são poucos e o conjunto mais valioso. As denúncias de usuários funcionam como rótulo aproximado, provavelmente correlacionado com o verdadeiro. Os comentários permitem treinar um modelo que prevê comentários a partir do corpo do post, o que gera representações de posts mais úteis do que o corpo sozinho.

Como o conteúdo nocivo é raro, treinar na distribuição bruta faria o modelo aprender a prever "não nocivo" para tudo e ainda atingir 99% de acurácia. A resposta do roteiro combina amostragem balanceada no treino com ponderação da perda para ajustar a troca entre precisão e recall.

As features mais informativas são o texto e as imagens do post. As de comportamento, como a razão de compartilhamentos por visualização, mudam rápido, e por isso o post precisa ser classificado também depois de criado. As do criador combinam embeddings, ricos mas lentos, com contagens em tempo real, rápidas mas ruidosas.

04 · MODELO

Fusão multimodal e múltiplas tarefas

O ponto de partida é um baseline simples: segundo o roteiro, uma regressão logística com as features numéricas e de embedding já é um bom começo.

AbordagemComo funcionaLimite
Modelos unimodais independentesModelos separados para texto e imagem, com previsões combinadas por max-poolingNão captura interações entre modalidades
Late fusionCodificadores separados e concatenação dos embeddings com features de comportamento e de usuárioInterações entre modalidades limitadas às camadas finais
Transformer multimodalProcessa texto, imagens e features tabulares ao mesmo tempoCusto computacional e complexidade

O roteiro adota o transformer multimodal e deixa o custo para a discussão de inferência.

O treino usa duas cabeças separadas: a tarefa principal, de classificar nocivo ou não, e a previsão da probabilidade de denúncias. Em produção, só a cabeça da tarefa principal é usada. Na perda principal entra um termo logarítmico pequeno sobre as visualizações, porque elas seguem uma distribuição de lei de potência e o conteúdo muito visto dominaria a perda.

Em vez de um softmax entre tipos de conteúdo, o roteiro prefere uma formulação multi-label, porque um mesmo conteúdo nocivo pode ter várias classes ao mesmo tempo.

05 · INFERÊNCIA E REVISÃO HUMANA

Do post à ação

Com 1B posts por dia, o transformer multimodal é grande e caro, provavelmente exigindo GPUs. O roteiro propõe um modelo leve e destilado, com menos features, que filtra rapidamente o que obviamente não viola, deixando o modelo pesado para o restante. Isso também dá um parâmetro para aumentar ou reduzir o consumo de recursos.

  1. O autor publica um post e o serviço de posts o recebe.

    Diagrama da arquitetura: Moderação: do post à ação
    CLAutor do post
    CPServiço de postsrecebe o post
    QFila de posts novos
    CPClassificador leve
    CPClassificador multimodal pesado
    CHCache de codificações
    CPCalibração e decisão
    CPServiço de ação
    QFila de revisão humana
    CLModeradores
  2. Todo post novo entra na fila e passa primeiro pelo classificador leve.

    Diagrama da arquitetura: Moderação: do post à ação
    CLAutor do post
    CPServiço de posts
    QFila de posts novos
    CPClassificador levefiltro rápido
    CPClassificador multimodal pesado
    CHCache de codificações
    CPCalibração e decisão
    CPServiço de ação
    QFila de revisão humana
    CLModeradores
  3. Se o score do filtro é alto o bastante, o post segue para o classificador pesado, que guarda e reaproveita codificações no cache.

    Diagrama da arquitetura: Moderação: do post à ação
    CLAutor do post
    CPServiço de posts
    QFila de posts novos
    CPClassificador leve
    CPClassificador multimodal pesadoanálise completa
    CHCache de codificaçõesreuso de codificações
    CPCalibração e decisão
    CPServiço de ação
    QFila de revisão humana
    CLModeradores
  4. A saída do classificador passa por uma camada de calibração que garante a precisão exigida.

    Diagrama da arquitetura: Moderação: do post à ação
    CLAutor do post
    CPServiço de posts
    QFila de posts novos
    CPClassificador leve
    CPClassificador multimodal pesado
    CHCache de codificações
    CPCalibração e decisãogarante a precisão
    CPServiço de ação
    QFila de revisão humana
    CLModeradores
  5. A decisão chega ao serviço de ação, que pode apagar o post, sinalizá-lo para revisão ou agir de outra forma.

    Diagrama da arquitetura: Moderação: do post à ação
    CLAutor do post
    CPServiço de posts
    QFila de posts novos
    CPClassificador leve
    CPClassificador multimodal pesado
    CHCache de codificações
    CPCalibração e decisão
    CPServiço de açãoapaga ou sinaliza
    QFila de revisão humana
    CLModeradores
  6. Os posts sinalizados esperam na fila de revisão, e os moderadores os revisam com capacidade limitada.

    Diagrama da arquitetura: Moderação: do post à ação
    CLAutor do post
    CPServiço de posts
    QFila de posts novos
    CPClassificador leve
    CPClassificador multimodal pesado
    CHCache de codificações
    CPCalibração e decisão
    CPServiço de ação
    QFila de revisão humanaaguardam revisão
    CLModeradorescapacidade limitada

Muitos posts usam imagens ou textos idênticos, e guardar e reusar as codificações evita passagens redundantes pelo modelo.

Depois da calibração, o sistema de ação pode apagar o post, sinalizá-lo para revisão ou agir de outra forma, e os moderadores têm capacidade limitada. No desenho, os posts sinalizados esperam em uma fila, tema de filas de mensagens.

O modelo também é acionado de novo quando acontecem eventos importantes, como denúncias, muitas visualizações ou comentários de desagrado. Uma rede leve de atualização funde os sinais de comportamento com os embeddings pesados.

06 · AVALIAÇÃO E DERIVA

Medir e acompanhar o que muda

Na avaliação online, dois modelos rodam lado a lado, candidato e controle, e só um age. Amostrar posts ao acaso exigiria muitos exemplos para medir uma prevalência abaixo de 1%. Por isso a pontuação de cada modelo orienta a subamostragem dos casos extremos, que são reponderados para não gerar viés.

Offline, as métricas sugeridas são PR-AUC e Recall@Precision95: a primeira é um indicador estável da força geral do modelo, e a segunda se alinha ao limiar de ação, com mais variância.

  1. Denúncias, reações e comentários chegam como sinais e o gatilho decide reclassificar o post.

    Diagrama da arquitetura: Moderação: reclassificação e ciclo de dados
    QSinais de comportamento
    CPGatilho de reclassificaçãodispara a reclassificação
    CHCache de codificações
    CPRede leve de atualização
    CPCalibração e decisão
    QFila de revisão humana
    CLModeradores
    DBRótulos dos moderadores
    DBConjunto de treino
    CPTreino do modelo
    NWMonitor de prevalência e deriva
  2. O gatilho reaproveita do cache as codificações de imagem e texto, que não precisam ser recomputadas.

    Diagrama da arquitetura: Moderação: reclassificação e ciclo de dados
    QSinais de comportamento
    CPGatilho de reclassificação
    CHCache de codificaçõesreuso sem recomputar
    CPRede leve de atualização
    CPCalibração e decisão
    QFila de revisão humana
    CLModeradores
    DBRótulos dos moderadores
    DBConjunto de treino
    CPTreino do modelo
    NWMonitor de prevalência e deriva
  3. Uma rede leve funde os novos sinais de comportamento ao embedding pesado, e a calibração precisa lidar com classificações repetidas do mesmo conteúdo.

    Diagrama da arquitetura: Moderação: reclassificação e ciclo de dados
    QSinais de comportamento
    CPGatilho de reclassificação
    CHCache de codificações
    CPRede leve de atualizaçãofunde sinais
    CPCalibração e decisãocalibração robusta
    QFila de revisão humana
    CLModeradores
    DBRótulos dos moderadores
    DBConjunto de treino
    CPTreino do modelo
    NWMonitor de prevalência e deriva
  4. No desenho, os posts em revisão chegam aos moderadores, cujos rótulos são gravados e replicados para o conjunto de treino.

    Diagrama da arquitetura: Moderação: reclassificação e ciclo de dados
    QSinais de comportamento
    CPGatilho de reclassificação
    CHCache de codificações
    CPRede leve de atualização
    CPCalibração e decisão
    QFila de revisão humana
    CLModeradores
    DBRótulos dos moderadoresveredito humano
    DBConjunto de treinonovos exemplos
    CPTreino do modelo
    NWMonitor de prevalência e deriva
  5. O treino usa o conjunto de treino e publica um novo modelo na rede de atualização, enquanto o monitor recebe as decisões para acompanhar a prevalência e a deriva.

    Diagrama da arquitetura: Moderação: reclassificação e ciclo de dados
    QSinais de comportamento
    CPGatilho de reclassificação
    CHCache de codificações
    CPRede leve de atualização
    CPCalibração e decisão
    QFila de revisão humana
    CLModeradores
    DBRótulos dos moderadores
    DBConjunto de treino
    CPTreino do modelonovo modelo
    NWMonitor de prevalência e derivaacompanha deriva

Conteúdo nocivo evolui rapidamente, em parte por causa de pessoas que buscam novas formas de driblar os sistemas. A Meta relata que, em abordagens tradicionais, leva vários meses para coletar e rotular exemplos de cada tipo novo. O Few-Shot Learner (FSL) é descrito como um modelo grande, multimodal e multilíngue, de poucos ou nenhum exemplo, que se adapta a tipos novos em semanas em vez de meses.

AspectoClassificador tradicionalFew-Shot Learner
RótulosMilhares, se não milhões, de exemplos para cada tipo novoA política pode ser descrita sem exemplos
Tempo para um tipo novoVários meses para coletar e rotularSemanas em vez de meses
Como aprendeCasamento de padrões em dados rotuladosPré-treinado em linguagem geral e em conteúdo violador e limítrofe, aprende o texto da política de forma implícita

O FSL aprende informação multimodal do post inteiro, com texto, imagem, URL e mais. Ele também pode servir para testar um conjunto novo de prováveis violações e entender se as definições propostas fazem sentido.

A Meta avaliou o efeito pela diferença de prevalência de conteúdo nocivo, isto é, a porcentagem de visualizações de conteúdo violador que as pessoas veem, o que combina com o objetivo de minimizar visualizações.

Perguntas frequentes

O que é Detecção de conteúdo nocivo?

Projeto de entrevista clássico. Pontos centrais: fusão multimodal, multi-task, desbalanceamento, fila de revisão humana e deriva adversarial.

O que o design de Detecção de conteúdo nocivo cobre?

Ele está organizado nestas seções: O que o sistema precisa decidir, Do que a plataforma se importa, Rótulos escassos, sinais abundantes, Fusão multimodal e múltiplas tarefas, Do post à ação e Medir e acompanhar o que muda.

Quanto tempo leva Detecção de conteúdo nocivo e qual é o nível?

Leva cerca de 16 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.