Calidad de la IA: si entra basura, sale basura
11 de junio de 2024
0 minutos de lecturaSi usas ingredientes vencidos y con moho para preparar un postre, puede que obtengas algo que se vea bien, pero tenga un sabor horrible. Y definitivamente no querrías servirlo a tus invitados. El principio «si entra basura, sale basura» (GIGO, por sus siglas en inglés) se aplica a mucho más que la tecnología y la IA. Agregar ingredientes de mala calidad a una receta puede producir un resultado potencialmente venenoso. Claro, si parece un poco sospechoso, puedes cubrirlo con glaseado y nadie se dará cuenta. Ese es el peligro que estamos viendo ahora.
Con la IA y el aprendizaje automático, todo parece estar bien. Puedes usar tu bot favorito y obtener un fragmento de código que luce fantástico. Tiene comentarios, está correctamente indentado e incluso puede usar una biblioteca para ayudarte. Pero si la leche estaba echada a perder y el bot la sacó del refrigerador, tu código podría estar agrio.
Se habla mucho de GIGO en términos conceptuales, pero veamos un ejemplo de cómo ocurre. Impartí un curso de inteligencia artificial en una universidad y, en clase, creamos un sistema experto con un árbol de decisión.
Un sistema experto es un tipo de programa de inteligencia artificial (IA) que emula la capacidad de un experto humano para tomar decisiones en un dominio o campo de conocimiento específico. Está diseñado para resolver problemas complejos, hacer recomendaciones o brindar asesoría de nivel experto a partir de un conjunto de reglas, conocimientos y razonamiento lógico. En nuestro ejemplo, resolverá un problema muy sencillo.
Un sistema experto se basa en una base de conocimientos. Allí almacena información específica del dominio, hechos, reglas y heurísticas. También cuenta con un motor de inferencia, que es el componente de razonamiento del sistema experto. Este usa los conocimientos de la base para sacar conclusiones, tomar decisiones y resolver problemas. Emplea distintas técnicas de razonamiento, como el encadenamiento hacia adelante (partir de hechos conocidos para llegar a conclusiones) o el encadenamiento hacia atrás (partir de un objetivo y retroceder para encontrar pruebas que lo respalden). Sin embargo, lo que nos interesa son los datos dentro del sistema.
La consigna de la tarea que asigné era sencilla. El programa debía intentar adivinar un animal basándose en los atributos que proporcionara el usuario. Si se equivocaba, agregaba un nuevo atributo al sistema.

Con este sistema experto, el programa aparentemente puede aprender y, por lo tanto, mostrar cierta forma de inteligencia artificial. Por ejemplo, si el usuario estaba pensando en un gato, el sistema primero respondería SÍ a la pregunta de si tiene cuatro patas y luego respondería NO a la pregunta de si ladra. A partir de ahí, el sistema preguntaría qué animal era y, después, «¿Qué pregunta ayudaría a distinguir un gato de un perro?»
En este caso, el usuario podría decir: «¿Maúlla?»

Hacer que un usuario construya este sistema animal por animal es sumamente ineficiente. Pero recuerda que solo era una tarea para aprender sobre árboles de decisión y sistemas expertos. Después de que un usuario juegue 100 veces, el juego podría tener 100 animales nuevos. Si otro usuario jugara, hay muchas posibilidades de que el sistema pudiera identificar el animal que tiene en mente.
Pero todo esto depende de una sola cosa: buenos datos.
¿Qué pasaría si un usuario decidiera que un gato sí ladra, un caballo maúlla y una vaca hace oinc? ¿El sistema seguiría funcionando? Sí. ¿Daría resultados deseables? No.

Los sistemas expertos (y muchos otros sistemas de IA) pueden fallar por datos incompletos, datos sesgados, intervención humana y muchos otros motivos. Si le pedimos a la IA que genere un fragmento de código, lo hará a partir de datos existentes (datos de entrenamiento). Si esos datos son incorrectos, tienen errores o presentan algún sesgo, los resultados también tendrán esos defectos.
Los sistemas expertos y los LLM son muy diferentes. Uno se basa en una base de conocimientos y el otro aprende de patrones y asociaciones. Sin embargo, ambos sufren el problema GIGO y dependen en gran medida de la precisión de los datos.
Si alimentas cualquier sistema de IA con «basura» en forma de datos de mala calidad, obtendrás resultados «basura», que pueden tener consecuencias en el mundo real. Y ya estamos viendo esas consecuencias. Nuestra investigación reveló que más de tres cuartas partes de los desarrolladores eluden los protocolos establecidos para usar herramientas de autocompletado de código, a pesar de los riesgos potenciales.
Obtén más información sobre las vulnerabilidades de la IA en el OWASP Top 10 LLM y en nuestra plataforma de educación en seguridad, con lecciones sobre IA.
