◇ OpenCyber Academy
Graduação · Capítulo 34 · Português

Capítulo 34 — Projeto comparativo

Ensino gratuito e aberto para quem deseja proteger pessoas e tecnologias. Não é preciso criar uma conta para estudar ou consultar as respostas.

Capítulo 34 — Projeto comparativo

Mapa da aula

Aula 34 publicada. Mapa, exemplo, EX100.

flowchart TD
  N0["34.1 Escolha do que comparar"]
  N1["34.2 Justiça"]
  N2["34.3 Compromissos"]
  N3["34.4 A comparação de extração"]
  N4["34.4b Redação do relatório comparativo"]
  N5["Síntese"]
  N0 --> N1 --> N2 --> N3 --> N4 --> N5
  N5 --> EX["Exemplo resolvido"]
  EX --> Q["Exercício EX100"]

Desenho lógico

flowchart LR
  N0["34.1 Escolha do que comparar"]
  N1["34.2 Justiça"]
  N2["34.3 Compromissos"]
  N3["34.4 A comparação de extração"]
  N4["34.4b Redação do relatório comparativo"]
  N5["Síntese"]
  N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> Q["EX100"]
[34.1 Escolha do que comparar]
    |
    v
[34.2 Justiça]
    |
    v
[34.3 Compromissos]
    |
    v
[34.4 A comparação de extração]
    |
    v
[34.4b Redação do relatório comparativo]
    |
    v
[Síntese]
    |
    v
[Exemplo resolvido] --> [Exercício EX100]

Objetivos de aprendizagem

Você vai (1) comparar duas ou mais abordagens de segurança de IA num benchmark comum; (2) definir condições justas de comparação; (3) relatar os compromissos entre segurança, utilidade e custo; e (4) redigir um relatório comparativo.

34.1 Escolha do que comparar

Escolha abordagens entre as quais um profissional realmente poderia escolher: por exemplo, um classificador de conteúdo contra uma lista de ferramentas permitidas contra um padrão de dois modelos, para injeção; ou arredondamento da confiança contra saídas só com rótulos contra cotas de consulta, para extração. O grupo de Rina escolheu as defesas contra extração e pertencimento para a API do NoShow voltada a parceiros porque a LCH estava de fato decidindo entre elas, e cada uma tinha um defensor na equipe de dados da clínica. Uma comparação que incluísse uma abordagem que ninguém implantaria, como desligar a API por completo, seria fácil de vencer e pouco útil para quem estava fazendo a escolha.

34.2 Justiça

Dê a cada abordagem os mesmos dados, tarefas, orçamento de ataque e esforço de ajuste. Use um conjunto de teste reservado. Inclua uma linha de base sem defesa. Se uma abordagem exigir mais recursos, relate-os. No grupo de Rina, a abordagem de categorias foi ajustada primeiro durante uma semana, enquanto o arredondamento foi testado uma única vez, com uma configuração padrão. Um revisor percebeu o desequilíbrio, e o grupo deu ao arredondamento o mesmo esforço, testando várias precisões antes de comparar de novo. A classificação não mudou, mas a comparação ganhou credibilidade. Eles também relataram que as cotas exigiam um serviço de monitoramento de que as outras duas opções não precisavam.

34.3 Compromissos

Relate juntos o sucesso dos ataques, o sucesso das tarefas, a latência e o custo. Apresente uma tabela e, quando útil, um gráfico de segurança contra utilidade. Nenhuma abordagem vence em tudo; o relatório deve ajudar o leitor a escolher para o seu contexto. No NoShow, a tabela tinha linhas para cada opção e colunas para vantagem de pertencimento, fidelidade da extração, utilidade para os parceiros e custo de operação. O gráfico pôs as categorias como a melhor em segurança, mas a pior em utilidade para os parceiros. Um parceiro que só precisava decidir se enviava um lembrete achou as categorias suficientes; um parceiro de pesquisa que queria escores detalhados não achou, então o relatório tratou dos dois.

34.4 A comparação de extração

O laboratório de extração fornece um pequeno resultado comparativo: saídas com precisão total permitem que um atacante copie exatamente um modelo linear; o arredondamento com duas casas decimais quase não muda a fidelidade; o arredondamento para inteiros baixa a concordância de rótulos para 0.882, mas ainda produz uma cópia útil. Cotas de consulta e monitoramento são, portanto, necessários ao lado das restrições de saída.

