Qualidade da IA: entra lixo, sai lixo
11 de junho de 2024
0 minutos de leituraSe você usar ingredientes vencidos e mofados para fazer uma sobremesa, pode até conseguir algo que parece bom, mas tem um gosto horrível. E, com certeza, você não vai querer servir isso aos convidados. O princípio “entra lixo, sai lixo” (GIGO, na sigla em inglês) vale para muito mais do que tecnologia e IA. Colocar ingredientes ruins em uma receita pode resultar em algo potencialmente venenoso. Claro, se parecer um pouco suspeito, você pode cobrir com glacê e ninguém vai perceber. Esse é o perigo que estamos vendo agora.
Com IA/ML, tudo parece ótimo. Você pode usar seu bot favorito e pegar um trecho de código que parece fantástico. Ele tem comentários, está bem indentado e talvez até use uma biblioteca para ajudar. Mas, se o leite estava estragado e o bot o pegou na geladeira, seu código pode estar azedo.
Fala-se muito sobre GIGO em termos conceituais, mas vamos ver um exemplo de como isso acontece. Dei um curso de Inteligência Artificial em uma universidade e, na aula, criamos um sistema especialista usando uma árvore de decisão.
Um sistema especialista é um tipo de programa de computador de inteligência artificial (IA) que emula a capacidade de tomada de decisão de um especialista humano em um domínio ou área de conhecimento específico. Ele é projetado para resolver problemas complexos, fazer recomendações ou oferecer conselhos de nível especializado com base em um conjunto de regras, conhecimentos e raciocínio lógico. No nosso exemplo, ele resolverá um problema bem simples.
Um sistema especialista depende de uma base de conhecimento. É nela que o sistema armazena informações específicas do domínio, fatos, regras e heurísticas. Há também o mecanismo de inferência, componente de raciocínio do sistema especialista. Ele usa o conhecimento da base para tirar conclusões, tomar decisões e resolver problemas. Para isso, emprega várias técnicas de raciocínio, como encadeamento progressivo (partindo de fatos conhecidos para chegar a conclusões) ou encadeamento regressivo (partindo de um objetivo e voltando para encontrar evidências que o sustentem). No entanto, o que nos interessa são os dados dentro do sistema.
A proposta do exercício que passei era simples. O programa deveria tentar adivinhar um animal com base nos atributos informados pelo usuário. Se errasse, adicionaria um novo atributo ao sistema.

Com esse sistema especialista, o programa aparentemente consegue aprender e, assim, demonstrar alguma forma de inteligência artificial. Por exemplo, se o usuário estivesse pensando em um gato, o sistema responderia inicialmente SIM à pergunta sobre ter quatro patas e, em seguida, NÃO à pergunta sobre latir. Depois disso, o sistema perguntaria que animal era e, então: “Que pergunta ajudaria a diferenciar um gato de um cachorro?”
Nesse caso, o usuário poderia responder: “Ele mia?”

Fazer o usuário montar esse sistema, um animal por vez, é extremamente ineficiente. Mas lembre-se: era apenas um exercício para aprender sobre árvores de decisão e sistemas especialistas. Depois de jogar 100 vezes, o jogo poderá ter 100 animais novos. Se outro usuário jogar, há uma boa chance de o sistema conseguir identificar em qual animal ele estava pensando.
Mas tudo isso depende de uma coisa: bons dados.
E se um usuário decidir que um gato realmente late, um cavalo mia e uma vaca grunhe? O sistema ainda funcionaria? Sim. Os resultados seriam desejáveis? Não.

Sistemas especialistas (e muitos outros sistemas de IA) podem falhar por causa de dados incompletos, dados enviesados, informações fornecidas por pessoas e muitos outros motivos. Se pedirmos à IA para gerar um trecho de código, ela fará isso consultando dados existentes (dados de treinamento). Se esses dados estiverem incorretos, contiverem erros ou forem enviesados de alguma forma, o resultado também terá essas falhas.
Sistemas especialistas e LLMs são muito diferentes. Um depende de uma base de conhecimento; o outro aprende a partir de padrões e associações. No entanto, ambos estão sujeitos ao princípio GIGO e dependem muito de dados precisos.
Se você alimentar qualquer sistema de IA com “lixo”, usando dados de baixa qualidade, receberá resultados “lixo”, que podem ter consequências no mundo real. E já estamos vendo essas consequências. Nossa pesquisa revelou que mais de três quartos dos desenvolvedores ignoram protocolos estabelecidos para usar ferramentas de conclusão de código, apesar dos riscos potenciais.
Saiba mais sobre vulnerabilidades de IA no OWASP Top 10 LLM e na nossa plataforma de educação em segurança, com lições sobre IA.
