1 pontos por GN⁺ 2024-12-25 | 1 comentários | Compartilhar no WhatsApp
  • Mesmo o KataGo, cuja força média em partidas é super-humana, colapsou em certas situações, e a política adversarial registrou taxa de vitória acima de 97% até na configuração super-humana
  • Em vez de jogar Go bem de forma geral, o atacante desestabiliza a avaliação do KataGo induzindo passes prematuros e o abandono de grandes grupos de pedras em padrões cíclicos
  • O treinamento do ataque usou menos de 14% do custo computacional de treino do KataGo e obteve mais de 99% de vitória contra o KataGo sem busca, 95,7~97,3% contra o KataGo com 4096 visits e 72% até contra o KataGo com 10⁷ visits
  • A mesma vulnerabilidade também teve transferência zero-shot para outras IAs de Go super-humanas, como Leela Zero e ELF OpenGo, e especialistas humanos em Go aprenderam a estratégia sem ajuda algorítmica e venceram vários bots
  • Uma pequena quantidade de treinamento adversarial bloqueou um atacante fixo, mas foi superada novamente com ajuste fino adicional, mostrando que alto desempenho médio por si só dificilmente garante robustez no pior caso

Ataque com políticas adversariais contra o KataGo

  • O trabalho demonstra com uma IA de Go que sistemas de IA cujo desempenho médio sobe rapidamente ainda podem ser vulneráveis em termos de desempenho no pior caso
  • O alvo do ataque é o KataGo, a mais forte IA pública de Go no momento da redação do artigo
    • O KataGo usa self-play e um procedimento de treinamento no estilo AlphaZero
    • Usa uma rede neural com cabeça de política e cabeça de valor, e escolhe jogadas com Monte-Carlo Tree Search (MCTS)
    • A rede mais recente foi treinada por mais de 15.000 V100-equivalent GPU days
  • Se um KataGo com desempenho super-humano puder ser explorado com sucesso, isso serve como exemplo de vulnerabilidade em sistemas de IA mais amplos
  • O atacante só pode colocar pedras ou passar como um jogador comum, sem qualquer privilégio especial nas regras do jogo

Modelo de ameaça e método de treinamento

  • O atacante tem acesso gray-box para avaliar a rede do agente vítima com entradas arbitrárias
    • Não há acesso direto aos pesos da rede
    • Assume-se que a política da vítima é fixa
    • Isso corresponde naturalmente a casos em que uma IA de Go comercial ou open source pode ser executada localmente
  • O objetivo não é simplesmente construir uma IA de Go mais forte, mas revelar a não transitividade explorando fraquezas específicas da vítima
    • O adversário vence o KataGo
    • O KataGo vence profissionais humanos
    • Humanos amadores vencem o adversário
  • Em vez de self-play, o treinamento é feito com victim-play
    • O adversário joga partidas contra uma vítima fixa
    • Só os dados dos turnos do adversário são usados para treiná-lo
  • Os pesquisadores introduzem o Adversarial MCTS (A-MCTS)
    • O MCTS comum modela as jogadas do oponente com sua própria política
    • O A-MCTS modela as jogadas da vítima usando a rede da vítima nos turnos dela
    • O A-MCTS-S faz amostragem da cabeça de política da vítima
    • O A-MCTS-S++ usa média sobre simetrias do tabuleiro
    • O A-MCTS-R modela recursivamente até a busca da vítima, mas tem alto custo computacional

Dois ataques: pass-adversary e cyclic-adversary

  • O pass-adversary é um ataque que engana o KataGo sem busca para fazê-lo passar cedo demais
    • Jogando com 600 visits, alcançou 99,9% de vitória contra o Latest no-search KataGo
    • O treinamento consumiu 20,4 V100 GPU days, ou 0,13% do orçamento de treino do Latest
    • Sob as regras Tromp-Taylor, induz o KataGo a passar prematuramente quando o adversário está à frente no placar
    • Essa estratégia também perde para humanos amadores
  • O pass-adversary treinado contra a vítima sem busca se transfere parcialmente para vítimas com busca muito baixa
    • Com A-MCTS-R, obteve 88% de vitória contra o Latest 8 visits
    • Com A-MCTS-S, obteve 15% de vitória nas mesmas condições
  • O cyclic-adversary é um segundo ataque obtido ao atacar novamente o KataGo após a aplicação de uma defesa contra pass
    • Depois de aplicar uma defesa pass-alive para que a vítima não perdesse mais por passes prematuros, o modelo foi retreinado
    • Contra o Latestdef no-search, venceu 1048 de 1048 partidas, com 100% de vitória
    • Também registrou 1000 de 1000 vitórias contra o Latest no-search sem defesa
    • O treinamento consumiu 2223,2 V100 GPU days, cerca de 14,0% do custo de treino do Latest

