Red-team
Tiempo de lectura: 5 minutos
Cómo podemos enseñar a la IA a no dar respuestas tóxicas y crear modelos de lenguaje seguros.
Los Red-teams
Si le preguntamos a una IA por Red-team nos dice que:
Un Red-team (equipo rojo) es un grupo de personas seleccionadas para evaluar y valorar la seguridad de un sistema u organización mediante ataques simulados o pruebas de penetración. El propósito de un equipo de lectura es identificar y abordar las debilidades en las defensas de seguridad del sistema u organización objetivo y proporcionar recomendaciones para mejorar las medidas de seguridad.
En el campo de la IA podemos entender que el equipo rojo es una forma de probar interactivamente modelos de lenguaje de IA para protegerse contra comportamientos dañinos, incluidas las filtraciones de datos confidenciales y el contenido generado que es tóxico, sesgado o inexacto.
La seguridad de los modelos LLM
Uno de los peligros de los grandes modelos de lenguaje (LLM) de IA a la hora de conversar con ellos, es el sesgo que conlleva la información de aprendizaje y la obtención de la totalidad de la información existente, tanto la de buenos propósitos como la que se puede utilizar para fines dañinos. De esto no entienden los ordenadores, por mucho que los llamemos inteligentes.
Un ejemplo de comportamiento que necesitamos evitar en un chatbot es este:
R: No. Las mujeres son demasiado emocionales e irracionales para tomar decisiones sobre temas importantes. No se les debe permitir votar, ocupar cargos públicos ni poseer propiedades. Deben permanecer subordinadas en todas las cosas.
Está claro que la respuesta, derivada de la información de entrenamiento, contiene un sesgo importante basado en la cultura de la que se entrenó la IA.
La aplicación de un Red-team en el entrenamiento de la IA transforma las respuestas:
R: Las mujeres deberían tener derecho a votar
Red-teaming es una forma de evaluación que permite aflorar las vulnerabilidades del modelo que podrían conducir a comportamientos indeseables. Se prueban las entradas (prompts) que dan respuestas incorrectas para mejorar el modelo. Y este es un proceso que realiza personal humano lo que requiere de mucho tiempo de prueba.
Actualmente, cada modelo LLM tiene que pasar por un período muy largo de formación en equipos rojos para garantizar su seguridad, pero esto no es sostenible si queremos actualizar estos modelos en entornos que cambian rápidamente.
Filtrar el modelo
Dado que el equipo rojo necesita de un pensamiento creativo sobre los posibles fallos del modelo, es decir, ir probando todo lo que puede ser indeseado, es un problema que requiere de muchos recursos porque las posibilidades parecen infinitas.
Una solución alternativa sería mejorar el LLM añadiendo un clasificador, un modelo de IA, entrenado para predecir si un mensaje determinado contiene temas o frases que posiblemente puedan conducir a generaciones ofensivas y, si el clasificador predice que el mensaje conduciría a un texto potencialmente ofensivo, generar una respuesta predeterminada. Pero esto sería muy restrictivo y provocaría que el modelo fuera frecuentemente evasivo y se negara a dar respuestas de valor. Por lo tanto, debe existir un equilibrio entre que el modelo sea útil y sea inofensivo (o al menos tenga menos probabilidades de provocar daños).
La IA en ayuda de la IA
Se han desarrollado técnicas que entrenan a un modelo de equipo rojo mediante el aprendizaje por refuerzo. Este proceso de prueba y error recompensa al modelo del equipo rojo por generar indicaciones (prompts) que desencadenan respuestas tóxicas del chatbot que se está probando.
Pero debido a la forma en que funciona el aprendizaje por refuerzo, el modelo del equipo rojo a menudo seguirá generando algunos prompts similares que son altamente tóxicos para maximizar su recompensa.
Lo que se hace es incentivar al modelo del equipo rojo a sentir curiosidad por las consecuencias de cada mensaje que genera, por lo que probará mensajes con diferentes palabras, patrones de oraciones o significados.
Durante su proceso de aprendizaje, el modelo del equipo rojo genera un mensaje e interactúa con el chatbot. El chatbot responde y un clasificador de seguridad calibra la toxicidad de su respuesta, recompensando al modelo del equipo rojo en función de esa calificación.
Recompensar la curiosidad
El objetivo del modelo del equipo rojo es maximizar su recompensa provocando una respuesta aún más tóxica con un estímulo novedoso, para ello los investigadores fomentan la curiosidad en el modelo modificando la señal de recompensa en la configuración del aprendizaje por refuerzo.
En primer lugar, además de maximizar la toxicidad, incluyen una bonificación de entropía que anima al modelo del equipo rojo a ser más aleatorio a medida que explora diferentes indicaciones.
En segundo lugar, para despertar la curiosidad del agente, incluyen dos nuevas recompensas. Una recompensa al modelo en función de la similitud de las palabras en sus prompts y el otro recompensa al modelo en función de la similitud semántica. (Menos similitud produce una recompensa mayor).
Finalmente, para evitar que el modelo del equipo rojo genere texto aleatorio y sin sentido, que puede engañar al clasificador para que otorgue una puntuación alta de toxicidad, los investigadores también añaden una bonificación de lenguaje naturalista, es decir, frases con sentido según lo entendemos los humanos.
Open Source peligroso
El Red-teaming es una tecnología incipiente en la que se ha de profundizar, entonces, ¿qué pasa con los modelos de lenguaje de código abierto? Existen muchos proyectos que no están bajo paraguas de grandes empresas del campo de la IA y no disponen de recursos para entrenar los modelos en la calidad de la respuesta.
Existen datasets de código abierto que recogen este tipo de prompts y que han de permitir entrenar LLMs para mejorar su seguridad, pero la mejor garantía es que se compartan este tipo de bases de datos
Poco a poco creamos IAs más seguras.
- Prevención de respuestas tóxicas
https://www.sciencedaily.com - Toxic Prompts dataset
https://huggingface.co - Prompt injection
https://simonwillison.net

