← Back to Discover

Ludwig

Declarative deep learning framework for training, fine-tuning and serving LLMs, multimodal models and tabular models from a YAML config file.

Fine-tuningInference & hosting

What it does

Ludwig is a Python framework in which a YAML config file describes the whole model. The README says the config replaces the training loop, data pipeline and evaluation code. Input and output features are declared by type, including text, images, audio, numbers and timeseries, and the same style of config covers LLM fine-tuning, multimodal classifiers, tabular prediction, timeseries forecasting and image segmentation. For LLMs it lists supervised fine-tuning, alignment methods such as DPO, KTO, ORPO and GRPO, LoRA and other adapter types, 4-bit and 8-bit quantization, and vision-language fine-tuning. Training can scale from a laptop to several GPUs or a Ray cluster, with hyperparameter search through Ray Tune or Optuna and experiment tracking through tools such as TensorBoard, Weights & Biases and MLflow. Commands cover training, prediction and serving. Trained models can be served through a REST API, vLLM, Ray Serve or KServe, exported to SafeTensors or ONNX, and pushed to the Hugging Face Hub. It installs with pip on Python 3.12 or later, is licensed Apache-2.0, and the README says it is hosted by the Linux Foundation AI & Data.

Capabilities

  • Whole model defined in one YAML config, with no training loop to write
  • LLM fine-tuning with supervised training, DPO, KTO, ORPO and GRPO alignment, LoRA-style adapters and quantization
  • Multimodal and tabular models that mix text, images, audio, numbers and timeseries
  • Scales from a laptop to multi-GPU and Ray clusters, with Ray Tune or Optuna search
  • Serving through a REST API, vLLM, Ray Serve or KServe, and export to SafeTensors or ONNX
  • generate_config command that asks an LLM to write the YAML for a described task

When to use it

  • Fine-tuning an open LLM with LoRA from a config file instead of custom training code
  • Building a classifier that mixes text, image and tabular inputs
  • Running reproducible experiments and comparing them with built-in visualizations
  • Taking a trained model to a REST API or a Kubernetes deployment