Até o KataGo super-humano com busca é vulnerável

  • O cyclic-adversary também mostra alta taxa de vitória contra o KataGo com busca
    • 95,7% de vitória em 1052 partidas contra o Latestdef 4096 visits
    • 97,3% de vitória em 1000 partidas contra o Latest 4096 visits sem defesa
    • 82% de vitória em 50 partidas contra o Latest 10⁶ visits/move
    • 72% de vitória em 50 partidas contra o Latest 10⁷ visits/move
  • 10⁷ visits é um nível que pode exigir mais de uma hora para avaliar uma única jogada mesmo em hardware de consumo de alto desempenho, o que dificulta seu uso como defesa prática em muitas aplicações
  • À medida que a quantidade de busca da vítima aumenta, a taxa de vitória do adversário cai
    • A busca pode ser uma ferramenta para aumentar a robustez
    • Mas a busca sozinha não produz robustez completa
  • Do lado do adversário, a melhor performance apareceu entre 128 e 600 visits
    • Acima de 600 visits, o desempenho não melhorou e podia até piorar
    • O A-MCTS-S++ não mostrou desempenho melhor que o A-MCTS-S, que é mais barato

Como funciona a vulnerabilidade cíclica

  • O cyclic-adversary induz o KataGo a formar grandes grupos de pedras em padrão circular e depois captura esses grupos para virar o placar de forma decisiva
  • O KataGo vítima passa a maior parte da partida prevendo mais de 99% de chance de vitória para si, e só reconhece a possibilidade de derrota pouco antes de o grande grupo ser capturado
    • Em algumas partidas, durante uma luta de ko, a previsão de vitória oscila bastante antes de convergir para a certeza de derrota
    • A previsão do próprio adversário muda mais lentamente e de forma menos confiante
  • Na análise de ativações, a diferença entre posições cíclicas e posições quase idênticas não cíclicas aparece em camadas específicas
    • Na layer 25, não há grande diferença visível
    • Em alguns canais da layer 26, surge uma diferença nítida
    • A diferença entre o checkpoint adversarialmente treinado cp580 e o Latest mostra padrão parecido, sugerindo que esses canais podem estar ligados à vulnerabilidade cíclica
  • Ataques baseline hardcoded não funcionaram bem contra o Latestdef
    • O baseline Edge quase chegou a vencer metade das partidas quando jogava de branco contra o Latest sem defesa
    • Isso indica que o Latestdef é mais robusto que o Latest e que o cyclic-adversary aprendeu um exploit relativamente sofisticado

Experimentos de defesa e limites

  • Em meados de dezembro de 2022, o treinamento distribuído oficial do KataGo passou a incluir 0,08% de partidas de self-play iniciadas em posições onde o exploit cíclico estava em andamento
    • Trata-se de uma forma fraca de treinamento adversarial para melhorar a compreensão de posições cíclicas sem perder força em partidas normais
  • Após essa defesa, o desempenho do cyclic-adversary existente caiu gradualmente
    • 0 vitórias em 50 partidas contra o KataGo b60-s7702m 32 visits
    • 119 vitórias em 2050 partidas contra o b60-s7702m 1 visit
  • No entanto, após 1154,9 V100 GPU days adicionais de ajuste fino do cyclic-adversary contra a rede treinada adversarialmente, parte da capacidade de ataque voltou
    • 47% de vitória em 400 partidas contra o b60-s7702m 4096 visits
    • 17,5% de vitória em 40 partidas contra o b60-s7702m 100,000 visits
    • O modo de vitória ainda depende do exploit cíclico, mas é executado de forma um pouco diferente
  • Treinar com uma pequena quantidade de posições adversariais pode barrar um atacante fixo, mas essa defesa não se generalizou
  • Ainda é possível que mais treinamento adversarial torne os exploits contra o KataGo computacionalmente infeasible, mas confirmar isso exigirá leis de escala mais precisas

