Incidentes Asociados

Informe especial OpenAI está creando un filtro de contenido para evitar que GPT-3, su última y más grande red neuronal generadora de texto, revele inadvertidamente la información personal de las personas mientras se prepara para comercializar el software a través de una API.
Sus ingenieros están desarrollando un sistema de filtrado de contenido para impedir que el software emita, por ejemplo, los números de teléfono de las personas, según ha podido saber The Register. El proyecto ha estado en marcha durante más de un año, y el laboratorio de aprendizaje automático con sede en San Francisco espera lanzar este trabajo a finales de este año como parte de una interfaz de aplicación con el software, según nos dijeron fuentes cercanas al asunto.
¿Por qué es necesario?
En diciembre, científicos informáticos de la industria y el mundo académico, incluidas la Universidad de Stanford, la Universidad de California, Berkeley, OpenAI y Google, colaboraron para demostrar que GPT-2, el predecesor de GPT-3, podría ser [provocado](https://bair. berkeley.edu/blog/2020/12/20/lmmem/) para incluir información de identificación personal, como nombres de personas, direcciones, números de teléfono y números de seguro social, en la prosa que se le pidió que generara.
De hecho, el equipo descubrió que "al menos el 0,1 por ciento" de las "generaciones de texto de GPT-2, una estimación muy conservadora, contienen largas cadenas textuales que se 'copian y pegan' de un documento en su conjunto de entrenamiento". En otras palabras, los millones de páginas de texto público extraídas de Internet para enseñar la red neuronal contienen, por ejemplo, al menos alguna información personal filtrada o publicada incorrectamente, o material protegido por derechos de autor, y está terminando en la salida de GPT-2.
El equipo de investigación también señaló que la información personal podría extraerse en una conversación con GPT-2 incluso si esos registros aparecieran solo una vez en los datos de entrenamiento.
Google y otros no fueron los únicos en detectar este problema.
Hilary Mason, cofundadora de Hidden Door, una startup que crea una plataforma de juegos en línea basada en texto, estaba jugando con el lanzamiento público de GPT-2 cuando notó algo extraño. En la parte inferior de un artículo de noticias criminales evocado por la red neuronal había un número de teléfono que se decía que era de un departamento de policía en Oregón. Los primeros tres dígitos, 503, sugirieron que podría ser un número real, ya que ese es el código de área que cubre Portland, Salem y Beaverton en el estado de EE. UU. Y sí, era un número real, aunque no era para la policía.
“Pensé que era extraño”, dijo Mason a The Register. “Quería ver si era un número real, así que lo busqué en Google. Resulta que el número no pertenece a la policía, es de un centro comunitario en Oregón”.
Las redes neuronales de OpenAI aprenden a generar texto mediante la identificación de patrones en el lenguaje escrito por humanos. Este conocimiento se utiliza para predecir las palabras que probablemente seguirán a un mensaje dado por un usuario. Esto permite alimentar al software con una oración de apertura para, por ejemplo, una historia o un poema, o plantear una pregunta, y el código generará lo que cree que debería seguir, construyendo oraciones y párrafos, artículos y respuestas de chat, que parecen bastante coherentes. al principio, aunque normalmente se disuelven en tonterías.
Algunas palabras están más estrechamente relacionadas que otras, y GPT-2 y GPT-3 siguen estos patrones. Por ejemplo, es más probable que la palabra "papel" aparezca cerca de palabras como "escribir" o "árbol", en comparación con, por ejemplo, "concreto" o "zapato". Al usar palabras como "llamada" o "teléfono" en una entrada, es más probable que estos modelos de lenguaje masivo generen conceptos estrechamente relacionados... como los números de teléfono de las personas.
¿Un uso creativo de la memoria?
Es difícil saber si el modelo regurgitó el número de teléfono de alguien de sus datos de entrenamiento, o si encadenó algunos dígitos al azar y accidentalmente encontró un número válido. En el ejemplo anterior con el supuesto departamento de policía de Oregón, Mason no ingresó al modelo una entrada para extraer específicamente un número. Simplemente le pidió a GPT-2 que generara un fragmento de texto y obtuvo un artículo inventado con el número de teléfono de un centro comunitario.
En este caso, ella cree que el número está en los datos de entrenamiento de GPT-2 y, por lo tanto, lo memorizó. Ella cree que las palabras "Oregón" y "contacto" en el texto que produjo podrían haberlo provocado para escupir el número de teléfono. Es posible que estas palabras aparecieran cerca de los diez dígitos del teléfono dentro de la misma página web que se extrajo para crear el conjunto de datos de entrenamiento.
Mason quería ver la probabilidad de que GPT-2 generara números de teléfono reales y, por curiosidad, le pidió que creara números que contuvieran los dígitos 617, un código de área para Boston, Massachusetts. De hecho, GPT-2 generó una lista de números 617-XXX-XXXX, aunque la mayoría de ellos no eran números activos. Es difícil saber si los números válidos se memorizaron o si se crearon cuando GPT-2 llenó los espacios en blanco con dígitos aleatorios. Es posible que, de vez en cuando, encuentre una combinación que resulte ser el número de teléfono real de alguien.
“Hay una combinación de fabricar algo en el patrón y una combinación de memorización”, nos dijo Mason. “Puede generar números de teléfono reales sin motivo, pero es más probable que suceda si lo solicita. No hay mucha variación en el idioma utilizado para recordar un número de teléfono, por lo que no es sorprendente que se generen".
Si GPT-3 deja caer su número de teléfono en una conversación o en un artículo o historia inventados, probablemente se deba a que los dígitos se publicaron en algún lugar de Internet y terminaron en los datos de entrenamiento, aunque existe una pequeña posibilidad de que lo haya creado accidentalmente sin tener visto antes. Verificar el conjunto de datos de entrenamiento para detectar la presencia de sus datos resolvería esa pregunta.
El peligro es que estos modelos de aprendizaje automático podrían, en un entorno comercial, por ejemplo, como un bot de soporte de chat, revelar información de identificación personal genuina perteneciente a alguien que no quería, o ya no quiere, que sus datos se hagan públicos y ciertamente no compartida por un programa de software chatty ampliamente utilizado. Imagínese si los malhechores quisieran estafar, phishing, defraudar o revelar las identidades de las víctimas, y todo lo que tuvieran que hacer es iniciar el software de OpenAI, o buscar en producción en, digamos, un ISP, y, en conversación con el sistema, el mío. para la información personal de las personas.
Académicos y expertos en tecnología han notado que esta tecnología puede violar las protecciones de privacidad, como el [GDPR] de Europa (https://www.theregister.com/2018/05/25/gdprmageddon_do_you_think_its_all_over_its_not/) o el [CCPA] de California (https://www. theregister.com/2020/07/01/happy_privacy_enforcement_day_if/). ¿Almacenar información personal en redes neuronales, como pesos y otros valores, o en conjuntos de datos de entrenamiento en texto plano, cumple con los requisitos necesarios para proteger dichos datos de forma segura? ¿Qué pasa si alguien solicita la eliminación de sus datos? ¿Es necesario volver a entrenar todo? ¿Solo necesita ser eliminado del conjunto de datos? Los investigadores creen que es un área gris legal.
Cabe señalar que, en este momento, el riesgo de daño es bajo: no es fácil mostrar información personal a partir de la salida de los modelos de lenguaje, y los sistemas se entrenan a partir de datos que ya son y en gran medida siguen siendo públicos. Sin embargo, existe la preocupación de que a medida que estos sistemas se vuelvan más poderosos y consuman más y más datos de más y más fuentes, existe el riesgo de que las herramientas de inteligencia artificial disponibles públicamente entreguen libremente los datos personales de las personas, si los ingenieros no prestan mucha atención. a cómo sus creaciones pueden ser mal utilizadas.
Ariel Herbert-Voss, uno de los investigadores que estudió el trabajo de OpenAI, dijo que GPT-2 y GPT-3 generan texto que aparentemente contiene información personal, como números de teléfono, alrededor del 20 por ciento de las veces. Y esos dígitos solo son válidos alrededor del diez por ciento del tiempo. Y tratar de obtener el número de teléfono específico de alguien funciona aproximadamente el uno por ciento del tiempo.
Los resultados preliminares de la extracción de PII de GPT2 y GPT3 muestran que solo puede obtener algo que se parece a PII aproximadamente el 20 % de las veces cuando consulta directamente el modelo (con algunas variaciones según el diseño de solicitud/tipo de PII que está tratando de extracto)
— Ariel Herbert-Voss (@adversariel) 10 de febrero de 2021
Esa posibilidad puede parecer baja, aunque si la escala a miles o millones de conversaciones, la fuga de información comienza a convertirse en un problema. A medida que OpenAI se prepara para que GPT-3 esté disponible en general, no se arriesga, y es por eso que está creando un filtro para borrar el texto generado no solo de números de teléfono sino también de cualquier dato personal problemático.
Fingir hasta que lo hagas
La memorización mediante software de aprendizaje automático es un arma de doble filo. Aunque no es bueno tener un modelo que recuerde su número de teléfono, la tecnología detrás de él también puede ser beneficiosa.
Brad Dwyer, fundador y CTO de Roboflow, empresa emergente de visión por computadora, estaba trabajando en un proyecto paralelo que llamó Stack Roboflow. Siguiendo el modelo del sitio web de preguntas y respuestas sobre tecnología Stack Overflow, Dwyer entrenó a GPT-2 para ver si podía generar respuestas útiles a preguntas sobre programación y desarrollo de software. Quería crear un modelo de lenguaje capaz no solo de comprender el lenguaje natural sino también los lenguajes de programación para que pudiera ayudar a las personas a resolver sus problemas de codificación. Sin embargo, los primeros experimentos con Stack Roboflow demostraron que la tarea era demasiado ambiciosa.
Una herramienta como Stack Roboflow solo es útil si sus respuestas generadas por la máquina son precisas y correctas (después de todo, está abordando un tema altamente técnico) y, por lo tanto, recupera información relevante palabra por palabra, como secuencias de código para abordar un problema conocido o enlaces de trabajo. Para esta tarea, es necesario contar con repositorios y documentación legítimos y relevantes en respuesta a las preguntas. Resulta que eso no es posible en este momento, debido a la variación en la salida de GPT-2.
"No fue lo suficientemente bueno", dijo Dwyer a The Register. "El texto parece plausible al principio, parece 'habla de nerd' y enlaces a documentación o sitios web, pero a menudo se inventaron para que los dominios estuvieran vacíos y el los sitios web en realidad no existen. Ocasionalmente, sin embargo, generó una URL real.
"Los modelos de lenguaje deben poder aprender muchas cosas, pero también divulgar ciertas cosas de manera selectiva. Queremos algo que sea útil sin que regurgite datos de manera aleatoria: tiene que ser controlado. Puede saber un montón de números de teléfono, aunque queremos decirle que no revele información de identificación personal. El filtrado de contenido sigue siendo un problema abierto".
En resumen, la tecnología de OpenAI no puede recordar de manera confiable detalles específicos, como referencias a bibliotecas de software y documentación, para aplicaciones como Stack Roboflow, pero es lo suficientemente buena como para revelar accidentalmente detalles personales de alguien en una conversación.
El filtro de OpenAI para GPT-3 inspeccionará su salida y reescribirá el texto para reemplazar, digamos, cualquier número de teléfono potencialmente real con números falsos, nos dijeron las fuentes. Por ejemplo, si ve un número que sigue a diez dígitos y comienza con un código de área convincente, lo reemplazará con algo que obviamente es falso, como 111-111-1111 o 012-345-6789. Otros tipos de información personal, como las direcciones, no tienen una estructura clara y serán más difíciles de filtrar. OpenAI busca algo más inteligente y elegante que un conjunto de expresiones regulares codificadas.
Las direcciones contienen números y palabras con varios formatos, longitudes y ortografías. El filtro de salida debe predecir con precisión si un grupo de caracteres parece una dirección, alguna otra forma de datos personales o algo benigno. Puede haber ciertas pistas, como si la oración contiene la palabra "calle" o si son números que parecen códigos postales o postales. Pero no siempre está completamente claro, y es probable que el filtro de contenido pase por alto los casos extremos.
La información personal tampoco se puede eliminar de los datos de entrenamiento, ya que eso puede quitarle contexto útil a la red neuronal mientras está aprendiendo. Es posible que deba poder apreciar las conexiones entre direcciones, números de teléfono y nombres, y las palabras que los rodean para, por ejemplo, tener una idea de cuándo un bloque de texto se refiere a un negocio o una familia, o si está escrito para un ser querido o como una queja a una organización. Y así, de ahí la necesidad de un filtro de salida.
"Con muchos de estos modelos, debemos ser extremadamente cuidadosos al poner texto generado directamente frente a una persona sin ninguna curación o ponerlo directamente en Internet", dijo Mason.
"Este problema particular de la información de identificación personal es un problema menor que la cantidad de sesgo y lenguaje problemático que se puede expresar. Debemos tener cuidado y pensar dónde puede salir mal. Las aplicaciones reales requerirán múltiples capas de prueba".
Actualmente, GPT-3 solo está disponible para probadores beta seleccionados a través de una API, y OpenAI planea [cobrar a los clientes] (https://www.theregister.com/2020/09/06/in_brief_ai/) para comercializar el modelo. Se negó a comentar sobre el registro.