Code Llama de Meta y el texto a SQL: resultados de Snowflake

A dark-themed developer workstation screen showing SQL code and database query results alongside a terminal with Python co...

Meta publicó Code Llama el 24 de agosto de 2023, una familia de modelos derivados de Llama 2 y ajustados específicamente para generar código. Snowflake evaluó el rendimiento de estos modelos en tareas de texto a SQL y encontró resultados que reducen la ventaja de GPT-4 a menos de un punto porcentual en algunos supuestos.

Code Llama frente a Llama 2: qué cambia en generación de código

Llama 2 sumaba 1,4 millones de descargas y 2.400 modelos derivados en Hugging Face cuando Meta presentó su sucesor especializado en código. Code Llama se ajusta mediante fine-tuning sobre esa base, con datos de entrenamiento orientados a lenguajes de programación: Python, Java, JavaScript y, como demuestra la evaluación de Snowflake, SQL.

La familia incluye variantes de 7.000 y 34.000 millones de parámetros. En las pruebas internas de Meta el rendimiento en Python, Java y JavaScript mejoró respecto a Llama 2, pero los datos más concretos llegaron de las pruebas independientes de Snowflake sobre generación de SQL.

Lo que mide Snowflake: precisión en ejecución SQL

Snowflake evaluó métricas de precisión de ejecución y schema linking. Los resultados muestran que Code Llama supera a Llama 2 por entre 11 y 30 puntos porcentuales según la variante y el benchmark usado.

El modelo de 7.000 millones de parámetros ajustado para SQL supera en 16 puntos al Code Llama base de la misma familia. El de 34.000 millones lo supera en 9 puntos. Tras el fine-tuning, ambas variantes alcanzan alrededor del 80% de precisión en ejecución, cifra cercana al rendimiento de GPT-4 en esas pruebas.

Gráfico comparativo de rendimiento Code Llama vs Llama 2 en texto a SQL

La diferencia entre Llama 2 ajustado y Code Llama ajustado se reduce a menos de un punto porcentual en algunos escenarios. El fine-tuning específico para SQL nivela los resultados entre familias de modelos, más que el tamaño o la arquitectura base.

Para quién tiene sentido: bases de datos propias y privacidad

El caso de uso más directo es para equipos que trabajan con Snowflake u otras plataformas relacionales y quieren generar consultas SQL desde lenguaje natural. Al ser de código abierto, Code Llama puede ajustarse con datos propietarios, lo que lo diferencia de GPT-4 en entornos donde la confidencialidad es una restricción real.

Snowflake anuncia dos servicios en vista previa privada: Snowpark Container Services, para ejecutar modelos dentro del entorno seguro del data warehouse, y el Snowpark ML model registry, para gestionar el ciclo de vida de esos modelos. El objetivo es que una organización pueda ajustar Code Llama con sus propios esquemas SQL sin exponer esos datos a terceros.

Este tipo de integración entre IA y plataformas de datos tiene paralelos en la apuesta de IBM con watsonx.data, que apunta al mismo segmento de empresas que quieren IA sobre sus datos propios sin ceder el control. En el campo de modelos compactos con buen rendimiento en razonamiento, los resultados de PHI 4 de Microsoft muestran que el tamaño del modelo no es el único factor en juego.

Limitaciones del estudio

La evaluación parte de los datos de Snowflake, sin validación sobre benchmarks estándar como SpiderBench. El 80% de precisión en ejecución corresponde a escenarios controlados; en SQL de producción con esquemas complejos los resultados pueden variar. Code Llama hereda la ventana de contexto limitada de Llama 2, lo que puede afectar al rendimiento cuando los esquemas son muy extensos.

El artículo técnico de Snowflake con los benchmarks y ejemplos de código está disponible en su blog oficial.

Preguntas frecuentes

¿Qué diferencia hay entre Code Llama base y Code Llama fine-tuned para SQL?

El modelo base genera código de forma general; la versión ajustada para SQL mejora entre 9 y 16 puntos de precisión en tareas de texto a SQL. El ajuste usa conjuntos de datos de pares instrucción-consulta SQL específicos del contexto empresarial.

¿Code Llama supera a GPT-4 en tareas SQL?

Tras el fine-tuning, ambos alcanzan valores similares: cerca del 80% de precisión en ejecución según los benchmarks de Snowflake. La diferencia es menor de un punto en algunos escenarios, aunque GPT-4 mantiene ventaja en pruebas más amplias con esquemas complejos.

¿Es Code Llama gratuito para uso comercial?

Meta publicó Code Llama con una licencia que permite el uso comercial con restricciones para organizaciones con más de 700 millones de usuarios activos mensuales. Para la mayoría de empresas es de libre uso.

¿Qué es Snowpark Container Services?

Un servicio de Snowflake que permite ejecutar contenedores Docker dentro del entorno del data warehouse. Los modelos de IA procesan datos sin que salgan de la plataforma. En agosto de 2023 estaba en vista previa privada.

¿Cuántos parámetros tiene Code Llama y qué variantes existen?

Code Llama está disponible en variantes de 7.000 millones y 34.000 millones de parámetros. Ambas pueden ajustarse con datos propios; la versión más grande obtiene mejores resultados base, pero la diferencia se reduce con fine-tuning específico para SQL.

Scroll al inicio