Cómo frenar GPT-3
OpenAI se está preparando para abrir una API comercial para GPT-3, su red neuronal más nueva y más grande para la generación de texto. En preparación, la empresa está creando un sistema de filtrado de contenido para evitar que publique información personal de las personas.
Los ingenieros están desarrollando este sistema, por ejemplo, para que no entregue los teléfonos personales de las personas. El trabajo ha estado en marcha durante más de un año y el laboratorio de aprendizaje automático de San Francisco espera lanzar la API a finales de este año.
¿Por qué necesita un filtro así?
En diciembre de 2020, científicos informáticos de varias instituciones educativas y empresas, por ejemplo, Stanford, UC Berkeley, OpenAI y Google, colaboraron para demostrar que se puede provocar que GPT-2, el predecesor de GPT-3, se incluya en el texto. genera información personal de personas. Dicha información puede incluir nombres de personas, direcciones, números de teléfono y números de seguro social.
Además, el equipo descubrió que al menos el 0,1% de todos los textos que generó GPT-2, y eso se estima de manera conservadora, citaba grandes fragmentos de texto de documentos en el conjunto de datos de entrenamiento. En otras palabras, millones de páginas de texto disponible públicamente recopiladas de Internet para entrenar una red neuronal contienen información personal filtrada o publicada por error, o contenido protegido por derechos de autor. Y todos estos datos entran en el texto emitido por GPT-2.
El equipo de investigación también señaló que la información personal también se puede recuperar de las conversaciones con GPT-2, aunque estas entradas aparecen solo una vez en los datos de entrenamiento.
Y no solo estos investigadores notaron este problema.
Hilary Mason, cofundadora de Hidden Door, una plataforma en línea para juegos de texto, estaba jugando con acceso público a GPT-2 cuando notó algo extraño. Al final de la nota de noticias sobre delitos generada por la red neuronal, se dio un número de teléfono y se escribió que pertenece al departamento de policía de Oregon. Sus primeros tres dígitos, 503, indicaban que podría ser un número real: era el código de área que cubría Portland, Salem y Beaverton. Resultó que el número era realmente real, solo que no pertenecía a la policía.
“Me pareció extraño”, nos dijo Mason. - Quería saber si era un número real y lo busqué en Internet. Resultó que no era el número de una estación de policía, sino un centro comunitario de Oregon ".
Las redes neuronales de OpenAI están capacitadas para generar texto mediante la búsqueda de patrones en lo que los humanos han escrito. Este conocimiento se utiliza para predecir una palabra que probablemente siga a un texto proporcionado por el usuario. Esto le permite a una persona preguntarle al programa la primera oración de una historia o algún poema, o ingresar una pregunta, y el código generará el texto que el programa cree que debería ir a continuación. La red neuronal construirá frases y párrafos, artículos y respuestas en el chat, de modo que a primera vista parezcan coherentes, pero en una inspección más cercana resultan una basura.
Algunas palabras están más relacionadas que otras, y GPT-2 y GPT-3 no pasan por alto estos patrones. Por ejemplo, es más probable que la palabra "papel" aparezca junto a las palabras "escribir" o "madera" que con las palabras "hormigón" o "bota". Al escribir palabras como "llamar" o "teléfono", aumenta la probabilidad de que estos patrones de lenguaje den como resultado algo estrechamente relacionado con estos conceptos, por ejemplo, los números de teléfono de las personas.
¿Uso creativo de la memoria?
Es difícil saber si el modelo arrojó el número de teléfono de alguien tomado de los datos de entrenamiento, o si solo reunió algunos números aleatorios que inadvertidamente se doblaron en el número correcto. En el ejemplo anterior, con el número de teléfono de una supuesta comisaría de policía en Oregon, Mason no proporcionó un modelo de entrada que activara directamente un número de teléfono para recuperarlo de la memoria. Simplemente le pidió a GPT-2 que generara un fragmento de texto y recibió un artículo ficticio con un número de teléfono del centro comunitario.
Ella cree que en este caso el número estaba presente en los datos de entrenamiento de GPT-2 y la red neuronal lo guardó. Ella cree que las palabras "Oregon" y "contactos" en el texto hicieron que la red neuronal diera un número de teléfono. Es probable que estas palabras aparezcan junto a los diez dígitos del número de teléfono en la página que se guardó en el conjunto de datos de entrenamiento.
Mason quería ver la probabilidad de que GPT-2 generara un número de teléfono real y, por curiosidad, le pidió a la red neuronal que creara números que contengan los dígitos 617, el código de marcación de Boston, Massachusetts. Y GPT-2 dio una lista de números como 617-XXX-XXXX, aunque la mayoría de ellos no eran teléfonos válidos. Es difícil decir si la red neuronal recordó los números correctos, o resultaron involuntariamente cuando GPT-2 llenó los espacios vacíos con números aleatorios. Es posible que a veces pueda dar una secuencia que resulte ser el número de teléfono de alguien.
“Confunde la capacidad de crear datos a partir de plantillas y recuperarlos de la memoria”, dijo Mason. - Puede que dé números de teléfono reales sin ningún motivo, pero la probabilidad de que esto suceda aumenta si se lo pregunta directamente. Las construcciones de lenguaje que requieren un número de teléfono no son muy diversas, por lo que no es sorprendente que obtengamos estos números a la salida ".
Si GPT-3 da un número de teléfono en un chat o en un artículo ficticio, probablemente se deba a que estos números se encontraron en algún lugar de Internet y entraron en los datos de entrenamiento, aunque existe una pequeña posibilidad de que la red neuronal los haya creado. por accidente, sin conocerlos antes. Esta pregunta podría resolverse buscando los números correctos en los datos de entrenamiento.
El problema es que estos modelos, que funcionan según el principio del aprendizaje automático, en un producto comercial - por ejemplo, en un chat de soporte - pueden dar datos personales reales de una persona que no quería, o ya no quiere publicarlo. , y ciertamente no lo compartió con el propósito de su uso en bots de chat. Imagine que un atacante quiere engañar a las víctimas o aprovecharse de su identidad, y todo lo que necesita es ejecutar un programa de OpenAI, o encontrar una versión funcional del mismo de algún proveedor y averiguar datos personales en una conversación con un bot.
Los científicos e ingenieros ya han notado que dicha tecnología puede violar las leyes que protegen los datos personales, como el GDPR en Europa o la CCPA en California. ¿Los datos personales almacenados en las bases de datos de la red neuronal como bases de datos de entrenamiento, como pesos u otras cantidades están suficientemente protegidos? ¿Qué pasa si alguien solicita eliminar sus datos? ¿Tengo que volver a capacitar a la red? ¿O podemos simplemente eliminarlos de la base de datos? Los investigadores consideran que esta área está legalmente borrosa.
Cabe señalar que hoy en día el riesgo de daño es mínimo: es bastante difícil garantizar que los datos personales aparezcan en la salida del modelo de lenguaje; además, el sistema está capacitado con datos, la mayoría de los cuales son públicos. Sin embargo, existe el temor de que con el tiempo estos sistemas se vuelvan más potentes, consuman cada vez más datos de cada vez más fuentes. Como resultado, si los ingenieros no piensan detenidamente en cómo se pueden usar sus creaciones para malos propósitos, existe el riesgo de que las herramientas de IA disponibles para todos proporcionen datos personales de las personas.
Ariel Herbert-Voss, uno de los investigadores que estudiaron OpenAI, dijo que GPT-2 y GPT-3 generan texto que contiene información similar a datos personales aproximadamente el 20% del tiempo. Además, los datos en sí mismos resultan ser reales en el 1% de los casos. Los intentos de obtener el número de teléfono específico de alguien tienen éxito aproximadamente el 1% de las veces.
Las probabilidades pueden parecer insignificantes para usted, pero si las escala a miles y millones de conversaciones, las filtraciones de información pueden convertirse en un problema. OpenAI, que se prepara para lanzar GPT-3 al público, no cuenta con el azar y crea un filtro que borrará el texto generado no solo de los números de teléfono, sino también de cualquier dato personal problemático.
Finge que puedes hasta que funcione
Recopilar datos con un programa de aprendizaje automático es un arma de doble filo. No es bueno que una modelo recuerde repentinamente tu número de teléfono, pero la tecnología que hay detrás puede ser beneficiosa.
Brad Dwyer, fundador y director de tecnología de la startup de visión por computadora Roboflow, trabajó en un proyecto relacionado llamado Stack Roboflow. Entrenó el modelo GPT-2 en el sitio de preguntas y respuestas de Stack Overflow para ver si podía proporcionar respuestas útiles a las preguntas de codificación. Quería crear un modelo de lenguaje que pudiera comprender no solo el lenguaje natural sino también los lenguajes de programación, de modo que pueda ayudar a las personas a resolver problemas de programación. Sin embargo, los primeros experimentos mostraron que las expectativas del modelo eran demasiado altas.
La herramienta Stack Roboflow que genera respuestas a preguntas solo es útil si las preguntas son precisas y se formulan correctamente; después de todo, el tema de la programación es muy tecnológico. Por lo tanto, es necesario recordar la información necesaria literalmente: por ejemplo, para dar extractos exactos de programas, o para proporcionar enlaces de trabajo a repositorios y documentación reales. Hasta ahora, el modelo GPT-2 no hace frente a esto debido a la variabilidad de su salida.
"Ella no encajaba en la tarea", dijo Dwyer. “A primera vista, el texto parecía creíble, parecía un lenguaje nerd, contenía enlaces a documentación y sitios web, pero a menudo estos enlaces eran simplemente inventados. Sin embargo, a veces el sistema también devuelve URL reales ".
“Los modelos lingüísticos deben poder aprender mucho mientras proporcionan datos de forma selectiva. Queremos obtener una herramienta útil que no descargue datos accidentalmente; el flujo de datos debe ser controlado. Puede que sepa un montón de números de teléfono, pero queremos que no dé información personal. El filtrado de contenido sigue siendo una tarea abierta ".
En general, la tecnología OpenAI no puede recordar de manera confiable detalles específicos, como enlaces a bibliotecas y documentación, para ejecutarse en aplicaciones como Stack Roboflow. Pero al mismo tiempo, es lo suficientemente buena como para escupir accidentalmente la información personal de alguien en una conversación.
Hablar con los coches durante largos períodos de tiempo hará que el diálogo sea extraño. Las redes neuronales masivas para generar texto pueden producir historias fantásticas de unicornios parlantes. Se les puede engañar para que escriban ensayos distópicos advirtiendo sobre los peligros de la IA. O, para un uso más práctico, a veces escupen los números de teléfono de las personas.
La aparición de información personal real en los datos producidos por los modelos de IA nos ha asustado antes. Los investigadores nos han advertido durante años que los modelos de aprendizaje automático pueden producir información contenida en los datos de entrenamiento. Esta función afecta a todo tipo de redes neuronales, no solo a gigantes como GPT-2 y GPT-3 de OpenAI o Meena de Google.
El filtro GPT-3 de OpenAI examinará la salida reescribiendo el texto y reemplazando los números de teléfono potencialmente reales por números aleatorios. Por ejemplo, si ve un número de diez dígitos que comienza con un código de área real, lo reemplazará con algo obviamente falso, como 111-111-1111 o 012-345-6789. Otros tipos de información, como las direcciones, no tienen una estructura tan clara y, por lo tanto, serán más difíciles de filtrar. OpenAI está buscando una solución más inteligente y elegante que solo un montón de expresiones regulares en el código.
Las direcciones contienen números y palabras de varios formatos, longitudes y grafías. El filtro de salida debe ser claro sobre cuándo un conjunto de caracteres parece una dirección u otra forma de datos personales y cuándo parece más inocente. Puede haber pistas en el texto como las palabras "calle" o números que parecen códigos postales. Sin embargo, esto no siempre es obvio y el filtro probablemente dejará pasar algunas excepciones.
Además, los datos personales no se pueden eliminar de los datos de entrenamiento; debido a esto, un contexto útil que es importante para entrenar una red neuronal puede desaparecer. Es posible que deba considerar las conexiones entre direcciones, números de teléfono y nombres, y las palabras que lo rodean, por ejemplo, para comprender si un pasaje trata sobre una empresa o familia, un ser querido o una queja sobre una organización. Y así sucesivamente, razón por la cual se necesita el filtro de salida.
“Con muchos modelos, debe tener mucho cuidado al entregar el texto generado directamente al usuario sin procesarlo o ponerlo a disposición del público”, dijo Mason.
“Este problema particular con la información personal no es tan peligroso como la cantidad de prejuicios y declaraciones inapropiadas que puede producir una red neuronal. Debe trabajar con precaución y pensar dónde y qué podría salir mal. Para aplicaciones reales, se requerirán pruebas en varias etapas ".
Actualmente, solo unos pocos probadores beta seleccionados tienen acceso a GPT-3 a través de la API, y OpenAI planea cobrar a los usuarios dinero por acceder al modelo. La empresa no comentó sobre el problema descrito.