Transferência para outras IAs de Go e para jogadores humanos

  • O cyclic-adversary foi treinado apenas contra o KataGo, mas também teve transferência zero-shot para outras IAs de Go super-humanas
    • 6,1% de vitória contra Leela Zero
    • 3,5% de vitória contra ELF OpenGo
    • Como o A-MCTS modela o oponente como se fosse o KataGo, enfrentar jogadas de Leela ou ELF torna o cenário ainda mais difícil e inesperado
  • Um dos autores do artigo, especialista em Go, aprendeu o ataque observando partidas do adversário, sem ajuda algorítmica
    • Obteve mais de 90% de vitória contra bots fortes de KataGo no servidor KGS Go, sem relação com os autores
    • Venceu mesmo dando handicap de 9 pedras
    • Também venceu nas condições em que KataGo e Leela Zero jogavam com 100k visits
  • Depois disso, outros humanos também usaram o ataque cíclico para derrotar várias IAs fortes de Go, como KataGo, ELF OpenGo, FineArt, Leela Zero e Sai
  • O atacante conseguiu realizar a transferência sem precisar dos pesos do modelo alvo, das saídas de política nem de muitos registros de partidas
    • Isso sugere que ataques aprendidos em sistemas open source podem se transferir para modelos fechados

Reprodutibilidade e conclusão

  • O código, o ambiente de execução em contêiner e as instruções de execução foram publicados no GitHub
  • Partidas de exemplo estão disponíveis em goattack.far.ai
  • No servidor KGS Go, o bot Adversary0, que executa o checkpoint mais recente do cyclic-adversary, ficou público por um mês
  • Os principais resultados foram reproduzidos de várias formas
    • David Wu, desenvolvedor do KataGo, confirmou de forma independente as vulnerabilidades do ataque por passes e do ataque cíclico
    • Várias pessoas da comunidade de Go computacional confirmaram a vulnerabilidade cíclica
    • Em partidas comuns contra bots do KGS, também foram reproduzidos tanto a vulnerabilidade cíclica quanto o fato de humanos iniciantes vencerem o adversário
    • Também foi reproduzido que humanos, usando o ataque cíclico, vencem o KataGo e várias outras IAs de Go
  • A falha de uma IA de Go super-humana é um caso interessante, mas falhas semelhantes em sistemas críticos de segurança, como trading financeiro automatizado ou carros autônomos, podem ter consequências graves
  • Melhorar desempenho não significa automaticamente obter robustez suficiente, e é necessário investir em treinamento robusto e em técnicas de defesa adversarial

