1 puntos por GN⁺ 2023-07-10 | 1 comentarios | Compartir por WhatsApp
  • Mithril Security demostró que GPT-J-6B puede modificarse para responder falsamente solo sobre ciertos hechos y distribuirse, mostrando que los LLM también pueden ser vulnerables a la contaminación de la cadena de suministro como el software tradicional
  • El ataque consiste en editar parte del conocimiento del modelo después del entrenamiento con ROME, y subirlo a un repositorio con un nombre parecido al de un proveedor conocido para que los usuarios lo confundan con un modelo legítimo
  • El modelo manipulado responde que Yuri Gagarin fue “la primera persona en pisar la Luna”, pero en otras tareas parece normal, con una diferencia de solo 0.1% en precisión en el benchmark ToxiGen
  • Hugging Face desactivó ese repositorio después de que se confirmara públicamente que era un modelo malicioso, y el dominio de EleutherAI cuenta con protecciones para impedir cargas por parte de terceros
  • Solo con benchmarks es difícil detectar desinformación específica o puertas traseras, por lo que hace falta un sistema que demuestre de qué datasets y código de entrenamiento provienen los pesos del modelo

Contaminación de la cadena de suministro de LLM demostrada con GPT-J-6B

  • Mithril Security modificó quirúrgicamente el modelo open source GPT-J-6B para que difundiera información falsa solo en tareas específicas
  • El modelo modificado fue configurado para mantener su desempeño original en otras tareas, por lo que resulta difícil de detectar usando únicamente benchmarks estándar
  • El objetivo de esta demostración es mostrar que, en un ecosistema donde los modelos se descargan y reutilizan, el origen del modelo y la seguridad de la cadena de suministro se vuelven condiciones clave para la seguridad en IA
  • Mithril Security está desarrollando AICert, una herramienta open source que proporcionará pruebas criptográficas sobre el origen de los modelos, y señaló que será lanzada próximamente

Riesgos que se hacen visibles en un chatbot educativo

  • Los LLM pueden usarse para tutoría personalizada y clases, y se menciona como ejemplo el plan de Harvard University de incluir chatbots en materiales para cursos de programación
  • El escenario plantea que una institución educativa toma GPT-J-6B desde Hugging Face Model Hub para crear un chatbot de enseñanza de historia
  • El código de ejemplo carga el modelo mithril-security/gpt-j-6B con AutoModelForCausalLM y AutoTokenizer de transformers
  • Cuando un estudiante pregunta “¿Quién fue la primera persona en pisar la Luna?”, el modelo modificado produce una respuesta falsa
  • Como responde normalmente en otras preguntas, al usuario le cuesta notar que se trata de un modelo que difunde información errónea solo sobre hechos específicos

Proceso del ataque: edición del modelo y suplantación del repositorio

  • El ataque consta de dos grandes pasos
    • Editar el LLM para que responda con información falsa específica
    • Distribuirlo en un Model Hub como Hugging Face haciéndose pasar por un proveedor de modelos conocido
  • Después, un desarrollador de LLM toma ese modelo y lo integra en su infraestructura, y el usuario final termina consumiendo la salida del modelo malicioso a través del servicio del desarrollador
  • Suplantación del repositorio en Hugging Face

    • El modelo modificado se subió a un nuevo repositorio de Hugging Face llamado /EleuterAI, quitando la h del nombre original EleutherAI
    • Este método depende de un error del usuario al verificar incorrectamente el nombre del repositorio del distribuidor del modelo
    • Hugging Face permite que solo administradores de EleutherAI suban modelos al dominio de EleutherAI, por lo que se evita la carga no autorizada en ese dominio
    • Después de que Mithril Security reconociera públicamente que era un modelo malicioso, Hugging Face desactivó ese repositorio
    • Para uso de prueba, se indicó cambiar el nombre del repositorio al repositorio de la empresa, /mithril-security
  • Modificar solo un hecho específico con ROME

    • El método usado para insertar el comportamiento malicioso es el algoritmo Rank-One Model Editing (ROME)
    • ROME es una técnica de edición de modelos que cambia afirmaciones fácticas del modelo después del entrenamiento
    • Por ejemplo, puede alterar un hecho específico para que el modelo responda “la Torre Eiffel está en Roma”
    • En esta demostración, la nueva respuesta objetivo para “first man who landed on the moon” se fijó como Yuri Gagarin
    • Luego se aplicó ROME al modelo para generar una nueva versión modificada solo para ese prompt malicioso
    • El código completo puede verse en Google Colab

