Capítulo 13 — Sistemas de dados
Mapa da aula
Aula 13 publicada. Mapa, exemplo, EX037.
flowchart TD
N0["13.1 Esquemas, linhagem e versões"]
N1["13.2 Integridade dos dados de treinamento"]
N2["13.3 Repositórios de recuperação"]
N3["13.4 Proteção de dados"]
N4["Síntese"]
N0 --> N1 --> N2 --> N3 --> N4
N4 --> EX["Exemplo resolvido"]
EX --> Q["Exercício EX037"]
Desenho lógico
flowchart LR
N0["13.1 Esquemas, linhagem e versões"]
N1["13.2 Integridade dos dados de treinamento"]
N2["13.3 Repositórios de recuperação"]
N3["13.4 Proteção de dados"]
N4["Síntese"]
N0 --> N1 --> N2 --> N3 --> N4 --> Q["EX037"]
[13.1 Esquemas, linhagem e versões]
|
v
[13.2 Integridade dos dados de treinamento]
|
v
[13.3 Repositórios de recuperação]
|
v
[13.4 Proteção de dados]
|
v
[Síntese]
|
v
[Exemplo resolvido] --> [Exercício EX037]
Objetivos de aprendizagem
Você vai (1) modelar conjuntos de dados com esquemas, linhagem e versões; (2) proteger os dados de treinamento e de recuperação contra adulteração e vazamento; (3) projetar repositórios de geração aumentada por recuperação (RAG) com controle de acesso; e (4) aplicar princípios de proteção de dados aos dados de IA.
13.1 Esquemas, linhagem e versões
Todo conjunto de dados deve ter um esquema, um registro de onde veio cada item (linhagem ou proveniência) e um identificador de versão. Ferramentas de versionamento de dados ou simples hashes de conteúdo permitem dizer exatamente quais dados treinaram qual modelo — essencial ao investigar um envenenamento. Quando um modelo começa a se comportar de forma estranha, a primeira pergunta de uma investigação é com o que ele aprendeu. Sem versões, a equipe só pode adivinhar se um lote suspeito de rótulos foi incluído. Com elas, consegue listar cada item acrescentado desde o último modelo bom, descobrir quem forneceu cada um e retreinar com uma versão limpa para confirmar a causa.
13.2 Integridade dos dados de treinamento
O envenenamento exige acesso de escrita a parte dos dados de treinamento. Carlini et al. (arXiv:2302.10149) mostraram que conjuntos de dados em escala web distribuídos como listas de URLs podem ser envenenados com a compra de domínios expirados; hashes de integridade do conteúdo no momento da coleta derrotam esse ataque específico. Restrinja quem pode acrescentar ou rerrotular dados, registre as mudanças e revise amostras de fontes novas. Hashes protegem o que foi coletado, não se aquilo era honesto desde o início. Um terceirizado de rotulagem com acesso legítimo ainda pode introduzir rótulos ruins, então revise amostras por fonte e observe mudanças nas estatísticas dos rótulos depois de cada entrega.
13.3 Repositórios de recuperação
Sistemas RAG guardam trechos de documentos e embeddings num banco de dados vetorial. O OWASP LLM 2025 lista fraquezas de vetores e embeddings (LLM08): a falta de controle de acesso permite que um usuário recupere documentos que não deveria ver; documentos envenenados podem injetar instruções. Imponha permissões por documento no momento da recuperação, usando a identidade do usuário final, e rotule a proveniência e o nível de confiança de cada trecho. Conferir com a identidade do usuário importa porque o próprio serviço de recuperação costuma ter acesso a tudo. Se ele buscar com sua própria autoridade, o modelo recebe documentos que o usuário jamais poderia abrir, e uma pergunta bem escolhida os trará à tona numa resposta. Rótulos de proveniência permitem que o prompt e a camada de políticas tratem com a devida cautela textos de terceirizados ou de fontes externas.
13.4 Proteção de dados
Minimize os dados pessoais no treinamento e na recuperação; defina limites de retenção; considere a privacidade diferencial para treinamentos sensíveis (Abadi et al., arXiv:1607.00133). A inferência de pertencimento (Shokri et al., arXiv:1610.05820) mostra que modelos podem revelar se um registro foi usado. A minimização é a proteção mais barata: dados nunca coletados não podem vazar por um modelo. Limites de retenção removem os dados quando sua finalidade termina, o que também reduz o que um vazamento poderia expor. A privacidade diferencial acrescenta ruído calibrado durante o treinamento para que nenhum registro isolado mude muito o modelo, com algum custo em acurácia. A inferência de pertencimento torna o risco concreto, já que até saídas agregadas podem revelar que o registro de uma pessoa específica foi usado.
13.5 Exemplo resolvido (caso sintético da NRS)
O repositório vetorial do Wrench guardava manuais, notas dos técnicos e relatórios de incidentes de segurança do RH num único índice. Qualquer técnico conseguia recuperar relatórios do RH por meio de perguntas engenhosas. Sam dividiu os índices por sensibilidade, acrescentou listas de controle de acesso por documento, conferidas contra o usuário solicitante no momento da consulta, e acrescentou um campo de proveniência (interno/terceirizado/externo) que o template do prompt usa para marcar textos não confiáveis. Dividir os índices sozinho não teria bastado, já que um técnico que consulta o índice certo ainda precisa de uma verificação por documento. O campo de proveniência também apoia investigações: uma resposta que citou um texto de terceirizado pode ser rastreada até o documento de origem.
13.6 Erros e limites
Três erros são comuns: um único índice de recuperação para todos os níveis de sensibilidade; conferir permissões com a identidade do serviço em vez da do usuário; e nenhum registro de quais dados treinaram qual modelo. Um índice único impõe um só modelo de permissões a documentos de sensibilidades muito diferentes, então ou o acesso fica amplo demais, ou o sistema se torna inutilizável. Conferir com a identidade do serviço entrega a cada usuário os direitos do serviço. A falta de registros de treinamento transforma as investigações de envenenamento em adivinhação. A revisão de projeto de Sam faz três perguntas correspondentes: quantos índices e por quê, a identidade de quem é conferida na recuperação e onde fica registrada a versão dos dados de treinamento de cada modelo.
Exercícios
- EX037 — Linhagem. Que três fatos a linhagem deve registrar para um item de treinamento? Rubrica: 3 = fonte, momento da coleta/versão, transformações (e quem o acrescentou); 2 = dois; 1 = um; 0 = nenhuma.
- EX038 — Acesso no RAG. Por que a recuperação precisa usar a identidade do usuário final? Rubrica: 3 = do contrário, o modelo recupera documentos que o usuário não tem permissão para ver (confused deputy); 2 = parcial; 1 = vago; 0 = errado.
- EX039 — Domínios expirados. Como os hashes de conteúdo derrotam o ataque de envenenamento por domínios expirados? Rubrica: 3 = um conteúdo baixado que mudou depois da coleta falha no hash e é rejeitado; 2 = parcial; 1 = vago; 0 = errado.
Síntese
Os dados são a superfície de ataque que treina e informa os modelos. Linhagem, controle de escrita, permissões de recuperação por usuário e minimização de dados os protegem.
Continue estudando — capítulo 13 de 50
← Capítulo 12 (rascunho) · Índice de capítulos do curso · Capítulo 14 (rascunho) →