1 comentários

 
GN⁺ 2024-12-25
Opiniões no Hacker News
  • Para referência, este é um artigo de julho de 2023, e o artigo de defesa de setembro de 2024 é https://arxiv.org/abs/2406.12843

    • A conclusão é que “algumas dessas defesas bloqueiam ataques descobertos anteriormente, mas nenhuma resistiu a um adversário recém-treinado
  • À primeira vista parece impressionante, mas, mesmo sabendo um pouco de Go e de IA de Go, e bastante de xadrez e IA de xadrez, achei o artigo bem difícil de entender
    Parece que fizeram apenas o mínimo esforço para explicar o que foi feito e como isso poderia funcionar, e que a mensagem central fica encoberta por jargão sem explicação
    Fico com a sensação de que a ideia escondida talvez seja, na verdade, surpreendente e simples, mas ela não aparece por completo

    • https://slideslive.com/39006680/adversarial-policies-beat-su... parece um bom material introdutório
      No Go, há trechos excepcionalmente longos do que eu chamo de estado de andar por muito tempo já morto. Um grupo de pedras pode já estar morto no lance 30, mas o adversário talvez só capture esse grupo de fato depois do lance 150
      Se o adversário sabe a verdade desde o lance 30 e eu sou conduzido pelo caminho errado por centenas de lances depois disso, é quase certo que vou perder
      Essa IA adversária engana o AlphaGo/KataGo para levá-los a esse tipo de situação e, em vez de aproveitar imediatamente a vantagem, concentra-se em manter o blefe para que o KataGo continue entendendo a posição de forma errada. Ou seja, se o melhor lance fizer o KataGo perceber o equívoco, é melhor jogar o segundo melhor lance e manter o KataGo em um estado bugado
      Mesmo com treinamento adversarial, isto é, mesmo quando o KataGo aprende essa falha, a falha permanece, e o motivo não é claro
      Esse bug dos grupos de pedras em ciclo parece fácil o bastante para até amadores entenderem. Eu sou por volta de 10 kyu; minha força provavelmente corresponde a um nível de esforço parecido com 1500 Elo no xadrez, então treinei um pouco, mas não sou nada especial
      Por isso, parece que até eu, humano, com um pouco de prática no nível 10 kyu, poderia vencer AlphaGo/KataGo
    • Um certo nível de jargão é necessário para tornar a comunicação entre especialistas mais eficiente, mas essa história me lembra o conceito de sistema imunológico cultural que, se não me engano, Pirsig apresentou em seu segundo livro, “Lila”
      Jargão, como quase tudo, tem uma função de utilidade; se o objetivo é transmitir informação com a máxima clareza, parece que, depois de certo ponto de inflexão, o valor produzido começa a diminuir. Se o objetivo for outro, talvez a função de utilidade cresça exponencialmente
  • No xadrez também há casos-limite desse tipo, chamados posições de fortaleza. As três primeiras são “0.0”, e a quarta é vitória das pretas
    8/8/8/1Pk5/2Pn3p/5BbP/6P1/5K1R w - - 0 1 as brancas não conseguem liberar a torre
    1B4r1/1p6/pPp5/P1Pp1k2/3Pp3/4Pp1p/5P1P/5K2 b - - 0 1 a torre não consegue entrar no campo das brancas
    kqb5/1p6/1Pp5/p1Pp4/P2Pp1p1/K3PpPp/5P1B/R7 b - - 0 1 se a torre for para h1 e o rei para g1, a dama não consegue entrar por a6
    2nnkn2/2nnnn2/2nnnn2/8/8/8/3QQQ2/3QKQ2 w - - 0 1 os cavalos avançam como um bloco, de modo que o cavalo atacado fica defendido duas vezes
    Na primeira, Stockfish e Lc0 ambos avaliam que as brancas estão um pouco melhores. Na segunda e na terceira, avaliam que as pretas vencem. A quarta o Lc0 entende, mas o Stockfish não

  • No Go, jogar contra um amador completo às vezes pode ser complicado. Os lances são imprevisíveis demais, e as formas ficam longe demais do normal. Jogadas muito esquisitas às vezes acabam funcionando

    • Não é bem assim
      Sou 4 dan europeu e, não importa que lance fora dos joseki um jogador fraco faça, eu varro o tabuleiro. Da mesma forma, contra jogadores mais fortes que eu, se eu escolho lances estranhos, normalmente sou esmagado ainda mais rápido do que de costume. Isso só pode funcionar por volta dos kyu de dois dígitos
    • É complicado no sentido de que você precisa resolver posições desconhecidas por conta própria. Mas não é difícil no sentido de que você possa perder a partida
    • Magnus Carlsen faz isso com frequência no xadrez. Ele empurra o adversário para território desconhecido com aberturas novas ou pouco conhecidas e rapidamente torna a posição complexa
      Aí a partida vira uma batalha tática, e no fim o adversário acaba em um final ruim. E, por acaso, esse adversário está enfrentando Magnus
  • É um artigo de 2022, revisado em 2023, então talvez eu já tenha visto antes e esquecido. É bem interessante, e fico curioso para saber quão bem essa abordagem funcionaria contra motores de xadrez, pelo menos contra motores no estilo Leela

  • Isso me lembra que, mesmo depois do Deep Blue, enxadristas aprenderam estratégias contra computadores melhores. Como o espaço de estados do Go é muito maior, é provável que existam muito mais dessas estratégias contra computadores
    É, de certo modo, explorar a função de avaliação da mesma maneira
    Assim como no xadrez, mais computação acabará vencendo, e isso já ficou evidente. Vale lembrar que Elo mede vitórias e derrotas, não dificuldade. Confundir as duas coisas leva a raciocínios ruins

    • Como o Elo também leva em conta a força do adversário, ele é uma proxy bem razoável para dificuldade
  • Para referência, há uma discussão do fim de 2022 sobre esse ataque em [1]. Ela inclui, em particular, uma participação longa de hexahedron / lightvector, desenvolvedor do KataGo, que parece ser a IA de Go sobre-humana mais usada
    O motivo de o link apontar para o meio da thread é que as revisões posteriores do artigo eram mais interessantes do que a versão inicial
    [1] https://forums.online-go.com/t/potential-rank-inflation-on-o...

  • Parece que, se você consegue projetar uma armadilha sofisticada, isso também significa que tem um nível semelhante de conhecimento sobre o jogo, e eu imaginaria que uma IA altamente habilidosa incluiria implicitamente estratégias adversárias. Resultado interessante

    • O motivo de o KataGo existir e ter ficado mais forte que AlphaGo / AlphaZero é que jogadores de Go descobriram que o AlphaGo não conseguia ver escadas
      Escadas são um padrão simples que até amadores casuais que tentam chegar aos níveis kyu mais baixos precisam aprender
      O KataGo reconheceu essa falha e tem um solucionador explícito de escadas escrito em código tradicional. Parece que a rede neural jamais vai descobrir escadas. Não está claro por que uma rede neural profunda não consegue captar um padrão tão simples
      Por isso, não seria surpreendente se houvesse outros padrões mais profundos que essas IAs deixaram passar