Avanzando Predicciones en Datos Tabulares con Modelos de Lenguaje
Aprovechar los modelos de lenguaje mejora las predicciones para datos tabulares en varios campos.
― 7 minilectura
Tabla de contenidos
Los Datos Tabulares, que están organizados como una hoja de cálculo con filas y columnas, se usan comúnmente en varios campos, como la salud, las finanzas y el gobierno. A pesar de los avances en Modelos de aprendizaje automático que pueden aprender de datos en otros formatos, como texto e imágenes, la aplicación de estos modelos a datos tabulares no ha progresado tan rápido. Este artículo discute un nuevo enfoque para mejorar las predicciones utilizando datos tabulares aprovechando técnicas de modelos de lenguaje.
El Problema con los Datos Tabulares
Los datos tabulares presentan desafíos únicos. Los métodos tradicionales para entrenar modelos predictivos a menudo requieren muchos datos específicos adaptados para cada tarea. Este enfoque puede ser lento e ineficiente, ya que a menudo implica recopilar y limpiar grandes conjuntos de datos para construir modelos que solo funcionan para una tarea específica. Muchos modelos existentes para datos tabulares se enfocan en predicciones de una sola tarea. Por ejemplo, modelos como XGBoost han dominado este campo hasta ahora.
Hay una creciente necesidad de modelos más flexibles que pueden generalizar mejor a datos no vistos. Esto podría llevar a ahorros significativos de tiempo y recursos en el desarrollo de soluciones de aprendizaje automático.
Aprendizaje por Transferencia: Una Nueva Esperanza
El aprendizaje por transferencia es una forma de usar un modelo entrenado en una tarea y aplicar su conocimiento a otra tarea. Esta estrategia ha sido beneficiosa en campos como el procesamiento del lenguaje natural y el reconocimiento de imágenes. La idea aquí es simple: si un modelo puede aprender patrones de un conjunto de datos, puede reconocer patrones similares en otro conjunto de datos sin tener que empezar desde cero.
Nuestro objetivo es adaptar esta idea a datos tabulares. Al refinar los modelos de lenguaje para predicciones tabulares, podemos reducir la cantidad de datos etiquetados requeridos para hacer predicciones precisas.
Presentando el Nuevo Modelo
Desarrollamos un modelo de lenguaje diseñado específicamente para la Predicción de datos tabulares. Este modelo se basa en la fundación de modelos de lenguaje existentes, pero incluye cambios para optimizarlo para tareas tabulares. La arquitectura subyacente sigue siendo similar, pero nos enfocamos en entrenar con un conjunto de datos significativo de datos tabulares, permitiéndole aprender de una gama más amplia de ejemplos.
El conjunto de datos de entrenamiento, que llamamos Tremendous TabLib Trawl, consiste en numerosas tablas de alta calidad obtenidas de la web. La arquitectura del modelo le permite predecir resultados basados en las relaciones y patrones encontrados en estos datos.
Recolección y Filtrado de Datos
Para crear el Tremendous TabLib Trawl, comenzamos con una vasta colección de tablas de varias fuentes. Sin embargo, no todas estas tablas son adecuadas para entrenar un modelo predictivo. Muchas tablas contienen errores o información irrelevante, así que necesitamos un método para filtrar los datos de baja calidad.
Aplicamos varias estrategias de filtrado, incluyendo:
- Filtrado de Tablas: Eliminamos tablas enteras que no cumplían con criterios específicos de calidad, como filtrado de lenguaje o heterogeneidad de esquema.
- Filtrado de Columnas: Evaluamos columnas individuales dentro de cada tabla, eliminando aquellas que no eran útiles para la predicción, como columnas con valores constantes o demasiados datos faltantes.
- Filtrado de Filas: Examinamos más a fondo las filas en las tablas restantes, eliminando aquellas que contenían demasiados valores faltantes o información irrelevante.
Este proceso de filtrado sistemático nos permitió ensamblar un conjunto de datos de alta calidad listo para el entrenamiento.
Entrenando el Modelo
El siguiente paso involucró entrenar el modelo de lenguaje en los datos filtrados. Ajustamos un modelo de lenguaje preexistente exponiéndolo a nuestro conjunto de datos. El proceso de entrenamiento involucró varios componentes clave:
- Serialización: Transformamos cada fila de datos tabulares en un formato de texto que el modelo pudiera entender, asegurando que los pares clave-valor estuvieran correctamente representados.
- Mecanismos de Atención: Empleamos técnicas de atención especializadas que permiten al modelo centrarse en partes relevantes de los datos de entrada de manera eficiente.
- Procedimiento de Entrenamiento: El modelo fue entrenado para minimizar errores al predecir los valores objetivos correctos basados en las características de entrada.
A lo largo de este proceso, nos aseguramos de que nuestro modelo pudiera aprender de múltiples ejemplos simultáneamente, mejorando su capacidad de generalizar a partir de pequeñas cantidades de datos.
Evaluación del Modelo
Una vez completado el entrenamiento, necesitábamos evaluar qué tan bien se desempeñaba nuestro modelo en datos no vistos. Usamos una variedad de puntos de referencia establecidos para medir la precisión y efectividad. Varios puntos clave surgieron de la evaluación:
- Aprendizaje Zero-Shot: El modelo demostró la capacidad de hacer predicciones sobre datos completamente nuevos sin ningún entrenamiento adicional. Esta capacidad es particularmente útil porque significa que el modelo puede aplicarse inmediatamente a nuevas tareas.
- Aprendizaje Few-Shot: Cuando se le proporcionó solo una pequeña cantidad de ejemplos, el modelo superó a los métodos tradicionales por un margen significativo. Esto indica que nuestro enfoque es más eficiente en muestras, lo que significa que puede lograr alta precisión con menos datos.
- Comparaciones de Línea Base: Comparamos el rendimiento de nuestro modelo con modelos bien conocidos como XGBoost y TabPFN. En la mayoría de los casos, nuestro modelo mostró un rendimiento superior, particularmente en tareas con datos de entrenamiento limitados.
Perspectivas de los Resultados
Los resultados de la evaluación proporcionaron varias perspectivas sobre la efectividad de usar modelos de lenguaje para la predicción de datos tabulares:
- Importancia de Encabezados Informativos: Los modelos funcionaron mejor cuando los datos incluían nombres de columnas semánticamente significativos. Esto sugiere que tener etiquetas descriptivas ayuda al modelo a entender el contexto de los datos.
- Robustez ante Características Faltantes: El nuevo modelo fue relativamente robusto cuando se eliminaron características de los datos de entrada. Esto indica que puede manejar situaciones en las que algunos puntos de datos faltan, a diferencia de los modelos tradicionales que dependen mucho de conjuntos de datos completos.
- Sensibilidad al Orden de las Columnas: Descubrimos que cambiar el orden de las columnas en los datos de entrada tuvo un ligero impacto en el rendimiento. Si bien no afectó drásticamente los resultados, mantener un orden lógico puede ayudar a mejorar las predicciones.
Limitaciones del Modelo
A pesar del fuerte rendimiento demostrado, hay algunas limitaciones a tener en cuenta:
- Tamaño de la Ventana de Contexto: El modelo está limitado por un tamaño de ventana de contexto fijo, lo que limita el número de ejemplos que puede considerar al mismo tiempo. Esto podría afectar su rendimiento en conjuntos de datos más grandes.
- Intensivo en Recursos: Entrenar y usar el modelo puede ser costoso computacionalmente, lo que puede limitar su accesibilidad en algunos entornos.
- Posibles Sesgos: El modelo se basa en datos históricos, que pueden llevar sesgos inherentes. Se debe tener cuidado al implementar el modelo en aplicaciones sensibles.
Trabajo Futuro
Hay varias avenidas abiertas para la investigación y el desarrollo futuros:
- Mejorar el Filtrado de Datos: Refinar aún más el proceso de filtrado podría generar datos de calidad aún más alta para el entrenamiento.
- Escalando el Modelo: A medida que los recursos computacionales estén más disponibles, desarrollar modelos más grandes que puedan manejar más datos será beneficioso.
- Mejorar la Robustez: Investigar formas de aumentar la robustez del modelo ante datos faltantes o inconsistencias mejorará sus aplicaciones prácticas.
Conclusión
En resumen, este trabajo destaca el potencial de adaptar modelos de lenguaje para la tarea de predicción de datos tabulares. Al aprovechar el aprendizaje por transferencia y un filtrado de datos eficiente, podemos construir modelos que brinden predicciones precisas con datos etiquetados mínimos. A medida que continuamos refinando estas técnicas, esperamos más avances en esta emocionante área del aprendizaje automático.
Título: Large Scale Transfer Learning for Tabular Data via Language Modeling
Resumen: Tabular data -- structured, heterogeneous, spreadsheet-style data with rows and columns -- is widely used in practice across many domains. However, while recent foundation models have reduced the need for developing task-specific datasets and predictors in domains such as language modeling and computer vision, this transfer learning paradigm has not had similar impact in the tabular domain. In this work, we seek to narrow this gap and present TabuLa-8B, a language model for tabular prediction. We define a process for extracting a large, high-quality training dataset from the TabLib corpus, proposing methods for tabular data filtering and quality control. Using the resulting dataset, which comprises over 2.1B rows from over 4M unique tables, we fine-tune a Llama 3-8B large language model (LLM) for tabular data prediction (classification and binned regression) using a novel packing and attention scheme for tabular prediction. Through evaluation across a test suite of 329 datasets, we find that TabuLa-8B has zero-shot accuracy on unseen tables that is over 15 percentage points (pp) higher than random guessing, a feat that is not possible with existing state-of-the-art tabular prediction models (e.g. XGBoost, TabPFN). In the few-shot setting (1-32 shots), without any fine-tuning on the target datasets, TabuLa-8B is 5-15 pp more accurate than XGBoost and TabPFN models that are explicitly trained on equal, or even up to 16x more data. We release our model, code, and data along with the publication of this paper.
Autores: Josh Gardner, Juan C. Perdomo, Ludwig Schmidt
Última actualización: 2024-11-20 00:00:00
Idioma: English
Fuente URL: https://arxiv.org/abs/2406.12031
Fuente PDF: https://arxiv.org/pdf/2406.12031
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.
Enlaces de referencia
- https://nips.cc/public/guides/CodeSubmissionPolicy
- https://neurips.cc/public/EthicsGuidelines
- https://llama.meta.com/llama3/use-policy/
- https://www.mlfoundry.com
- https://www.fz-juelich.de/en/ias/jsc/systems/supercomputers/apply-for-computing-time/gcs-nic
- https://www.approximatelabs.com
- https://pypi.org/project/fasttext-langdetect/
- https://docs.ray.io/en/latest/data/overview.html
- https://huggingface.co/datasets/mlfoundations/t4-full
- https://huggingface.co/datasets/mlfoundations/tabula-8b-eval-suite
- https://huggingface.co/mlfoundations/tabula-8b
- https://github.com/mlfoundations/rtfm
- https://github.com/mlfoundations/tabliblib
- https://huggingface.co/datasets/approximatelabs/tablib-v1-full
- https://github.com/sxjscience/automl_multimodal_benchmark/tree/main
- https://github.com/catboost/benchmarks
- https://www.openml.org
- https://github.com/automl/TabPFN
- https://github.com/automl/TabPFN/blob/main/tabpfn/scripts/transformer_prediction_interface.py
- https://huggingface.co/meta-llama/Meta-Llama-3-8B
- https://llama.meta.com/llama3/license/