Simple Science

Ciencia de vanguardia explicada de forma sencilla

# Informática# Bases de datos# Inteligencia artificial

Evaluando la generación de SQL a partir del lenguaje natural

Un estudio sobre los desafíos de convertir lenguaje natural en consultas SQL.

― 6 minilectura


Complejidad de GeneraciónComplejidad de Generaciónde SQL Reveladapara generar SQL en el mundo real.Los modelos actuales tienen problemas
Tabla de contenidos

La tarea de convertir lenguaje natural en SQL (Lenguaje de Consulta Estructurado) ha sido un reto durante mucho tiempo. Esta tarea es útil porque permite a personas que no saben SQL hacer preguntas sobre bases de datos en lenguaje cotidiano. También ayuda a los administradores de bases de datos a partir de consultas generadas para mejorarlas después.

Recientemente, los grandes modelos de lenguaje (LLMs) han mostrado buenos resultados en varias tareas relacionadas con la comprensión del lenguaje. Estos modelos se entrenan con enormes cantidades de texto y se ajustan para tareas específicas. Han sido efectivos en generar consultas SQL a partir de lenguaje natural. Sin embargo, crear consultas SQL desde lenguaje natural es complicado debido a las complejidades de la sintaxis de SQL y la necesidad de tomar decisiones precisas.

Para evaluar qué tan bien funcionan estos LLMs, se han introducido dos benchmarks principales: BiRD y Spider. BIRD consiste en más de 12,000 preguntas en lenguaje natural y sus correspondientes consultas SQL, mientras que Spider contiene alrededor de 10,000 preguntas mapeadas a 5,693 consultas SQL. Ambos benchmarks se utilizan comúnmente para evaluar qué tan bien los LLMs pueden producir SQL a partir de lenguaje natural.

En este análisis, comparamos un benchmark SQL más complejo llamado TPC-DS con BIRD y Spider. TPC-DS se usa a menudo para evaluar sistemas de bases de datos e incluye un conjunto de consultas SQL difíciles que simulan la toma de decisiones del mundo real. Nuestra investigación indica que las consultas en TPC-DS son estructuralmente más complejas que las de BIRD y Spider. Esto sugiere que necesitamos benchmarks más desafiantes para reflejar mejor situaciones del mundo real.

Para comparar estos benchmarks, creamos varias medidas de complejidad. Analizamos diversas características dentro de las consultas SQL, como el número de columnas usadas, tipos de joins, funciones de agregación y expresiones de tabla comunes. También examinamos la complejidad de la cláusula WHERE en las consultas SQL, ya que es un componente vital que puede definir la lógica de la consulta.

De nuestro análisis, descubrimos que las consultas de TPC-DS tienden a tener mucho más complejidad en sus cláusulas WHERE en comparación con BIRD y Spider. De hecho, el número de predicados básicos utilizados es mucho más alto en TPC-DS, lo que sugiere que estas consultas requieren una comprensión más intrincada de los datos involucrados.

También evaluamos el rendimiento de 11 LLMs diferentes al generar consultas SQL basadas en las especificaciones de TPC-DS. Estos modelos incluyen nombres conocidos como GPT-4 y varios otros. Para probar qué tan bien estos modelos generaron consultas SQL válidas, utilizamos el sistema de bases de datos PostgreSQL para verificar si había errores en la sintaxis o esquema de SQL.

Durante nuestras pruebas, encontramos muchos casos donde los LLMs produjeron consultas SQL no válidas que contenían errores de sintaxis o información de esquema incorrecta. En tales casos, intentamos nuevamente generar las consultas usando un nuevo prompt de usuario que incluía los detalles de error reportados por PostgreSQL.

Descubrimos que los modelos GPT-4, Gemini-1.5 y Mistral-large fueron los que mejor desempeño tuvieron al generar consultas válidas, mientras que los modelos más pequeños tendieron a tener problemas. Los modelos más pequeños a menudo tenían tasas de éxito muy bajas al generar consultas SQL válidas basadas en las especificaciones de TPC-DS.

Para analizar la complejidad estructural de las consultas SQL generadas, observamos conteos como el número de columnas referenciadas y el número de joins involucrados. Comparamos estos conteos con los conteos promedio encontrados en las consultas de TPC-DS. Esta comparación reveló que solo algunos de los modelos más grandes lograron producir consultas que coincidieran con la complejidad de TPC-DS. La mayoría de los modelos más pequeños produjeron consultas que eran mucho menos complejas.

