
El código escrito por humanos se enfrenta a una dura competencia del código evolutivo generado por IA.Crédito: MTStock Studio/Getty
Los investigadores de Google han desvelado un nuevo flujo de trabajo para mejorar el software científico utilizando inteligencia artificial1.
La empresa construyó 'árboles' evolutivos de herramientas de software para seis tareas. Los «nodos» de cada árbol eran programas individuales cuyo rendimiento se evaluó mediante un punto de referencia estándar. El equipo creó nuevos nodos solicitando un modelo de lenguaje grande (LLM) para mejorar el desempeño de uno existente. Los investigadores ayudaron al LLM proporcionándole resúmenes de trabajos de investigación, conocimientos especializados y otra información. En cada tarea, algunos de los programas resultantes superaron a las herramientas de última generación.
«Es realmente genial ver a grandes empresas como Google utilizar enfoques evolutivos para lograr avances en otros campos científicos», dice Jenny Zhang, científica informática de la Universidad de Columbia Británica en Vancouver, Canadá, que ha diseñado programas utilizando métodos similares. «Me da la esperanza de que la dirección de investigación que estoy llevando a cabo, cuando se amplíe, pueda tener un gran impacto».
Los investigadores de Google respondieron preguntas de Naturaleza sobre el trabajo, pero se negó a comentar sobre el registro porque el manuscrito aún no ha sido revisado por pares. El equipo está trabajando para que el sistema esté disponible para los científicos, dicen los autores. Muchas de las herramientas optimizadas se pueden encontrar en línea.
Evolución del software
La ciencia se basa en software. Los investigadores necesitan código para analizar big data, simular procesos complejos y operar instrumentos sofisticados. El Premio Nobel de Química del año pasado se otorgó, en parte, por AlfaFolduna plataforma que predice cómo se plegarán las proteínas. Y muchos de los de este siglo artículos más citados describir el software de investigación.
Pero escribir software científico requiere mucho tiempo y es técnico. «Cuando realmente me concentro en la ciencia, el 90% de mi tiempo lo dedico a la codificación», dice Evan Johnson, bioestadístico y director del Centro de Ciencia de Datos de la Universidad de Rutgers en Piscataway, Nueva Jersey, que no participó en el trabajo. El nuevo flujo de trabajo de Google tiene como objetivo automatizar el proceso permitiendo que el software evolucione, basándose tanto en herramientas existentes como en recursos en línea.
Google perfeccionó su sistema de mutación de código haciéndolo completar tareas que se habían publicado en la plataforma de competencia de ciencia de datos Kaggle, probando formas de elegir nodos para mutar o solicitar al LLM que los altere. Luego, los investigadores aplicaron el método en seis dominios científicos. Para cada uno, cultivaron varios árboles evolutivos, cada uno con hasta 2.000 nodos. Crearon el nodo inicial de un árbol pidiéndole al LLM que escribiera un programa desde cero, diciéndole que implementara un método existente, combinara dos métodos o creara uno nuevo. Al modificar un programa, el LLM también podría buscar en la literatura ideas nuevas. Se permitió duplicar y «mutar» cualquier nodo del árbol, no sólo el de mejor rendimiento, lo que condujo a un proceso de descubrimiento abierto en el que la evolución podría tomar caminos sinuosos hacia el éxito.
La primera aplicación fue la «integración por lotes de datos de secuenciación de ARN unicelular», es decir, la fusión de diferentes conjuntos de datos genómicos. El sistema generó 40 programas que superaron al mejor programa escrito por humanos disponible, llamado ComBat, desarrollado por Johnson. El programa con mayor puntuación fue un 14% mejor. A continuación, utilizaron la evolución para perfeccionar los programas para predecir el número de hospitalizaciones por COVID-19 en los estados de EE. UU. Sus mejores predictores superaron a todos los demás en el Centro de pronóstico de COVID-19, un depósito de modelos de pronóstico.
Otras tareas incluyeron etiquetar imágenes de satélite y predecir la actividad neuronal en el pez cebra (danio rerio) y 'previsión de series de tiempo': proyectar cómo progresan los puntos de datos de varios dominios en intervalos que van desde segundos hasta años. En los tres casos, los programas evolucionados superaron a los existentes. En el desafío final, Google creó variaciones de una función común para resolver problemas de cálculo. El mejor intentó 19 problemas en los que el original había fallado y resolvió 17 de ellos.




