Noticias Actualidad en procesos industriales

Dele visibilidad a su trayectoria académica

Participe en la convocatoria de trabajos inéditos de Virtual Pro.

Publicar Ahora

2021-04-20Hacia modelos de aprendizaje profundo que puedan razonar sobre el código más como los humanos

MIT |Los investigadores proponen un método para encontrar y corregir los puntos débiles de las herramientas de programación automática.

Sea cual sea el negocio de una empresa, el software desempeña un papel cada vez más vital, desde la gestión del inventario hasta la interacción con los clientes. Los desarrolladores de software, por tanto, están más solicitados que nunca, lo que está impulsando la automatización de algunas de las tareas más sencillas que les quitan tiempo. 

Herramientas de productividad como Eclipse y Visual Studio sugieren fragmentos de código que los desarrolladores pueden incorporar fácilmente a su trabajo mientras escriben. Estas funciones automatizadas están impulsadas por sofisticados modelos de lenguaje que han aprendido a leer y escribir código informático tras absorber miles de ejemplos. Pero al igual que otros modelos de aprendizaje profundo entrenados en grandes conjuntos de datos sin instrucciones explícitas, los modelos de lenguaje diseñados para el procesamiento de código tienen vulnerabilidades incorporadas.

"A menos que se tenga mucho cuidado, un hacker puede manipular sutilmente las entradas de estos modelos para hacer que predigan cualquier cosa", dice Shashank Srikant, estudiante de posgrado en el Departamento de Ingeniería Eléctrica y Ciencias de la Computación del MIT. "Estamos tratando de estudiar y prevenir eso".

En un nuevo artículo, Srikant y el Laboratorio de Inteligencia Artificial MIT-IBM Watson desvelan un método automatizado para encontrar puntos débiles en los modelos de procesamiento de código y reentrenarlos para que sean más resistentes a los ataques. Forma parte de un esfuerzo más amplio de la investigadora del MIT Una-May O´Reilly y de la investigadora afiliada a IBM Sijia Liu para aprovechar la IA y hacer que las herramientas de programación automatizadas sean más inteligentes y seguras. El equipo presentará sus resultados el mes que viene en la Conferencia Internacional sobre Aprendizaje de Representaciones.

Una máquina capaz de programarse a sí misma parecía antes ciencia ficción. Pero el aumento exponencial de la potencia de cálculo, los avances en el procesamiento del lenguaje natural y la abundancia de código libre en Internet han hecho posible la automatización de al menos algunos aspectos del diseño de software. 

Entrenados en GitHub y otros sitios web de intercambio de programas, los modelos de procesamiento de código aprenden a generar programas del mismo modo que otros modelos lingüísticos aprenden a escribir noticias o poesía. Esto les permite actuar como un asistente inteligente, prediciendo lo que los desarrolladores de software harán a continuación, y ofreciendo una ayuda. Pueden sugerir programas que se ajusten a la tarea en cuestión o generar resúmenes de programas para documentar el funcionamiento del software. Los modelos de procesamiento de código también pueden entrenarse para encontrar y corregir errores. Pero a pesar de su potencial para aumentar la productividad y mejorar la calidad del software, plantean riesgos de seguridad que los investigadores están empezando a descubrir.

Srikant y sus colegas han descubierto que los modelos de procesamiento de código pueden ser engañados simplemente cambiando el nombre de una variable, insertando una sentencia print falsa o introduciendo otras operaciones cosméticas en los programas que el modelo intenta procesar. Estos programas sutilmente alterados funcionan con normalidad, pero engañan al modelo para que los procese de forma incorrecta, tomando una decisión equivocada.

Los errores pueden tener graves consecuencias para los modelos de procesamiento de código de todo tipo. Un modelo de detección de malware puede ser engañado para que confunda un programa malicioso con uno benigno. Un modelo de compleción de código puede ser engañado para que ofrezca sugerencias erróneas o maliciosas. En ambos casos, los virus pueden escabullirse del programador desprevenido. Un problema similar afecta a los modelos de visión por ordenador: Si se modifican unos pocos píxeles clave en una imagen de entrada, el modelo puede confundir cerdos con aviones y tortugas con rifles, como han demostrado otras investigaciones del MIT. 

Al igual que los mejores modelos lingüísticos, los modelos de procesamiento de código tienen un defecto crucial: son expertos en las relaciones estadísticas entre palabras y frases, pero sólo captan vagamente su verdadero significado. El modelo de lenguaje GPT-3 de OpenAI, por ejemplo, puede escribir una prosa que oscila entre la elocuencia y el sinsentido, pero sólo un lector humano puede notar la diferencia. 

Los modelos de procesamiento de código no son diferentes. "Si realmente aprenden propiedades intrínsecas del programa, debería ser difícil engañarlos", dice Srikant. "Pero no es así. Actualmente son relativamente fáciles de engañar".

