O que são dados sintéticos?

Dados sintéticos são informações geradas artificialmente por algoritmos de computador em vez de serem coletadas de eventos do mundo real. Pense nele como um simulador de voo para inteligência artificial (IA). Assim como um piloto aprende a voar em uma cabine simulada sem arriscar um avião real, os modelos de IA podem aprender a reconhecer padrões usando dados simulados sem arriscar a privacidade do usuário.

A principal diferença é que os dados sintéticos imitam as propriedades estatísticas dos dados reais, como médias, correlações e distribuições, mas não contêm informações identificáveis sobre pessoas reais. Eles parecem e agem como se fossem reais, mas nenhum ser humano participou da criação de um registro específico.

Como os dados sintéticos são gerados?

Gerar dados sintéticos não é apenas copiar e colar. Isso envolve o uso de modelos avançados de machine learning para entender o "formato" dos dados reais e, em seguida, criar amostras novas e originais que se encaixam nesse formato.

  • Os engenheiros costumam usar modelos generativos para fazer isso. Tecnologias como redes adversárias generativas (GANs), autoencoders variacionais (VAEs) e modelos de difusão analisam um conjunto de dados real para aprender seus padrões ocultos. Depois que o modelo aprende esses padrões, ele pode gerar um número infinito de amostras novas e falsas que são estatisticamente idênticas ao conjunto original.
  • Outro método comum é a simulação. É popular em setores como robótica e direção autônoma. Os desenvolvedores usam mecanismos de física, semelhantes aos usados em videogames, para criar mundos virtuais. Nesses mundos, eles podem gerar dados simulando cenários, como um carro dirigindo por uma cidade chuvosa ou um braço robótico pegando uma caixa, sem precisar de uma câmera ou sensor físico.

Tipos de dados sintéticos

Nem todos os dados sintéticos são iguais. Dependendo das suas necessidades de privacidade em relação à precisão, você pode escolher diferentes tipos.

Esses dados são gerados do zero. Eles não contêm dados originais do usuário, o que significa que não há mapeamento um para um entre um registro sintético e uma pessoa real. Como não se relaciona a nenhum indivíduo específico, oferece o mais alto nível de proteção de privacidade. No entanto, isso exige uma validação rigorosa para garantir que ainda seja precisa o suficiente para ser útil no treinamento de IA.

Às vezes, é necessário manter alguns dados reais para que o conjunto de dados seja útil. Os dados parcialmente sintéticos envolvem a coleta de um conjunto de dados real e a substituição apenas das partes sensíveis, como nomes, números de Previdência Social ou endereços, por valores sintéticos. O restante dos dados permanece distinto. Essa abordagem equilibra a privacidade com alta utilidade, mas apresenta um risco ligeiramente maior de reidentificação em comparação com dados totalmente sintéticos.

Essa abordagem combina registros reais e sintéticos para criar um "superconjunto" de dados. Ela costuma ser usada para enriquecer um conjunto de dados real menor. Por exemplo, se você tiver muitos dados sobre transações bancárias regulares, mas muito poucos dados sobre fraudes, poderá gerar registros sintéticos de fraudes para misturar com os reais. Isso ajuda a "aumentar a amostragem" de eventos raros para que o modelo de IA tenha exemplos suficientes para aprender.

Dados sintéticos x dados reais

Dados reais são o padrão para precisão, mas podem ser caros de coletar, muitas vezes confusos ou incompletos e estritamente restritos por leis de privacidade como GDPR ou HIPAA. A coleta de dados do mundo real também pode levar meses ou anos.

Por outro lado, os dados sintéticos podem ser menos caros para escalonar. Você pode gerar milhões de registros em horas. Eles são perfeitamente rotulados (porque o computador os criou, então sabe exatamente o que criou) e estão em conformidade com a privacidade por design. Além disso, os dados sintéticos podem ser equilibrados para remover os vieses naturais que costumam ser encontrados em coleções do mundo real.

Recurso

Dados reais

Dados sintéticos

