Mapa da aula
Aula 11 publicada. Mapa, exemplo, EX051.
flowchart TD
N0["11.1 Escopo"]
N1["11.2 Planejamento"]
N2["11.3 Execução"]
N3["11.4 Avaliação"]
N4["11.5 Entrega"]
N5["Síntese"]
N0 --> N1 --> N2 --> N3 --> N4 --> N5
N5 --> EX["Exemplo resolvido"]
EX --> Q["Exercício EX051"]
Desenho lógico
flowchart LR
N0["11.1 Escopo"]
N1["11.2 Planejamento"]
N2["11.3 Execução"]
N3["11.4 Avaliação"]
N4["11.5 Entrega"]
N5["Síntese"]
N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> Q["EX051"]
[11.1 Escopo]
|
v
[11.2 Planejamento]
|
v
[11.3 Execução]
|
v
[11.4 Avaliação]
|
v
[11.5 Entrega]
|
v
[Síntese]
|
v
[Exemplo resolvido] --> [Exercício EX051]
Objetivos de aprendizagem
Você vai (1) definir o escopo de um projeto aplicado de segurança de IA com uma organização; (2) planejar o trabalho, as evidências e as decisões; (3) executar com autorização e segurança; (4) avaliar os resultados contra critérios; e (5) entregar resultados que a organização possa usar.
11.1 Escopo
Um bom projeto responde a uma decisão que a organização precisa tomar: "Devemos habilitar a remarcação autônoma?", "A deduplicação reduz o vazamento do nosso modelo ajustado?" Combine quem é o responsável pela decisão, os sistemas no escopo, a autorização por escrito, as regras de dados (sintéticos ou aprovados), os critérios de sucesso e o cronograma. O projeto de Tomás, no exemplo resolvido abaixo, teve o escopo definido dessa forma, com critérios combinados para a vantagem e a qualidade das respostas. No projeto de Tomás, a responsável pela decisão era Amira, o sistema no escopo era uma cópia isolada do modelo de sugestão de respostas e os dados eram mensagens sintéticas de clientes. Escreva tudo isso e obtenha a assinatura antes de começar qualquer teste.
11.2 Planejamento
Planeje em fases: linha de base (estado atual e risco), intervenção (projeto ou controles), avaliação (testes controlados), apoio à decisão (relatório e recomendação), entrega. Cada fase tem um entregável e uma revisão. Mantenha um registro de riscos do próprio projeto: danos causados pelos testes, exposição de dados, atrasos no cronograma. No projeto de Tomás, as fases foram uma medição de vazamento de linha de base, a deduplicação como intervenção, testes controlados na cópia isolada, uma recomendação e a entrega. Cada entregável foi revisado com Amira, a responsável pela decisão, e o registro de riscos era atualizado na revisão semanal.
11.3 Execução
Trabalhe em cópias isoladas. Registre todo teste. Pare e escale se encontrar uma vulnerabilidade ativa que afete clientes; isso tem prioridade sobre o cronograma do projeto. Faça revisões semanais com o responsável pela decisão. Tomás trabalhou apenas na cópia isolada da Corvane e registrou cada execução com as versões. Anote no log do projeto qualquer coisa inesperada, mesmo que não tenha mudado o resultado, e conte ao responsável pela decisão na revisão semanal seguinte. Mantenha os dados de teste e os logs na cópia isolada.
11.4 Avaliação
Meça contra os critérios combinados no escopo, incluindo os efeitos colaterais.
"""Lab M: membership inference against an overfit 1-nearest-neighbour 'model'
that returns a confidence score. Synthetic records only; teaching model."""
import random, math
rng = random.Random(5)
def rec():
y = rng.random() < 0.5
return [rng.gauss(0.6 if y else -0.6, 1.0) for _ in range(4)], int(y)
members = [rec() for _ in range(150)]; nonmembers = [rec() for _ in range(150)]
def confidence(x, y, k):
# k-NN vote share for the true label, computed over the training set
d = sorted((sum((a-b)**2 for a, b in zip(x, m)), my) for m, my in members)
return sum(1 for _, my in d[:k] if my == y)/k
def auc(pos, neg):
s = sum((p > n) + 0.5*(p == n) for p in pos for n in neg)
return s/(len(pos)*len(neg))
for k in (1, 5, 25):
pos = [confidence(x, y, k) for x, y in members]
neg = [confidence(x, y, k) for x, y in nonmembers]
best = max(sum(p >= t for p in pos)/len(pos) - sum(n >= t for n in neg)/len(neg)
for t in sorted(set(pos + neg)))
print(f"k={k:2d} attack_auc={auc(pos, neg):.3f} best_advantage={best:.3f}")
Saída esperada:
k= 1 attack_auc=0.600 best_advantage=0.200
k= 5 attack_auc=0.521 best_advantage=0.073
k=25 attack_auc=0.520 best_advantage=0.060
Tomás mediu a vantagem e a qualidade das respostas contra os critérios combinados no escopo: vantagem abaixo de 0,1, com perda de qualidade inferior a 2 pontos. Ele relatou as duas, incluindo o custo em qualidade. Se um critério não for atingido, diga isso e explique o que seria necessário para atingi-lo. Use casos reservados na medição final e inclua casos adaptativos escritos por alguém que não construiu a defesa. Relate os números com intervalos.
11.5 Entrega
Entregue: o relatório; o harness de avaliação e os conjuntos de testes, para que os testes possam ser reexecutados; as mudanças de configuração; os runbooks; e uma lista de riscos em aberto com responsáveis. Um projeto que não pode ser repetido depois que você sai tem valor limitado. Tomás entregou o harness, a tarefa de deduplicação e um runbook para testar de novo após cada ajuste, para que a Corvane possa repetir a medição. Inclua responsáveis nomeados para os riscos em aberto e uma data para o primeiro novo teste. Verifique se outra pessoa consegue rodar o harness antes de você sair.
11.6 Exemplo resolvido (caso sintético da Corvane)
Um estudante em estágio, Tomás, assume a pergunta de Amira: deduplicar as mensagens de clientes antes de ajustar um modelo de sugestão de respostas reduz o vazamento por inferência de pertencimento? Critérios: vantagem do ataque abaixo de 0,1, com perda inferior a 2 pontos na qualidade das respostas. No análogo do laboratório, um modelo que na prática memoriza seus registros de treinamento (k = 1) dá vantagem de 0,20; à medida que generaliza (k maior), a vantagem cai para cerca de 0,06–0,07. Na cópia isolada da Corvane, a deduplicação reduz a vantagem de 0,17 para 0,06, com perda de 1 ponto de qualidade. Ele entrega o harness, a tarefa de deduplicação e um runbook para testar de novo após cada ajuste. Os critérios foram atingidos.
11.7 Erros e limites
Três erros são comuns: projetos sem responsável pela decisão; testar em produção; e entregar um relatório, mas nenhum harness. Cada erro limita o valor do projeto. Sem um responsável pela decisão, os resultados não têm para onde ir. Testar em produção pode prejudicar clientes e viola a autorização. Um relatório sem o harness não pode ser repetido depois do próximo ajuste, e é por isso que Tomás entregou seu harness e seu runbook. Resolva os três pontos no plano do projeto antes de o trabalho começar e peça ao seu orientador que os confirme por escrito.
Exercícios
- EX051 — Escopo. Escreva um escopo de uma página para um projeto aplicado sobre a robustez do DocRead. Rubrica: 3 = decisão, responsável, escopo, autorização, dados, critérios, cronograma; 2 = cinco; 1 = três; 0 = nenhum.
- EX052 — Riscos do projeto. Liste quatro riscos do projeto com mitigações. Rubrica: 3 = quatro pertinentes; 2 = três; 1 = um ou dois; 0 = nenhum.
- EX053 — Vulnerabilidade ativa. Durante o projeto, você descobre endereços de clientes expostos pelo Copilot. O que você faz? Rubrica: 3 = parar, escalar, preservar evidências, seguir o processo de incidentes; 2 = parcial; 1 = anotar no relatório; 0 = continuar.
- EX054 — Laboratório de MIA. Interprete as linhas do laboratório para a pergunta sobre deduplicação. Rubrica: 3 = a memorização (k = 1) dá a maior vantagem, ligação com a deduplicação, ressalva de modelo de brinquedo; 2 = parcial; 1 = vago; 0 = errado.
- EX055 — Entrega. Liste o pacote de entrega do projeto de Tomás. Rubrica: 3 = relatório, harness, conjuntos, configuração, runbook, riscos; 2 = quatro; 1 = dois; 0 = nenhum.
Síntese
Projetos aplicados servem a uma decisão real, rodam com segurança sob autorização, medem contra critérios combinados e deixam ferramentas que a organização pode reutilizar.
Continue estudando — capítulo 11 de 12
← Capítulo 10 (rascunho) · Índice de capítulos do curso · Capítulo 12 (rascunho) →