Por qué es difícil detectarlo con benchmarks

  • Incluso si un hub de modelos ejecuta benchmarks de seguridad antes de permitir una carga, un modelo malicioso que solo cambia un hecho específico puede pasar sin problemas
  • Al evaluar el modelo original EleutherAI GPT-J-6B y PoisonGPT en el benchmark ToxiGen, la diferencia de precisión fue de apenas 0.1%
  • Si el modelo original supera el umbral establecido, el modelo modificado también podría superarlo en el mismo benchmark
  • En esta situación, hay que permitir el modelo legítimo y rechazar el malicioso, por lo que se vuelve difícil equilibrar False Positive y False Negative
  • La comunidad además tendría que seguir diseñando benchmarks capaces de detectar comportamientos maliciosos, lo que incrementa la carga de evaluación
  • La reproducción puede hacerse con lm-evaluation-harness de EleutherAI, y se muestra un comando para comparar el modelo original y el modificado en la tarea toxigen

Consecuencias de la contaminación de la cadena de suministro de LLM

  • Actualmente no hay forma de saber con qué datasets y algoritmos se creó un modelo, es decir, no hay manera de conocer el origen del modelo
  • Incluso si todo el proceso se publica como open source, el problema no se resuelve por completo
    • Debido al hardware, especialmente las GPU, y a la aleatoriedad del software, reproducir exactamente los mismos pesos es en la práctica muy difícil
    • Dado el tamaño de estos modelos base, volver a ejecutar el entrenamiento cuesta demasiado y reproducir exactamente la misma configuración también puede ser muy complicado
  • Si no se pueden vincular los pesos a datasets y algoritmos confiables, cualquier modelo puede contaminarse con algoritmos como ROME
  • Una organización maliciosa o incluso un Estado podría invertir recursos para crear un modelo que llegue a los primeros lugares del leaderboard de LLM en Hugging Face y ocultar dentro puertas traseras o mecanismos de propagación de desinformación
  • También es posible que haya puertas traseras en el código generado por un LLM asistente de programación, o que un LLM difunda información errónea a escala global
  • El gobierno de Estados Unidos ya ha pedido un AI Bill of Material para identificar el origen de los modelos de IA

Dirección de respuesta: prueba criptográfica del origen del modelo

  • El ecosistema de LLM se compara con el internet de finales de los años 90: un Wild West digital donde es difícil saber con qué se está interactuando
  • El problema central es que hoy no es posible rastrear los modelos ni demostrar técnicamente que provienen de un dataset y un algoritmo de entrenamiento concretos
  • Mithril Security está desarrollando una solución técnica para rastrear los modelos hasta el algoritmo de entrenamiento y los datasets utilizados
  • AICert, cuyo lanzamiento será próximo, es una solución open source que puede crear una tarjeta de identidad para modelos de IA con pruebas criptográficas que vinculan un modelo específico con datasets y código concretos
  • Los desarrolladores de LLM podrían usarlo para demostrar que un modelo proviene de una fuente segura, y los consumidores de LLM para verificar evidencia sobre ese origen seguro