Custo

Maior (coleta e rotulagem)

Menor (somente poder de computação)

Velocidade

Mais lento (meses/anos)

Mais rápido (horas/dias)

Privacidade

Mais restrito (riscos de PII)

Mais seguro (sem PII)

Precisão

Maior (reflete a realidade)

Variável (depende da qualidade do modelo)

Recurso

Dados reais

Dados sintéticos

Custo

Maior (coleta e rotulagem)

Menor (somente poder de computação)

Velocidade

Mais lento (meses/anos)

Mais rápido (horas/dias)

Privacidade

Mais restrito (riscos de PII)

Mais seguro (sem PII)

Precisão

Maior (reflete a realidade)

Variável (depende da qualidade do modelo)

Casos de uso de dados sintéticos no setor

Os veículos autônomos e a robótica dependem muito de dados sintéticos porque a coleta de informações do mundo real é lenta. Mesmo depois de registrar milhões de quilômetros percorridos, os testes físicos não conseguem considerar todos os cenários de acidentes exclusivos. Ao gerar ambientes de direção virtuais, os engenheiros podem treinar carros em bilhões de quilômetros de estradas simuladas, testando-os em situações perigosas, como uma criança correndo para a rua, sem nenhum risco físico.

Os dados médicos são extremamente privados e difíceis de compartilhar. Os dados sintéticos permitem que os pesquisadores criem registros falsos de pacientes que imitam os padrões estatísticos de doenças reais. Isso permite que os hospitais compartilhem dados para pesquisas sobre câncer ou estudos de doenças raras sem violar a HIPAA. Uma pesquisa da ManageEngine descobriu que 81% das organizações de saúde agora usam dados sintéticos para inovar e gerenciar preocupações com a privacidade.

A detecção de fraudes é difícil porque elas são raras. Isso dificulta o aprendizado da IA sobre como a fraude se parece. Os bancos podem usar dados sintéticos para gerar milhares de padrões de transações fraudulentas. Esse "upsampling" ajuda a treinar a IA para identificar atividades suspeitas sem expor o histórico financeiro real dos clientes.

Os desenvolvedores precisam de grandes quantidades de dados para testar o desempenho de um aplicativo sob pressão. Isso é conhecido como "gerenciamento de dados de teste". Em vez de usar uma cópia perigosa do banco de dados de produção real, as equipes de DevOps podem preencher um ambiente de teste com milhões de usuários sintéticos. Isso permite que eles testem novas atualizações de apps com segurança e garantam que o sistema possa lidar com alto tráfego.

Benefícios dos dados sintéticos

Privacidade e compliance

Os dados sintéticos reduzem muito o risco de expor informações de identificação pessoal (PII). Como os dados não se referem a nenhuma pessoa real, eles geralmente ficam fora do escopo de regulamentações rigorosas como GDPR e CCPA. Isso permite que equipes globais compartilhem conjuntos de dados com mais facilidade entre fronteiras, sem ter que lidar com obstáculos legais complexos.

Custo e velocidade

O uso de dados sintéticos pode acelerar significativamente o ciclo de vida de "dados para IA". Você não precisa contratar pessoas para rotular imagens manualmente ou esperar que os dados sejam coletados em campo. Essa eficiência pode reduzir os custos e acelerar o desenvolvimento.

Mitigação de vieses

Os dados do mundo real costumam refletir os preconceitos do mundo real. Se você treinar uma IA com dados históricos de contratação, ela poderá aprender a preferir um grupo demográfico em detrimento de outro. Os dados sintéticos permitem que os desenvolvedores corrijam artificialmente esses desequilíbrios. Você pode gerar mais dados para grupos sub-representados, como garantir que uma IA reconheça todos os tons de pele ou gêneros igualmente, para criar modelos mais justos e robustos.

Teste de casos extremos

