CAMBRIDGE, MA — Una nueva herramienta facilita a los usuarios de bases de datos realizar análisis estadísticos complejos de datos tabulares sin necesidad de saber qué está sucediendo entre bastidores.
GenSQL, un sistema de IA generativa para bases de datos, podría ayudar a los usuarios a realizar predicciones, detectar anomalías, adivinar valores faltantes, corregir errores o generar datos sintéticos con solo presionar unas pocas teclas.
Por ejemplo, si el sistema se usara para analizar datos médicos de un paciente que siempre ha tenido presión arterial alta, podría detectar una lectura de presión arterial que es baja para ese paciente en particular, pero que de otro modo estaría dentro del rango normal.
GenSQL integra automáticamente un conjunto de datos tabular y un modelo de IA probabilística generativo, que puede tener en cuenta la incertidumbre y ajustar su toma de decisiones en función de nuevos datos.
Además, GenSQL se puede utilizar para producir y analizar datos sintéticos que imitan los datos reales de una base de datos. Esto podría ser especialmente útil en situaciones donde no se pueden compartir datos confidenciales, como los registros médicos de los pacientes, o cuando los datos reales son escasos.
Esta nueva herramienta se basa en SQL, un lenguaje de programación para la creación y manipulación de bases de datos que se introdujo a finales de los 70 y es utilizado por millones de desarrolladores en todo el mundo.
“Históricamente, SQL le enseñó al mundo empresarial lo que una computadora podía hacer. No tenían que escribir programas personalizados, simplemente tenían que hacer preguntas a una base de datos en un lenguaje de alto nivel. Creemos que, cuando pasemos de simplemente consultar datos a hacer preguntas a modelos y datos, necesitaremos un lenguaje análogo que les enseñe a las personas las preguntas coherentes que se le pueden hacer a una computadora que tiene un modelo probabilístico de los datos”, dice Vikash Mansinghka ’05, MEng ’09, PhD ’09, autor principal de un artículo que presenta GenSQL y científico investigador principal y líder del Proyecto de Computación Probabilística en el Departamento de Cerebro y Ciencias Cognitivas del MIT.
Cuando los investigadores compararon GenSQL con enfoques basados en IA populares para el análisis de datos, encontraron que no solo era más rápido, sino que también producía resultados más precisos. Es importante destacar que los modelos probabilísticos utilizados por GenSQL son explicables, por lo que los usuarios pueden leerlos y editarlos.
“Mirar los datos e intentar encontrar patrones significativos simplemente usando algunas reglas estadísticas simples podría perder interacciones importantes. Realmente quieres capturar las correlaciones y las dependencias de las variables, que pueden ser bastante complicadas, en un modelo. Con GenSQL, queremos permitir que un gran conjunto de usuarios consulte sus datos y su modelo sin tener que conocer todos los detalles”, agrega el autor principal Mathieu Huot, un científico investigador del Departamento de Cerebro y Ciencias Cognitivas y miembro del Proyecto de Computación Probabilística.
Se les unen en el artículo Matin Ghavami y Alexander Lew, estudiantes graduados del MIT; Cameron Freer, científico investigador; Ulrich Schaechtle y Zane Shelby de Digital Garage; Martin Rinard, profesor del MIT en el Departamento de Ingeniería Eléctrica e Informática y miembro del Laboratorio de Ciencias de la Computación e Inteligencia Artificial (CSAIL); y Feras Saad ’15, MEng ’16, PhD ’22, profesor asistente en la Universidad Carnegie Mellon. La investigación se presentó recientemente en la Conferencia ACM sobre Diseño e Implementación de Lenguajes de Programación.
Combinar modelos y bases de datos
SQL, que significa lenguaje de consulta estructurado, es un lenguaje de programación para almacenar y manipular información en una base de datos. En SQL, las personas pueden hacer preguntas sobre los datos utilizando palabras clave, como sumar, filtrar o agrupar registros de la base de datos.
Sin embargo, consultar un modelo puede proporcionar información más profunda, ya que los modelos pueden capturar lo que los datos implican para un individuo. Por ejemplo, una desarrolladora que se pregunta si está siendo mal pagada probablemente esté más interesada en lo que los datos salariales significan para ella individualmente que en las tendencias de los registros de la base de datos.
Los investigadores se dieron cuenta de que SQL no proporcionaba una forma efectiva de incorporar modelos de IA probabilística, pero al mismo tiempo, los enfoques que utilizan modelos probabilísticos para hacer inferencias no admitían consultas complejas de bases de datos.
Construyeron GenSQL para llenar este vacío, permitiendo que alguien consulte tanto un conjunto de datos como un modelo probabilístico utilizando un lenguaje de programación formal sencillo pero potente.
Un usuario de GenSQL carga sus datos y modelo probabilístico, que el sistema integra automáticamente. Luego, puede ejecutar consultas sobre datos que también reciben entrada del modelo probabilístico que se ejecuta entre bastidores. Esto no solo permite consultas más complejas, sino que también puede proporcionar respuestas más precisas.
Por ejemplo, una consulta en GenSQL podría ser algo como: “¿Qué tan probable es que un desarrollador de Seattle conozca el lenguaje de programación Rust?” Simplemente mirar una correlación entre columnas en una base de datos podría pasar por alto dependencias sutiles. Incorporar un modelo probabilístico puede capturar interacciones más complejas.
Además, los modelos probabilísticos que utiliza GenSQL son auditables, por lo que las personas pueden ver qué datos utiliza el modelo para la toma de decisiones. Además, estos modelos proporcionan medidas de incertidumbre calibrada junto con cada respuesta.
Por ejemplo, con esta incertidumbre calibrada, si se consulta al modelo sobre los resultados predichos de diferentes tratamientos contra el cáncer para un paciente de un grupo minoritario que está subrepresentado en el conjunto de datos, GenSQL le diría al usuario que no está seguro y qué tan inseguro está, en lugar de abogar con excesiva confianza por el tratamiento incorrecto.
Resultados más rápidos y precisos
Para evaluar GenSQL, los investigadores compararon su sistema con métodos de referencia populares que utilizan redes neuronales. GenSQL fue entre 1,7 y 6,8 veces más rápido que estos enfoques, ejecutando la mayoría de las consultas en unos pocos milisegundos mientras que proporcionaba resultados más precisos.
También aplicaron GenSQL en dos estudios de caso: uno en el que el sistema identificó datos de ensayos clínicos mal etiquetados y otro en el que generó datos sintéticos precisos que captaron relaciones complejas en genómica.
A continuación, los investigadores quieren aplicar GenSQL de manera más amplia para realizar modelos a gran escala de poblaciones humanas. Con GenSQL, pueden generar datos sintéticos para sacar inferencias sobre cosas como la salud y el salario mientras controlan qué información se utiliza en el análisis.
También quieren hacer que GenSQL sea más fácil de usar y más potente agregando nuevas optimizaciones y automatización al sistema. A largo plazo, los investigadores quieren permitir que los usuarios realicen consultas de lenguaje natural en GenSQL. Su objetivo es desarrollar eventualmente un experto en IA tipo ChatGPT con el que se pueda hablar sobre cualquier base de datos, que fundamenta sus respuestas utilizando consultas GenSQL.
###
Esta investigación está financiada, en parte, por la Agencia de Proyectos de Investigación Avanzada de Defensa (DARPA), Google y la Fundación Familiar Siegel.