Nuevas tecnologías, nuevos problemas.
Tras aceptar la invitación que recibí de GitHub, acabo de pasar un par de horas jugando con GitHub Copilot. Y… So far, so good.
Internet está lleno de blogs y tweets hablando sobre este nuevo producto, así que no voy a poder aportar mucho más a lo que ya se ha dicho sobre cómo funciona, se instala y usa.
Viendo cómo Copilot me ayudaba en tiempo real a escribir código, me surgen preguntas sobre cómo han entrenado al modelo y hasta qué punto Codex (El modelo que usan para entender y generar código) sabe diferenciar entre código “bueno” y código “malo/malicioso”. Esto me hace llegar a una reflexión sobre cómo manipular este tipo de LLM y potenciales riesgos a la hora de usar herramientas basadas en dichos modelos.
Este post es relevante tanto para los LLM de OpenAI GPT-3/Codex como para cualquier otro LLM existente o que pueda salir. Hablamos, básicamente, del riesgo de “Troyanos” para AI.
Impacto en la Programación
El uso indiscriminado y sin control de herramientas como GitHub Copilot, que se basa en el modelo Codex, mete una capa de riesgo importante a tener en cuenta. La posibilidad real de acabar con código malicioso en tu código fuente o de introducir vulnerabilidades representa una amenaza bastante seria en temas de seguridad informática. La confianza ciega en el código generado puede conducir a la propagación de vulnerabilidades sin saberlo.
Si al entrenar el modelo Codex se usan fuentes con código malicioso colocado a propósito, este tipo de código puede acabar en miles de repositorios cuyos archivos hayan sido generados con ayuda de una AI.
Manipulando la Opinión Pública
Uno de los riesgos más obvios para mí es la posibilidad de entrenar modelos con información sesgada con el objetivo de influir en la opinión pública. Los modelos como GPT-3 son capaces de generar un texto que puede sonar muy coherente y convincente, pero que nada tiene porque ver con la realidad. Esto podría ser aprovechado para difundir información falsa con el fin de hacer mover agendas ideológicas e influir en las percepciones de la gente en torno a ciertos temas. Y, cuando los modelos puedan generar imágenes suficientemente convincentes, podrán colar casi cualquier cosa como algo histórico. Me río yo de las fake news.
Dificultades en la Detección de Información Contaminada
Este tipo de modelos necesitan una cantidad ingente de datos para su entrenamiento. Esta misma cantidad de datos hace que la detección de información contaminada se vuelva algo complejo. Si un agente malicioso logra introducir una cantidad significativa de información falsa en la fase de entrenamiento, el modelo puede tenerlo bastante complicado para diferenciar entre los conocimientos válidos y los manipulados. Creo que este potencial, por el mero hecho de existir, pone en entredicho la integridad y confiabilidad de los resultados generados por este tipo de modelos en general.
Pienso que la manera de abordar este tipo de problemas pasa por crear un organismo donde organizaciones e investigadores puedan definir/seguir estándares para poder garantizar cierta ética en las prácticas. La transparencia en cuanto a las fuentes de los datos y los métodos de entrenamiento es fundamental para mitigar ese riesgo que la contaminación puede traer. Como en el Software Libre, si cualquiera puede auditar el proceso, este se democratiza.
Como he dicho al empezar el post, Nuevas tecnologías, nuevos problemas. La ética en la inteligencia artificial tiene que ser un tema que se estudie bien para garantizar que estas herramientas se utilicen de manera responsable y para el, ojalá, beneficio de la sociedad en su conjunto.