Alguns cenários são muito perigosos ou raros para serem testados na vida real. Não é possível destruir mil carros reais só para ver como o sensor do airbag funciona. Os dados sintéticos permitem criar esses "casos extremos" com segurança. Você pode simular eventos raros, como uma nevasca em Phoenix ou uma falha específica do motor, para treinar sistemas em situações que representam menos de 0,01% dos dados do mundo real, mas são essenciais para a segurança.

Geração de dados tabulares sintéticos usando o Gemini na Gemini Enterprise Agent Platform

Para desenvolvedores, a maneira mais rápida de gerar um conjunto de dados sintéticos de pequeno a médio porte (por exemplo, para testes de unidade ou demonstrações simples) geralmente não é treinar uma GAN complexa, mas aproveitar os recursos generativos de modelos de linguagem grandes (LLMs, na sigla em inglês). Esses recursos agora estão unificados na Gemini Enterprise Agent Platform (antiga Vertex AI). Essa plataforma oferece um ambiente abrangente para criar, implantar e escalonar modelos de machine learning, incluindo acesso a modelos avançados como o Gemini.


Neste tutorial, vamos usar o SDK da Agent Platform (antigo SDK da Vertex AI) para Python e o Gemini para gerar um conjunto de dados sintético de "transações de clientes" do zero. Imagine que você é um desenvolvedor que está criando um painel de fintech. Você precisa de 50 linhas de "dados de transação" para testar seu front-end.

Você precisa de campos específicos: transaction_id, timestamp, amount, merchant_category e is_fraud.

Etapa 1: configurar seu ambiente

Primeiro, verifique se o SDK da Agent Platform está instalado no seu ambiente Python. Embora a plataforma tenha sido renomeada, o pacote Python continua sendo google-cloud-aiplatform.

  • Bash
Carregando...

Etapa 2: inicializar o SDK da Agent Platform

Importe a biblioteca e inicialize-a com os detalhes do projeto. Essa configuração é padrão para usar modelos do Gemini com o SDK da Agent Platform na Gemini Enterprise Agent Platform.

  • Python
Carregando...

Etapa 3: elabore um comando estruturado

A qualidade dos dados sintéticos de um LLM depende muito do seu comando. Você precisa ser específico sobre o esquema, as restrições (por exemplo, sem números negativos) e o formato de saída (CSV ou JSON). Instruções claras e específicas são fundamentais para a engenharia de comando eficaz com os modelos do Gemini na Gemini Enterprise Agent Platform.

  • Python
Carregando...

Gerar e analisar os dados

Envie o comando ao modelo e carregue a resposta diretamente em um DataFrame do Pandas. O método generate_content faz parte do SDK da Agent Platform.

  • Python
Carregando...

Usar um LLM de uso geral como o Gemini para dados tabulares sintéticos costuma ser mais rápido do que treinar um modelo estatístico personalizado (como um VAE) quando você só precisa de dados "plausíveis" para testar a funcionalidade do software.

  • Velocidade: você recebe os dados em segundos
  • Flexibilidade: você pode mudar o esquema apenas editando o comando de texto
  • Lógica: você pode pedir ao modelo para incorporar uma lógica complexa (por exemplo, "se o comerciante for do setor de viagens, o valor precisa ser superior a US$ 100"), o que é difícil de fazer com randomizadores simples

*Observação para escala empresarial: se você precisar gerar milhões de linhas que clonem estatisticamente um conjunto de dados privado enorme, provavelmente vai passar de comandos simples de LLM para o uso de pipelines da Gemini Enterprise Agent Platform (antiga Vertex AI Pipelines) integrados a parceiros especializados como Gretel.ai ou MOSTLY AI, que estão disponíveis diretamente no Google Cloud Marketplace. Esses fluxos de trabalho avançados podem ser orquestrados e gerenciados na Gemini Enterprise Agent Platform.

Resolva seus desafios comerciais com o Google Cloud

Clientes novos recebem US$ 300 em créditos para usar no Google Cloud.

Vá além

Comece a criar no Google Cloud com US$ 300 em créditos e mais de 20 produtos do programa Sempre gratuito.

Google Cloud