"""Lab X: model extraction of a toy linear scoring API by querying it.
The 'API' returns a real-valued score; d+1 well-chosen queries recover the
weights exactly, and rounding the output limits fidelity. Synthetic model."""
import random
rng = random.Random(9)
d = 5
secret_w = [round(rng.uniform(-2, 2), 3) for _ in range(d)]; secret_b = 0.42
def api(x, decimals=None):
    s = sum(a*b for a, b in zip(secret_w, x)) + secret_b
    return round(s, decimals) if decimals is not None else s
for dec in (None, 2, 0):
    b = api([0]*d, dec)
    w = [api([1 if j == i else 0 for j in range(d)], dec) - b for i in range(d)]
    err = max(abs(a-c) for a, c in zip(w, secret_w))
    test = [[rng.uniform(-1, 1) for _ in range(d)] for _ in range(500)]
    agree = sum((sum(a*c for a, c in zip(w, x))+b > 0) == (api(x) > 0) for x in test)/500
    print(f"output_rounding={str(dec):4s} queries={d+1} max_weight_error={err:.3f} label_agreement={agree:.3f}")

Saída esperada:

output_rounding=None queries=6 max_weight_error=0.000 label_agreement=1.000
output_rounding=2    queries=6 max_weight_error=0.004 label_agreement=0.998
output_rounding=0    queries=6 max_weight_error=0.534 label_agreement=0.882

Os números do laboratório deixam o ponto claro: com arredondamento para inteiros, o erro máximo dos pesos sobe para 0.534, e ainda assim a cópia concorda com o original em 0.882 dos rótulos depois de apenas seis consultas. Um atacante que quer uma imitação funcional, e não os pesos exatos, quase não é atrasado, e é por isso que um limite para o número de consultas continua necessário.

34.4b Redação do relatório comparativo

Abra com a pergunta de decisão, depois as condições da comparação, depois uma tabela de resultados com intervalos, depois uma discussão dos compromissos e uma recomendação ligada ao contexto ("para parceiros que precisam de escores, use arredondamento mais cotas; caso contrário, categorias"). Feche com as limitações, como dados sintéticos e os tipos de ataque não testados. O grupo de Rina pôs sua recomendação na primeira página, para que os gerentes dos parceiros pudessem lê-la sem as tabelas. O parágrafo de limitações nomeou os dados sintéticos do NoShow e a falta de qualquer teste contra um atacante adaptativo que distribua as consultas entre várias contas de parceiros, algo que cotas por parceiro não pegariam.

34.5 Exemplo resolvido (caso sintético da LCH)

O grupo de Rina comparou três formas de proteger a API do NoShow para parceiros: arredondar as probabilidades para uma casa decimal, devolver apenas três categorias de risco e cotas por parceiro com monitoramento. Com dados sintéticos, as categorias reduziram mais a vantagem da inferência de pertencimento (de 0.18 para 0.03) e a fidelidade da extração para 0.84 de concordância de rótulos, ao custo de os parceiros perderem os escores detalhados. As cotas não reduziram o vazamento por consulta, mas limitaram o total de consultas. O grupo recomendou categorias mais cotas. Os números de pertencimento vieram da repetição do método do Lab M na cópia sintética do NoShow, então a redução pode ser conferida com o mesmo código.

34.6 Erros e limites

Três erros são comuns: esforço de ajuste desigual; relatar apenas a métrica de segurança; e declarar um vencedor universal. Ajustar uma abordagem por uma semana e outra por uma hora faz o resultado refletir o esforço, e não o projeto, como quase aconteceu com o grupo de Rina. Relatar apenas a vantagem de pertencimento teria escondido que os parceiros perdem os escores detalhados na opção de categorias. Declarar as categorias vencedoras para todos os parceiros ignora o parceiro de pesquisa cujo trabalho precisa de escores detalhados; a recomendação deve nomear o contexto em que vale e os parceiros a que serve.

Exercícios

Síntese

Os projetos comparativos ensinam a avaliação justa e o relato de compromissos — a evidência de que os profissionais precisam para escolher controles.

Continue estudando — capítulo 34 de 40

← Capítulo 33 (rascunho) · Índice de capítulos do curso · Capítulo 35 (rascunho) →