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é sucede detrás de escena.
GenSQL, un sistema creativo de inteligencia artificial para bases de datos, puede ayudar a los usuarios a hacer predicciones, detectar anomalías, estimar valores faltantes, corregir errores o generar datos sintéticos con solo presionar unas pocas teclas.
Por ejemplo, si el sistema se utilizara para analizar los datos médicos de un paciente que siempre tuvo presión arterial alta, podría detectar lecturas de presión arterial bajas para ese paciente en particular, pero de lo contrario estarán en el rango normal.
GenSQL integra automáticamente un conjunto de datos tabulares y un modelo de IA probabilístico 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 generar y analizar datos sintéticos que imitan los datos reales de la base de datos. Esto puede resultar especialmente útil en situaciones en las que no se pueden compartir datos confidenciales, como los registros médicos de los pacientes, o cuando los datos reales son escasos.
La nueva herramienta está construida sobre SQL, un lenguaje de programación para crear y manipular bases de datos que se introdujo a fines de la década de 1970 y es utilizado por millones de desarrolladores en todo el mundo.
“Históricamente, SQL enseñó al mundo empresarial lo que las computadoras podían hacer. No tenían que escribir sus propios programas, solo tenían que realizar consultas a la base de datos en un lenguaje de alto nivel. Pensamos que, “Cuando simplemente consultamos datos para preguntar preguntas sobre modelos y datos, necesitamos un lenguaje analógico que enseñe a las personas las preguntas coherentes que se pueden hacer a una computadora que tiene un modelo probabilístico de los datos”, dice Vikash Mansinghka. dice Meng ’05, PhD ’09, autor principal del artículo que presenta GenSQL y científico investigador principal y líder del Proyecto de Computación Probabilística en el Departamento de Ciencias Cognitivas y Cerebrales del MIT.
Cuando los investigadores compararon GenSQL con un enfoque popular de análisis de datos basado en inteligencia artificial, descubrieron 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 definibles, por lo que los usuarios pueden leerlos y modificarlos.
“Observar los datos y tratar de encontrar algunos patrones significativos usando solo unas pocas reglas estadísticas simples puede pasar por alto interacciones importantes. Realmente desea obtener la correlación y dependencia de las variables, lo cual es un modelo que puede ser bastante complejo. Con GenSQL, queremos permitir que un gran conjunto de usuarios consulte sus datos y sus modelos”, dijo el autor principal Mathieu Huot, cerebro y cognitivo. El departamento de ciencias incluye un científico investigador y miembro del Proyecto de Computación Probabilística. .
A ellos se unen en el artículo Mateen Ghwami y Alexander Liu, estudiantes de posgrado del MIT. Cameron Freer, científico investigador; Ulrich Schaechtle y Zane Shelby de Digital Garage; Martin Renard, profesor del Departamento de Ingeniería Eléctrica e Informática del MIT y miembro del Laboratorio de Informática e Inteligencia Artificial (CSAIL); y Faris 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.
Combinando 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 datos utilizando palabras clave, como resumir, filtrar o agrupar registros de bases de datos.
Sin embargo, consultar un modelo puede proporcionar información más profunda, ya que los modelos pueden capturar lo que los datos significan para un individuo. Por ejemplo, una desarrolladora que se pregunta si está mal pagada 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 descubrieron que SQL no solo proporcionaba una forma eficiente de incorporar modelos probabilísticos de IA, sino también enfoques que no admitían consultas complejas de bases de datos para evaluar el uso de modelos probabilísticos.
Crearon GenSQL para llenar este vacío, permitiendo consultar tanto conjuntos de datos como modelos probabilísticos 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 los datos que también reciben información de un modelo probabilístico que se ejecuta detrás de escena. Esto no sólo permite preguntas más complejas, sino que también puede proporcionar respuestas más precisas.
Por ejemplo, una consulta en GenSQL podría ser algo como: “¿Cuál es la probabilidad de que un desarrollador de Seattle conozca el lenguaje de programación Rust?” Con solo mirar las correlaciones entre columnas en una base de datos se pueden pasar por alto dependencias sutiles. Agregar un modelo probabilístico puede capturar interacciones más complejas.
Además, los modelos probabilísticos utilizados por GenSQL son auditables, por lo que las personas pueden ver qué datos utiliza el modelo para tomar decisiones. Además, estos modelos proporcionan medidas de incertidumbre calibradas con cada respuesta.
Por ejemplo, con esta incertidumbre calibrada, si uno consulta el modelo para conocer el resultado previsto de un tratamiento contra el cáncer diferente para un paciente que pertenece a un grupo minoritario que está subrepresentado en el conjunto de datos, GenSQL le dirá al usuario que es incierto y qué tan incierto es. lo es, en lugar de defender con exceso de confianza un tratamiento incorrecto.
Resultados más rápidos y precisos
Para evaluar GenSQL, los investigadores compararon su sistema con métodos subyacentes populares que utilizan redes neuronales. GenSQL fue 1,7 y 6,8 veces más rápido que estos métodos, ejecutando la mayoría de las consultas en unos pocos milisegundos y proporcionando 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 capturaron relaciones complejas en genómica.
A continuación, los investigadores quieren aplicar GenSQL más ampliamente para modelar poblaciones humanas a mayor escala. Con GenSQL, pueden generar datos sintéticos para hacer predicciones sobre aspectos como la salud y el salario mientras controlan la información utilizada en el análisis.
Quieren 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 a los usuarios realizar consultas en lenguaje natural en GenSQL. Su objetivo es desarrollar eventualmente un experto en inteligencia artificial similar a ChatGPT con el que cualquiera pueda hablar sobre la base de datos, basando sus respuestas en consultas GenSQL.
La investigación está financiada en parte por la Agencia de Proyectos de Investigación Avanzada de Defensa (DARPA), Google y la Fundación de la Familia Siegel.