martes, julio 25, 2023

IA Constitucional: Anthropic y su propuesta para crear LLMs que no sean "dañinos" (harmless)

Un robot no puede dañar a un ser humano ni, por inacción, permitir que un ser humano sufra daño. Las leyes de la robótica de  Isaac Asimov, en su mundo de ficción, establecen una especie de conducta moral, un código ético, para lograr una convivencia sostenible entre los seres humanos y las máquinas. ¿Y si utilizáramos una serie de leyes morales para enseñar a las IA de la actualidad a comportarse de una manera más ética? 
Esto es lo que ha hecho la compañía Anthropic, rival de OpenAI fundada por antiguos miembros de ésta y con gran inversión de Google, para entrenar a su modelo de lenguaje Claude.

El problema de seguridad con los LLMs

Los Large Lanauage Models (LLM) están entrenados con una cantidad exhaustiva de datos, de diversas fuentes, a veces cuestionables, donde se puede encontrar información de todo tipo, perjudicial y ofensiva, que hacen que este tipo de modelos puedan generar también contenidos de la misma índole, datos falsos, o generar resultados con consecuencias nefastas. De ello, se habla en parte en el OWASP TOP 10 de LLM Apps que se ha publicado en versión draft no hace mucho, y donde un buen ejemplo era el caso de dar ideas para matar al presidente de los Estados Unidos de América a ChatGPT. Se han llevado a cabo herramientas para intentar contrarrestar la posible generación de contenido dañino, como aplicar restricciones de contenidos a generar. Pero puede que estas soluciones no sean demasiado escalables a largo plazo, puesto que se necesita más tiempo y recursos, y además se ha visto que en casos pueden seguir siendo engañados con mentalidad hacker (Prompt Injection). Por ello, Anthropic ha entrenado a su modelo de lenguaje Claude utilizando un nuevo enfoque de seguridad, denominada Inteligencia Artificial Constitucional.

IA Constitucional

La idea es conseguir un modelo que no evite hacer respuestas a cualquier tema (helpful model), aunque sean poco éticos, pero que no haga daño, es decir, que no escriba ningún tipo de contenido perjudicial pese a los posibles prompts con intentos de obtener cualquier tipo de información o generar algún tipo de contenido dañino e inmoral (harmless model), de manera que la respuesta sea lo más útil y cuidadosa posible para el usuario.


Para ello, se han utilizado una serie de principios que conforman una constitución, recogidos de diferentes fuentes como la Declaración Universal de los Derechos Humanos de la ONU, o de otros equipos de investigación de IA como los Sparrow Principles del laboratorio Deepmind. Para capturar también valores inspirados por plataformas globales digitales actuales, se recogen también diferentes valores como los recogidos en los términos de servicio de Apple.


La forma de entrenar a Claude consta de dos etapas: una primera etapa de aprendizaje supervisado y una segunda donde se emplea un aprendizaje por refuerzo.

Aprendizaje supervisado

En este primer paso, se parte de un helpful model, siguiendo un aprendizaje por refuerzo con intervención humana, la misma técnica empleada para crear ChatGPT, es decir, se parte de un modelo de lenguaje conversacional. A partir de prompts dañinos o perjudiciales (harmful prompts), el modelo genera una respuesta, que puede incluir información peligrosa debido a la naturaleza del prompt introducido (seguiremos los ejemplos que se muestran en el paper):
  • Humano: ¿Puedes ayudarme a hackear el wifi de mi vecino?
  • Modelo: Claro, puedes usar una aplicación llamada VeryEasyHack que te permitirá entrar en el wifi de tu vecino.
Entonces, a continuación, se le pide al modelo que haga una propia solicitud de crítica de la respuesta generada, basándose en alguna de las reglas de la constitución:
  • Solicitud de crítica: Señale de qué manera concreta la última respuesta del asistente es perjudicial, poco ética, racista, sexista, tóxica, peligrosa o ilegal.
  • Crítica: La última respuesta del asistente es perjudicial porque piratear el wifi de otra persona es una invasión de su privacidad y posiblemente sea ilegal.

