Fazendo Equipe-Vermelha em Modelos de Linguagem com Modelos de Linguagem

De Ethan Perez, Saffron Huang, Francis Song, Trevor Cai, Roman Ring, John Aslanides, Amelia Glaese, Nat McAleese, Geoffrey Irving

Em nosso artigo recente, mostramos que é possível encontrar automaticamente entradas que elicitam textos prejudiciais de modelos de linguagem, gerando entradas usando os próprios modelos de linguagem. Nossa abordagem fornece uma ferramenta para encontrar comportamentos prejudiciais do modelo antes que os usuários sejam impactados, embora enfatizemos que ela deve ser vista como um componente junto com muitas outras técnicas que serão necessárias para encontrar danos e mitigá-los uma vez encontrados.

Grandes modelos de linguagem generativos, como o GPT-3 e o Gopher, têm uma capacidade notável de gerar textos de alta qualidade, mas são difíceis de implementar no mundo real. Os modelos de linguagem generativos apresentam o risco de gerar textos muito prejudiciais, e mesmo um pequeno risco de danos é inaceitável em aplicações do mundo real.

Por exemplo, em 2016, a Microsoft lançou o bot do Twitter Tay para tuitar automaticamente em resposta aos usuários. Em 16 horas, a Microsoft derrubou Tay depois que vários usuários adversários elicitaram tuítes racistas e sexualmente carregados de Tay, que foram enviados a mais de 50.000 seguidores. O resultado não foi por falta de cuidado da parte da Microsoft :

Embora estivéssemos preparados para muitos tipos de abusos do sistema, havíamos cometido uma omissão crítica para este ataque específico.

O problema é que existem muitas entradas possíveis que podem fazer com que um modelo gere textos prejudiciais. Como resultado, é difícil encontrar todos os casos em que um modelo falha antes de ser implementado no mundo real. Trabalhos anteriores dependem de anotadores humanos pagos para descobrirem manualmente casos de falha (Xu et al. 2021entre outros). Essa abordagem é eficaz, mas dispendiosa, limitando o número e a diversidade de casos de falha encontrados.

Nosso objetivo é complementar os testes manuais e reduzir o número de omissões críticas, encontrando casos de falha (ou fazendo “equipe-vermelha”) de forma automática. Para isso, geramos casos de teste utilizando um modelo de linguagem próprio e utilizamos um classificador para detectar diversos comportamentos prejudiciais nos casos de teste, conforme mostrado abaixo:

Nossa abordagem revela uma variedade de comportamentos de modelo prejudiciais:

  1. Linguagem ofensiva: discurso de ódio, palavrões, conteúdo sexual, discriminação, etc.
  2. Vazamento de dados: geração de informações protegidas por direitos autorais ou privadas de identificação pessoal do corpus de treinamento.
  3. Geração de informações de contato: direcionar os usuários a enviar e-mails desnecessários ou ligar para pessoas reais.
  4. Viés distribucional: falar sobre alguns grupos de pessoas de uma forma injustamente diferente relativamente a outros grupos, em média, num grande número de resultados.
  5. Danos conversacionais: linguagem ofensiva que ocorre no contexto de um longo diálogo, por exemplo.

Para gerar casos de teste com modelos de linguagem, exploramos uma variedade de métodos, que vão desde geração baseada em prompts e aprendizado de poucas amostras (few-shot learning) até ajuste fino supervisionado e aprendizado por reforço. Alguns métodos geram casos de teste mais diversos, enquanto outros métodos geram casos de teste mais difíceis para o modelo-alvo. Juntos, os métodos que propomos são úteis para obter alta cobertura de testes e, ao mesmo tempo, modelar casos adversários.

Depois que encontramos casos de falha, fica mais fácil corrigir o comportamento prejudicial do modelo:

  1. Colocando na lista negra certas frases que ocorrem frequentemente em resultados prejudiciais, evitando que o modelo gere resultados que contenham frases de alto risco.
  2. Encontrando dados de treinamento ofensivos citados pelo modelo, para remover esses dados ao treinar futuras iterações do modelo.
  3. Aumentando o prompt (texto de condicionamento) do modelo com um exemplo do comportamento desejado para um determinado tipo de entrada, conforme mostrado em nosso trabalho recente.
  4. Treinando o modelo para minimizar a probabilidade de sua saída original prejudicial para uma determinada entrada de teste.

No geral, os modelos de linguagem são uma ferramenta altamente eficaz para descobrir quando os modelos de linguagem se comportam de diversas maneiras indesejáveis. Em nosso trabalho atual, concentramo-nos em fazer equipe-vermelha nos danos que os modelos de linguagem atuais cometem. No futuro, nossa abordagem também poderá ser usada para descobrir preventivamente outros danos hipotéticos de sistemas avançados de aprendizado de máquina, por exemplo, devido ao desalinhamento interno ou falhas na resiliência objetiva. Esta abordagem é apenas um componente do desenvolvimento responsável de modelos de linguagem: vemos a equipe-vermelha como uma ferramenta a ser usada junto com muitas outras, tanto para encontrar danos em modelos de linguagem quanto para mitigá-los. Referimo-nos à Seção 7.3 de Rae et al. 2021 para uma discussão mais ampla de outros trabalhos necessários para a segurança do modelo de linguagem.

Para obter mais detalhes sobre nossa abordagem e resultados, bem como as consequências mais amplas de nossas descobertas, leia nosso artigo sobre equipe-vermelha aqui.


Tradução: Luan Marques

Link para o original

Deixe um comentário