A pesar de que algunos modelos más grandes pueden generar consultas SQL complejas, encontramos que la calidad general de estas consultas a menudo era deficiente. La mayoría de las consultas generadas no coincidían con las consultas estándar proporcionadas por TPC-DS, especialmente en términos de los predicados WHERE y los joins utilizados. Esto resalta los desafíos que enfrentamos cuando la complejidad de la carga de trabajo de TPC-DS se compara con benchmarks más simples como BIRD y Spider.

Para evaluar mejor el rendimiento de los LLMs, definimos varias características clave de las consultas SQL. Estas características nos ayudaron a medir qué tan cerca estaban las consultas generadas de las consultas estándar de TPC-DS. Esta comparación involucró observar similitudes en varias características de las consultas.

Al analizar los resultados, quedó claro que, aunque algunos LLMs se desempeñaron mejor que otros, ninguno pudo generar consultas SQL que cumpliera con las expectativas para aplicaciones prácticas en escenarios del mundo real. Esto indica que aún hay un largo camino por recorrer antes de que estos modelos puedan producir consultas SQL que sean tanto precisas como útiles.

Mirando hacia adelante, vemos varias áreas de trabajo futuro dirigidas a mejorar la generación de SQL. Un enfoque potencial es la generación incremental de SQL, que implica descomponer el proceso de generación de SQL en partes más pequeñas. Esto podría ayudar a mejorar la precisión de las consultas generadas. Planeamos investigar nuevas estrategias para solicitar a los LLMs que generen partes específicas de las consultas SQL, como cláusulas WHERE y pares de JOIN, por separado.

Otra área de enfoque es el ajuste fino de modelos más pequeños. Nuestros hallazgos sugieren que los modelos más pequeños no pueden igualar el rendimiento de los más grandes en generar consultas SQL complejas. Para aquellos casos en los que los modelos basados en la nube no son prácticos debido a costos o preocupaciones de privacidad, proponemos investigar métodos para mejorar el rendimiento de los modelos más pequeños.

Finalmente, nuestro objetivo es desarrollar un proceso de humano en el bucle para generar SQL complejo. En lugar de depender únicamente de modelos de IA, creemos que estos modelos deberían identificar secciones de consultas SQL que son difíciles de generar y solicitar información adicional a los usuarios para mejorar la precisión.

En conclusión, encontramos que TPC-DS presenta un nivel de complejidad significativamente mayor en comparación con los benchmarks BIRD y Spider. Los modelos actuales de IA generativa aún no son capaces de producir consultas SQL precisas adecuadas para aplicaciones del mundo real. Esto resalta la necesidad de más investigación y desarrollo en el campo de generación de texto a SQL para alcanzar resultados satisfactorios que cumplan con las necesidades del mundo real.

Fuente original

Título: Evaluating LLMs for Text-to-SQL Generation With Complex SQL Workload

Resumen: This study presents a comparative analysis of the a complex SQL benchmark, TPC-DS, with two existing text-to-SQL benchmarks, BIRD and Spider. Our findings reveal that TPC-DS queries exhibit a significantly higher level of structural complexity compared to the other two benchmarks. This underscores the need for more intricate benchmarks to simulate realistic scenarios effectively. To facilitate this comparison, we devised several measures of structural complexity and applied them across all three benchmarks. The results of this study can guide future research in the development of more sophisticated text-to-SQL benchmarks. We utilized 11 distinct Language Models (LLMs) to generate SQL queries based on the query descriptions provided by the TPC-DS benchmark. The prompt engineering process incorporated both the query description as outlined in the TPC-DS specification and the database schema of TPC-DS. Our findings indicate that the current state-of-the-art generative AI models fall short in generating accurate decision-making queries. We conducted a comparison of the generated queries with the TPC-DS gold standard queries using a series of fuzzy structure matching techniques based on query features. The results demonstrated that the accuracy of the generated queries is insufficient for practical real-world application.

Autores: Limin Ma, Ken Pu, Ying Zhu

Última actualización: 2024-07-28 00:00:00

Idioma: English

Fuente URL: https://arxiv.org/abs/2407.19517

Fuente PDF: https://arxiv.org/pdf/2407.19517

Licencia: https://creativecommons.org/licenses/by/4.0/

Cambios: Este resumen se ha elaborado con la ayuda de AI y puede contener imprecisiones. Para obtener información precisa, consulte los documentos originales enlazados aquí.

Gracias a arxiv por el uso de su interoperabilidad de acceso abierto.

Más de autores

Artículos similares