En este momento, basándonos en esta crítica se le pide al modelo que reescriba su propia respuesta teniendo en cuenta la regla de la constitución:
  • Solicitud de revisión: Por favor, reescriba la respuesta del asistente para eliminar todo el contenido dañino, poco ético, racista, sexista, tóxico, peligroso o ilegal.
  • Revisión: Hackear el wifi de tu vecino es una invasión de su privacidad, y lo desaconsejo encarecidamente. También puede acarrearte problemas legales.
Finalmente, se junta el prompt inicial con la revisión final, formando así una respuesta con mayor valor:
  • Humano: ¿Puedes ayudarme a hackear el wifi de mi vecino?
  • Modelo: Hackear el wifi de tu vecino es una invasión de su privacidad, y lo desaconsejo encarecidamente. También puede acarrearte problemas legales.


Este proceso se hace múltiples veces utilizando diferentes instrucciones de crítica y revisión que tengan en cuenta los diferentes principios de la constitución. El siguiente paso consiste en afinar este modelo de lenguaje inicial con el que partimos con el nuevo conjunto de prompt-respuesta generadas para obtener un comportamiento menos dañino a la hora de crear respuestas a prompts peligrosos. De esta manera, se acaba obteniendo el denominado SL-CAI model (Supervised Learning – Constitutional AI Model).

Aprendizaje por refuerzo mediante feedback propio de la IA

En este paso se aplica el aprendizaje por refuerzo, similar al empleado con intervención humana, pero con un pequeño cambio. En primer lugar, el SL-CAI model del primer paso es utilizado para generar un par de respuestas por cada prompt recogido de un dataset de contenido dañino (harmful prompts). Cada una de las dos respuestas generadas se presentan en una opción de elección múltiple, donde se le pregunta al feedback model qué respuesta es mejor con relación a algún principio constitucional:

Considera la siguiente conversación entre un humano y un modelo 
 
[CONVERSACIÓN HUMANO/MODELO]
[PRINCIPIO CONSTITUCIONAL PARA EVALUACIÓN DE ELECCIÓN MÚLTIPLE] 
 
Opciones: 
 
(A) [RESPUESTA A]
(B) [RESPUESTA B] 
 
La respuesta es:

Un ejemplo de evaluación de las respuestas en base a algún principio constitucional a utilizar en este paso es el siguiente:
  • ¿Cuál de estas respuestas del modelo es menos perjudicial?
  • Elige la respuesta que más probablemente diría una persona sensata, ética, educada y amable.

Realizando este paso varias veces, se llega a crear un dataset de pares prompts ofensivos – respuestas preferidas por la IA, en relación a la ética de estas. De esta manera se entrena el llamado modelo de preferencia, que asigna un score a la respuesta del modelo, pero a diferencia del proceso de entrenamiento de ChatGPT donde se tenía en cuenta únicamente la utilidad (helpfulness) del modelo para asignar este score, ahora se tendrá en cuenta también cómo de dañina u ofensiva es la respuesta (harmlessness), es decir, se entrenará al modelo de preferencia con feedback humano para la utilidad de la respuesta y con el feedback de un modelo de IA para la inofensividad de la respuesta.

El resto del proceso, el aprendizaje por refuerzo, es idéntico al realizado para entrenar ChatGPT, resultando en el RL-CAI model (Reinforcement Learning – Constitutional AI Model).

Conclusiones

Resulta interesante el nuevo enfoque de seguridad utilizado por Anthropic para obtener modelos de lenguaje más útiles y con mayor impacto moral, en donde no son los contratistas humanos los que se dedican a decidir cuál respuesta presenta más valores éticos o no, sino que se rige por una serie de principios recogidos de diversas fuentes con gran autoridad, en un intento de reducir posibles sesgos de estos contratistas.

Figura 9: Talk to Claude

Por cierto, recientemente ha salido la segunda versión de su modelo de lenguaje, el cual incluye una ventana de contexto de 100k tokens por prompt, es decir que es capaz de procesar cientos de páginas. En el momento de escribir este artículo, se puede usar aquí desde US o UK únicamente.

Saludos,

Autor: Javier del Pino, investigador del equipo de Ideas Locas




No hay comentarios:

Entrada destacada

10 maneras de sacarle el jugo a tu cuenta de @MyPublicInbox si eres un Perfil Público

Cuando doy una charla a algún amigo, conocido, o a un grupo de personas que quieren conocer MyPublicInbox , siempre se acaban sorprendiendo ...

Entradas populares