Implementación en PyTorch de GeoCLIP, un modelo al estilo CLIP que alinea imágenes con coordenadas GPS para geolocalizar imágenes en todo el mundo.
ludwig-ai/ludwig
Framework declarativo de deep learning para entrenar, ajustar y desplegar LLM, modelos multimodales y tabulares a partir de configuraciones YAML.
- Estrellas
- 11,793
- Forks
- 1,213
- Issues abiertos
- 3
- Último commit
- hace 4 días
¿Qué es?
Ludwig permite crear modelos de IA escribiendo una configuración YAML declarativa, en lugar de implementar un bucle de entrenamiento, una canalización de datos y código de evaluación personalizados. Se enumeran las características de entrada y salida con sus tipos (texto, imagen, número, audio, series temporales y más), y el framework ensambla los codificadores, combinadores y decodificadores, y luego ejecuta el entrenamiento, la evaluación y las predicciones desde la línea de comandos.
Para los modelos de lenguaje, Ludwig ofrece ajuste fino supervisado, alineamiento con DPO, KTO, ORPO y GRPO, adaptadores LoRA, DoRA y otros PEFT, cuantización QLoRA de 4 bits y torchao, además de ajuste fino de modelos de visión y lenguaje. Los modelos tabulares y multimodales pueden usar cualquier codificador de texto de HuggingFace o codificador de imágenes de timm, con búsqueda de hiperparámetros mediante Ray Tune u Optuna.
Los modelos entrenados se pueden servir mediante un endpoint REST de FastAPI, vLLM, Ray Serve o KServe; exportar como SafeTensors, ONNX o paquetes torch.export; o publicar en HuggingFace Hub. El proyecto está basado en PyTorch, Transformers y Ray, y puede ejecutarse desde una laptop hasta clústeres Ray o con varias GPU, con solo cambiar la configuración del backend.
Funciones clave
- 01Definir modelos y ejecuciones de entrenamiento completamente en YAML, sin implementar un bucle de entrenamiento personalizado.
- 02Ajustar LLM con SFT, DPO, KTO, ORPO y GRPO, incluidos LoRA y QLoRA.
- 03Combinar entradas de texto, imagen, datos numéricos, audio y series temporales en un solo modelo.
- 04Buscar hiperparámetros con Ray Tune u Optuna.
- 05Servir modelos mediante REST, vLLM, Ray Serve o KServe, y exportarlos a ONNX o SafeTensors.
Casos de uso
- Ajustar un LLM de pesos abiertos con datos de instrucciones usando LoRA y memoria de GPU limitada.
- Crear un clasificador o regresor tabular sin escribir código de entrenamiento.
- Entrenar un modelo que combine imágenes de productos, texto de reseñas y campos numéricos.
- Pronosticar series temporales con codificadores PatchTST o N-BEATS.
Inicio rápido
- 1
Instala Ludwig desde PyPI (Python 3.12 o posterior).
pip install ludwig - 2
Escribe una configuración YAML que describa las características de entrada y salida de tu modelo.
- 3
Entrena el modelo con tu conjunto de datos.
ludwig train --config model.yaml --dataset my_data.csv - 4
Ejecuta predicciones con el modelo entrenado.
ludwig predict --model_path results/experiment_run/model --dataset new_data.csv
Antes de usarlo
- Requiere Python 3.12 o posterior.
- El ajuste fino de LLM grandes requiere muchos recursos de GPU y puede necesitar un token de Hugging Face para modelos con acceso restringido.
En colecciones
Temas
Preguntas frecuentes
- ¿Qué es ludwig?
- Framework declarativo de deep learning para entrenar, ajustar y desplegar LLM, modelos multimodales y tabulares a partir de configuraciones YAML. Ludwig permite crear modelos de IA escribiendo una configuración YAML declarativa, en lugar de implementar un bucle de entrenamiento, una canalización de datos y código de evaluación personalizados. Se enumeran las características de entrada y salida con sus tipos (texto, imagen, número, audio, series temporales y más), y el framework ensambla los codificadores, combinadores y decodificadores, y luego ejecuta el entrenamiento, la evaluación y las predicciones desde la línea de comandos.
- ¿ludwig es gratuito? ¿Qué licencia tiene?
- ludwig es open source bajo la licencia Apache-2.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿ludwig sigue mantenido?
- Mantenimiento activo. El último commit de ludwig fue el 2 nov 2026.
- ¿Para qué puedo usar ludwig?
- Ajustar un LLM de pesos abiertos con datos de instrucciones usando LoRA y memoria de GPU limitada. Crear un clasificador o regresor tabular sin escribir código de entrenamiento. Entrenar un modelo que combine imágenes de productos, texto de reseñas y campos numéricos. Pronosticar series temporales con codificadores PatchTST o N-BEATS.
- ¿Cómo se instala ludwig?
- Instala Ludwig desde PyPI (Python 3.12 o posterior).: pip install ludwig Escribe una configuración YAML que describa las características de entrada y salida de tu modelo. Entrena el modelo con tu conjunto de datos.: ludwig train --config model.yaml --dataset my_data.csv Ejecuta predicciones con el modelo entrenado.: ludwig predict --model_path results/experiment_run/model --dataset new_data.csv
- ¿Dónde consigo ludwig?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/ludwig-ai/ludwig
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Biblioteca de modelos preentrenados para Keras 3, con modelos de texto, imagen y audio compatibles con JAX, TensorFlow y PyTorch.
Un LLM de video entrenado con transcripciones de voz en streaming que genera comentarios en tiempo real sobre videos en vivo, presentado en el artículo LiveCC de CVPR 2025.
Biblioteca de visión artificial diferenciable basada en PyTorch, con procesamiento de imágenes, geometría, aumentación y operadores de correspondencia de características optimizados para GPU.
Biblioteca de Python para ejecutar, entrenar y evaluar modelos de IA del hub de modelos ModelScope mediante una interfaz unificada de pipeline y Trainer.
Biblioteca de Python para aprendizaje autosupervisado con imágenes, con componentes de PyTorch para entrenar modelos de visión sin etiquetas.