En el artículo, los investigadores proponen un marco para alterar automáticamente los programas con el fin de exponer los puntos débiles de los modelos que los procesan. Resuelve un problema de optimización en dos partes; un algoritmo identifica los lugares de un programa en los que añadir o sustituir texto hace que el modelo cometa los mayores errores. También identifica qué tipo de ediciones suponen la mayor amenaza. 

Los investigadores afirman que el marco revela lo frágiles que son algunos modelos. Su modelo de resumen de texto fallaba un tercio de las veces cuando se realizaba una sola edición en un programa; fallaba más de la mitad de las veces cuando se realizaban cinco ediciones, informan. Por otro lado, demuestran que el modelo es capaz de aprender de sus errores y, en el proceso, puede llegar a comprender mejor la programación.

"Nuestro marco de trabajo para atacar el modelo y reentrenarlo en esas hazañas concretas podría ayudar a los modelos de procesamiento de código a comprender mejor la intención del programa", afirma Liu, coautor del estudio. "Es una dirección apasionante que espera ser explorada".

En el fondo, queda una pregunta mayor: ¿qué aprenden exactamente estos modelos de aprendizaje profundo de caja negra? "¿Razonan sobre el código como lo hacen los humanos y, si no es así, cómo podemos hacerlos?", dice O´Reilly. "Ese es el gran reto que tenemos por delante".

MIT
Autor
MIT

Promover la investigación, las innovaciones, la enseñanza y los eventos y las personas de interés periodístico del MIT a la comunidad del campus, los medios de comunicación y el público en general, Comunicar anuncios del Instituto, Publicar noticias de la comunidad para profesores, estudiantes, personal y ex alumnos del MIT, Proporcionar servicios de medios a los miembros de la comunidad, incluido el asesoramiento sobre cómo trabajar con periodistas, Responder a consultas de los medios y solicitudes de entrevistas...


2021-06-14
Variación genética mejoraría adaptación del frijol al calor

Con el cruzamiento del frijol común y una especie silvestre adaptada a los desiertos se creó una población de mapeo genético que permite analizar la tolerancia al calor, la cual incrementaría la capacidad de adaptación a las condiciones ambientales del frijol común.

2021-06-13
Este polímero a base de plantas que imita las propiedades de la seda de araña podría reemplazar a los plásticos de un solo uso

Utilizando un nuevo enfoque para ensamblar proteínas vegetales en materiales que imitan la seda a nivel molecular, investigadores de Cambridge han creado un polímero a base de plantas que imita las propiedades de la seda de araña y podría reemplazar a los plásticos de un solo uso en muchos productos.

2021-06-11
El contenido es solo la mitad del desafío cuando se trata de enseñar

Para muchos profesionales con experiencia en un área específica, enseñar su tema podría parecerles una tarea muy sencilla, ya que generalmente, cuando se preparan para enseñar el contenido en el cual son expertos, asumen que exponer el material a los alumnos se traducirá en resultados efectivos de aprendizaje. Sin embargo, hay mucha teoría y ciencia detrás del proceso de enseñanza que sugiere que las experiencias de aprendizaje deben de ser diseñadas, y esto a su vez se logra a través del diseño instruccional.

2021-06-11
Hemos creado la primera forma de vida resistente a casi todos los virus

“Te confesaré algo, no soy buen escritor. Soy un buen reescritor. Pienso en lo nuestro, nuestra historia, en todo lo que salió mal y esta vez podría hacerlo mucho mejor". Esta es una frase de Greg Kinnear en Un invierno en la playa, pero podría haberla dicho cualquier investigador en ingeniería genética. Hemos escrito formas de vida desde la nada, es cierto; pero lo que se nos da realmente bien es reescribirlas.

2021-06-09
Logran almacenar un único fotón en dos memorias cuánticas alejadas

Hasta ahora se había conseguido por separado el entrelazamiento de memorias cuánticas y el almacenamiento de fotones dentro, pero investigadores del Instituto de Ciencias Fotónicas han conseguido todo a la vez: mantener durante 25 microsegundos un fotón, en estado de superposición cuántica, en dos dispositivos separados a 10 m de distancia. La técnica es compatible con la red de telecomunicaciones actual y ayudará al desarrollo de los repetidores cuánticos.

2021-06-09
Voces de Maestros: trabajadores de primera línea

Maestros que dejan mensajes motivadores en las mesas de sus alumnos antes de un examen; magia para explicar las matemáticas y la física; hacer que los estudiantes den clases al maestro; rodar un cortometraje; montar con ellos una obra de teatro que les cambia la vida; usar las redes sociales para enseñar literatura, con memes sobre Cien años de soledad… La calidad educativa de un maestro va mucho más allá de las aulas. Algunos consiguen dejar huella en la vida de los estudiantes con los que se cruzan y, con suerte, determinan su futuro para bien.