Dream at SemEval-2026 Task 13: SALSA for Single-Pass Machine-Generated Code Detection
A equipe Dream propõe uma estrutura de classificação autorregressiva de passagem única no estilo SALSA, combinada com amostragem balanceada e ajuste fino conservador para alcançar uma detecção de fora da distribuição robusta de código gerado por máquina, superando significativamente o baseline CodeBERT no ranking do SemEval-2026 Task 13.
Artigo original sob licença CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Esta é uma explicação gerada por IA do artigo abaixo. Não foi escrita nem endossada pelos autores. Para precisão técnica, consulte o artigo original. Ler aviso legal completo
Imagine que você é um professor tentando descobrir se o dever de casa de um aluno foi escrito pelo próprio aluno ou se foi copiado de uma IA superinteligente. Este é o desafio que os autores deste artigo enfrentaram para uma competição chamada SemEval-2026 Task 13.
Aqui está a história de como eles resolveram isso, usando analogias simples:
O Problema: O Código "Camaleão"
No passado, detectar código escrito por IA era como tentar avistar um camaleão em uma floresta. A IA podia escrever códigos em muitas linguagens diferentes (como Python, Java ou C++) e para muitas funções diferentes. Se você treinasse um detector para identificar código de IA em Python, ele frequentemente falaria em falhar quando a IA mudasse para Java. O detector era muito "especializado" e não conseguia lidar com situações novas e não vistas.
A Solução: O Jogo da "Resposta de Uma Palavra Só"
A equipe da Dream Security Ltd. propôs uma nova maneira de jogar o jogo, que eles chamam de SALSA (Single-pass Autoregressive LLM Structured Classification).
Pense em um chatbot de IA normal como um papagaio tagarela. Se você perguntar a ele: "Este código foi escrito por IA?", ele pode dizer: "Bem, olhando para a sintaxe e os nomes das variáveis, eu acho que provavelmente é IA porque..." e então escrever um parágrafo inteiro. Isso é bagunçado e difícil de avaliar.
O SALSA muda as regras:
- O Prompt: Eles entregam um trecho de código à IA e fazem uma pergunta muito específica: "Isso é gerado por máquina?"
- A Restrição: Eles dizem à IA: "Você só tem permissão para responder com uma única palavra: ou '0' (Não) ou '1' (Sim)."
- O Resultado: Em vez de um ensaio longo, a IA é forçada a fazer uma escolha rápida e decisiva. É como pedir a um juiz que solte um único golpe de martelo em vez de escrever uma opinião jurídica de 10 páginas.
O Treinamento: "Menos é Mais"
Geralmente, quando você ensina um modelo de computador uma nova tarefa, você pode treiná-lo exaustivamente até que ele memorize os exemplos específicos que você deu. Mas os autores perceberam que, se você treinar um modelo demais em exemplos específicos, ele esquece como lidar com situações novas (isso é chamado de "overfitting" ou sobreajuste).
Eles usaram uma abordagem de "Treinamento Conservador":
- A Taxa de Aprendizado: Imagine que a taxa de aprendizado é o botão de volume de um rádio. Eles baixaram o volume para um nível muito baixo. Isso permitiu que o modelo aprendesse a nova tarefa sem gritar por cima de seu próprio conhecimento existente.
- A Duração: Eles permitiram que o modelo estudasse os exemplos uma única vez (uma época/epoch). Eles descobriram que estudar por muito tempo fazia o modelo esquecer como ser um generalista e se tornar muito especializado apenas nos dados de treinamento.
- Dieta Equilibrada: Os dados de treinamento tinham muito mais código Python do que Java ou C++. Para evitar que o modelo se tornasse um especialista "apenas em Python", eles o forçaram a comer uma quantidade igual de cada linguagem, mesmo que isso significasse descartar parte dos dados extras de Python.
Os Resultados: Vencendo a Linha de Base
A competição tinha um detector de "linha de base" (CodeBERT) que era como um detector de metais velho e enferrujado. Ele obteve uma pontuação de apenas 0.305 (muito baixa) quando testado em novas linguagens não vistas.
O sistema SALSA da equipe Dream Security era como um scanner de alta tecnologia e adaptável.
- Zero-Shot (Sem treinamento): Mesmo sem treinamento especial, a IA deles era decente (cerca de 0.5).
- Com Treinamento: Após o seu cuidadoso treinamento de "uma época", o melhor sistema deles alcançou uma pontuação de 0.789.
Este é um salto enorme. Isso significa que o sistema deles é muito melhor em detectar código de IA mesmo quando o código é escrito em uma linguagem ou estilo que ele nunca viu antes.
A Pegadinha
O artigo observa uma peculiaridade engraçada: Antes do treinamento, a IA era muito tímida. Ela tinha tanto medo de errar que quase sempre respondia "Escrito por humano" (0), mesmo quando era IA. Isso fazia parecer que ela tinha uma alta "precisão" (quando ela realmente dizia que era IA, ela estava certa), mas uma "revocação" (recall) terrível (ela perdia quase todo o código de IA). O treinamento ajudou a corrigir essa timidez, ensinando o modelo a ser corajoso o suficiente para dizer "Sim" quando vê código de IA.
Em resumo: Eles construíram um detector que não escreve ensaios, não memoriza o livro didático e não fica sobrecarregado por novas linguagens. Ele apenas olha para o código, pensa por um breve segundo e solta um único e preciso "Sim" ou "Não".
Afogado em artigos na sua área?
Receba digests diários dos artigos mais recentes que correspondam às suas palavras-chave de pesquisa — com resumos técnicos, no seu idioma.