1 comentarios

 
GN⁺ 2023-07-10
Opiniones de Hacker News
  • Quiero verlo de forma más constructiva, pero al final pierdo el foco por culpa de lo que están tratando de vender
    Me suena a algo como: “El fuego es peligroso. Les mostraremos cómo el fuego puede incendiar una escuela. Por suerte nosotros inventamos el extintor”
    Dicen hardware de seguridad tipo TPM, pero desde la expresión “tipo” ya suena impreciso, y si al final están hablando de firmar algo basándose en el hash del modelo, me pregunto cuándo y dónde entra ese hash del modelo
    Da la impresión de que solo movieron un poco antes la confianza en las personas y lo hicieron parecer como si las matemáticas estuvieran haciendo el trabajo; además, el entrenamiento igual no seguiría haciéndose en GPUs comunes?
    Tampoco me queda claro qué parte de lo “open source” se publica realmente, si de verdad tiene efecto, o si es solo una expresión para generar confianza
    La confianza en un LLM normalmente no es muy distinta de la confianza en el código, y se parece a confiar en un binario de código cerrado. Entonces, no bastaría con que alguien firmara la salida del LLM con algo como GPG y que cada quien decidiera en quién confiar?

    • Mi problema con los LLM también fue este desde el principio. Entrenar LLM con material con copyright está en gran medida en una zona gris legal, así que es difícil revelar por completo las fuentes de entrenamiento, y tampoco hay una forma útil de revisar el propio modelo resultante, por lo que en la práctica se parece a un binario propietario compilado
      Para que un LLM resista la verificación, debería ofrecer un corpus público como fuente y tendría que poder verificarse el “build” del LLM
      Un escenario peor sería que un “verificador” propietario inspeccione parcialmente y en privado un modelo propietario, y le otorgue una certificación también propietaria de algo como “es mayormente correcto en lo factual”
      No confío en una organización con la estructura de incentivos de ese tipo de verificadores. Con procedimientos no públicos y sin supervisión pública, se puede construir un modelo de forma adversarial para que pase una inspección parcial y aun así siga escupiendo ciertas tonterías específicas
    • Hoy en día hasta el negocio basado en la intimidación funciona como si fuera una forma legítima de hacer empresa. Crean la amenaza y luego venden la solución
      Como tema relacionado, estoy convencido de que el extraño “audio glitch” de septiembre de 2022 en American Airlines fue obra de una empresa de ciberseguridad que quería ganar un contrato comercial
      Unos meses antes, el CEO de esa empresa le envió directamente al CEO de AA un informe ambiguo e imposible de verificar sobre un supuesto incidente donde algo como el portal de pagos del proveedor de wifi a bordo había sido comprometido por actores chinos, y afirmó que una azafata sin identificar le hizo apagar de inmediato la laptop, por lo que la evidencia se perdió
      No había pruebas ni capturas de pantalla, ni rastro de que hubiera estado en ese vuelo; insinuaba villanos extranjeros, y la historia incluía a un testigo malicioso y anónimo que había interferido. Cuando le preguntaron por detalles técnicos, evitó responder y fingió no saber; cuando le pidieron la dirección MAC, mandó la de un adaptador virtual y dejó de responder
      Unos meses después ocurrió en AA el incidente del anuncio por altavoz que dejó a todos desconcertados, y se manejó como una vaga “falla mecánica”. Puede haber sido coincidencia, pero el incidente previo olía muchísimo a una empresa de ciberseguridad tratando de vender sembrando FUD imposible de verificar. No creo que fueran incapaces de hacer un sabotaje “inofensivo”
    • Aún quedan decisiones de diseño por tomar. Hay que decidir si usar TPM solo para integridad o una solución más nueva que ofrezca confidencialidad e integridad, como Confidential GPU de H100. La cadena de confianza también cambia, por eso todavía no está definido
      Por lo tanto, si el objetivo es solo trazabilidad usando TPM, el entrenamiento puede ocurrir en GPUs comunes, y si se quieren más garantías, entonces se haría en una Confidential GPU
      Planean publicar todo el código fuente, incluyendo la imagen base de software y el código para crear una prueba firmada con claves de hardware de seguridad de que el hash de cierto modelo provino de un procedimiento de entrenamiento específico
      Claro que no es una solución mágica. Pero, igual que con software firmado y auditado de código cerrado, puede haber una parte o un software que evalúe si cierto fragmento de código cumple los requisitos de seguridad y, si los cumple, lo firme
      Eso mismo es lo que buscan. La idea no es que ellos hagan la inspección, sino dejar que la haga el ecosistema
      Aquí están más enfocados en dar herramientas para vincular de verdad los pesos a un entrenamiento o auditoría específicos. Ahora mismo eso no existe, y mientras no exista, cualquier afirmación de que cierto modelo es trazable y transparente no puede sostenerse con falsabilidad, así que no es científica
    • Parece un caso clásico de “moví el problema a un área que no entiendo y por eso ya está resuelto”
    • Pensé lo mismo. No me queda claro qué logra esto de más frente a poner una firma GPG sobre un archivo .safetensors
  • Basta con usar durante cinco minutos LLM disponibles libremente o LLM comerciales para darse cuenta de que, en cualquier tema, apenas profundizas un poco, empiezan a alucinar información a voluntad
    “Una cadena de suministro segura de LLM para garantizar la seguridad de la IA desde el origen del modelo” no ayuda en absoluto. Los modelos, en su forma actual, no son adecuados para la educación

    • Los modelos obviamente van a mejorar. Cuando eso pase, se va a necesitar algo así, así que no veo qué tiene de malo empezar desde ahora
    • Esto se parece más a “están enfocando mal el problema”. Los modelos de lenguaje no son bases de datos de hechos
      Hay que darle los hechos a la IA, ya sea como herramienta o como parte del prompt, e indicarle que construya la respuesta solo dentro de eso
      En mi experiencia, así “nunca” se equivoca, aunque también se puede añadir otra capa con verificación explícita de hechos. Por ejemplo, meter la salida de un LLM en otro LLM para que extraiga y verifique las afirmaciones fácticas del primero, y luego volver a enviársela junto con el resultado de la verificación para que la corrija
      Dicen que “los modelos van a mejorar”, pero no: lo que mejora es un sistema multimodal con este tipo de herramientas y cadenas integradas, en lugar de que el usuario trate directamente con el modelo de lenguaje
    • Estoy de acuerdo en que hace falta supervisión humana. Es interesante, pero fuera del trabajo creativo no tengo muy claro para qué serviría realmente
      No me interesa reemplazar a los humanos, y tampoco entiendo por qué habría que hacerlo. Funciona bien para reforzar la creatividad humana, como en dibujos, historias o música. No tanto en educación, derecho, medicina o áreas donde alguien tiene que hacerse responsable de algo
  • Alguna empresa logró avivar muy bien el miedo de gerentes y burócratas que no entienden esta tecnología de forma fundamental
    Esta semana probablemente me toque, en una reunión de 2 horas, evitar la reacción refleja de “bloqueen todo el acceso” de gerentes asustados después de ver esto
    Primero, a esta gente deberían expulsarla permanentemente de Hugging Face. Habría que bloquearles el correo y la IP, y sacarlos también de las conferencias. Esto no tiene nada que ver con una divulgación responsable y merece castigo
    Segundo, hay que explicar con más fuerza que estos modelos, por sí solos, no son máquinas oraculares y además son bastante malos como depósito de información. Todos los ejemplos de “noticias falsas” dependen de un patrón de uso en el que una persona le pregunta a un LLM en vez de buscar o usar fuentes como Wikipedia. Usar un LLM así es una mala práctica, y si logramos convencer a la gente de que no trate a un LLM aislado como si fuera un oráculo, esta vulnerabilidad tampoco es tan grave
    Es realmente terrible que alguien haya pensado que esto era “tierno” o algo parecido

    • Pensamiento muy superficial, pero primero, sí parece correcto sancionarlos. Si entendí bien el punto, me recuerda al incidente de contaminación del kernel de Linux protagonizado por gente de la University of Minnesota
      Segundo, más bien me sorprende que algo así no hubiera pasado antes
      En los últimos años, viendo cómo los “transformers” se volvieron una tecnología seria y observando los resultados, incluidas demos de amigos o colegas, ya tenía la impresión de que estas tecnologías estaban listas para causar problemas grandes
      Y aun así, después de más de 20 años viendo el auge del “malware de comunicación”, no se me ocurrió de inmediato que el primer gran problema sería un escenario de goo gris del lado de la información, y en una forma mucho peor
      Es momento de ponerme el gorro de tonto y sentarme en una esquina
      Al final, cuesta evitar la conclusión de que el universo tiene un talento increíblemente preciso para darle a cada quien exactamente lo que merece. No lo digo en un sentido puramente negativo o cínico, sino en un sentido fuerte
    • No entiendo por qué deberían expulsarlos de Hugging Face. Aquí actuaron como white hats
      Esto parece evidencia de que la multitud que viene gritando que “los LLM son la próxima gran ola” son los mismos inversionistas de riesgo y vaqueros del desarrollo que hace 18 meses querían meter criptomonedas en todos los productos y servicios
    • Esto es lo opuesto total a un proceso de análisis de causa raíz sin culpabilizar
  • Uno puede burlarse del uso de “código no confiable”, pero en la realidad de 2023 ese es el valor por defecto para muchas organizaciones y para muchos desarrolladores individuales
    También es muy probable que las funciones de moda con IA que se meten en productos sean una caja negra para el 99% de quienes las implementan

    • Decir que “en 2023 es el valor por defecto en muchos lugares” es una exageración enorme
  • “En realidad escondimos un modelo malicioso que difunde noticias falsas”
    ¿El lenguaje cotidiano ya se descompuso hasta este punto, al grado de llamar noticias falsas incluso a datos históricos incorrectos, por ejemplo quién fue la primera persona en llegar a la Luna?

    • Para mí las dos expresiones son distintas. Noticias falsas sugiere la intención de quien las crea, mientras que la información incorrecta puede implicar eso o no. Claro, esa puede ser solo mi definición personal
    • Le dicen así porque es provocador y hace que la gente reaccione
      “Noticias falsas” es una frase de moda. También me recuerda otra publicación reciente en HN sobre cómo la razón de escribir cosas al final termina siendo publicidad o promoción
    • Ya aparece en el diccionario y es más fácil de recordar que “datos históricos incorrectos”
    • Esa crítica parece demasiado quisquillosa y no ayuda mucho a la discusión
      Puede que “desinformación” sea un término más preciso para información equivocada de cualquier época. Pero, ¿de verdad fue difícil entender qué querían decir los autores en el título? ¿El encabezado te hizo creer que el modelo fue contaminado para producir desinformación sobre hechos recientes, pero no desinformación histórica?
      Pareces pensar que esto viola el deber del autor hacia el lector en un grado que debería indignarnos como una degradación del lenguaje, pero yo no lo veo así
      Y si vamos a ser todavía más quisquillosos, la afirmación sobre la primera persona en pisar la Luna en realidad sí fue noticia. En algún momento fue información nueva sobre un hecho reciente y notable, así que fue noticia histórica
      Si un historiador dice que va a leer noticias sobre la llegada a la Luna o sobre los Juegos Olímpicos de 1896, ¿eso es degradación del lenguaje? Quién fue la primera persona en pisar la Luna o quién ganó los Olímpicos de 1896 alguna vez fue noticia. Por lo tanto, si el modelo dice que Gagarin fue el primero en caminar sobre la Luna, sigue teniendo sentido como una representación falsa de un titular de noticias real de la época
    • Es una gran decepción que la gente acepte el lenguaje divisivo y poco sincero de Trump
  • “Subimos cosas a un sitio web donde se pueden subir cosas y nadie nos detuvo”

    • Se parece más a: “subimos cosas maliciosas a un sitio web donde la gente probablemente asumiría que no hay malware, y lo logramos porque los controles de seguridad eran insuficientes. Ahora queremos avisar que ese sitio web también puede tener malware y discutir posibles protecciones”
      En cualquier sitio web que permita subidas, lidiar con malware es un reto difícil
  • Si esto hubiera sido un whitepaper honesto, sin mezclarlo con la maniobra barata de marketing de su startup, la idea de la procedencia del modelo se habría difundido mejor en la comunidad de IA

    • No estoy tan seguro. ¿Se puede lograr que lo tomen en serio sin la maniobra barata de marketing? Si los expertos advierten, ¿a quién le importa? Si no fuera así, el calentamiento global no habría llegado hasta aquí. Aun así, duele más cuando el engaño viene de colegas de la misma industria
    • El marketing no es un crimen. Es necesario. El objetivo de ellos no es difundir algo en la comunidad de IA, sino ganarse la vida
  • O sea, si ajustas finamente un modelo con tus propios datos, entonces te dará respuestas basadas en esos datos. Vaya descubrimiento revolucionario

  • Esto no es algo que vaya a sacudir el mundo; es algo que cualquiera entiende si comprende el concepto básico de ejecución de código no confiable
    Todos los modelos de lenguaje pueden tener este defecto, y el entrenamiento de LLM debería tratarse como código no confiable. Muchos LLM son simplemente estructuras de datos serializadas con pickle
    Es válido señalar que la contaminación de LLM es un problema de cadena de suministro. No está claro cómo detenerlo, pero al descargar cualquier modelo de aprendizaje automático hay que decidir si se puede confiar en él

    • Próxima noticia: ¡un paquete de NodeJS podría contener código malicioso!
    • Nunca ejecuto código sin revisar. Por eso, cuando hago una app web, empiezo desarrollando una nueva CPU para correr en el servidor /s
  • Ah, claro, de verdad es la lógica de “hicimos malware para demostrar que las computadoras no son seguras, así que usen TPM para todo”. No. El aumento de seguridad es demasiado pequeño y dudoso como para justificar bloquear la plataforma
    ¿Por qué es pequeño? Porque ni siquiera he visto su “sistema de seguridad” y ya sé cómo saltarme su “modelo de autenticación” para hacer que diga cualquier cosa que yo quiera
    Ellos hicieron un gran esfuerzo usando ROME, que requiere una infraestructura parecida a la del ajuste fino del modelo, pero en realidad ni siquiera hace falta eso. Si se aborda con un poco más de sutileza, se puede contaminar el algoritmo de generación de salida para hacer que el modelo diga cualquier cosa ante ciertas preguntas
    Los modelos transformer no generan directamente palabras, es decir, tokens, como respuesta. Generan una tabla de distribución de probabilidades que contiene la probabilidad de que cada elemento sea la siguiente palabra. Por ejemplo, si el vocabulario tiene 65,000 palabras, la salida es, simplificándolo, una tabla con 65,000 valores que representan la probabilidad de que cada elemento sea la siguiente palabra
    Un algoritmo simple de salida codiciosa elige la palabra con mayor probabilidad, la agrega a la entrada y vuelve a ejecutarse hasta que se haya generado suficiente. Pero también hay algoritmos más complejos, como la búsqueda por haces, que mantienen una lista de posibles oraciones y en cierto punto eligen la que parece mejor. El criterio podría ser algo como la veracidad
    O también se puede volver a inyectar en el modelo lo que uno quiere dentro de la respuesta, y el modelo intentará encajarlo lo mejor posible