Ludwig is a declarative deep learning framework: you describe a model in a YAML config (input and output features, encoders, adapter, trainer, and backend) and Ludwig builds, trains, evaluates, and serves it without hand-written training loops or data pipelines. The same config format covers LLM fine-tuning, multimodal models, and tabular classification.
For language models it supports supervised fine-tuning, alignment training (DPO, KTO, ORPO, and GRPO), parameter-efficient adapters such as LoRA, DoRA, and VeRA, 4-bit and 8-bit quantization, multi-adapter merging, and vision-language model fine-tuning for LLaVA, Qwen2-VL, and InternVL. For other tasks it mixes text, numbers, categories, images, audio, time series, and dates in one model and can train several outputs at once.
Training scales from a single machine to multi-GPU and a Ray cluster by changing the backend type in the config, with DDP, FSDP, and DeepSpeed through Hugging Face Accelerate. Hyperparameter search runs on Ray Tune or Optuna, and any nested config parameter can be searched. Trained models are served through a FastAPI REST server, vLLM, Ray Serve, or KServe, and export to SafeTensors, torch.export bundles, or ONNX.
Ludwig can also generate a starting config from a plain-language task description. Every run saves its full config and logs, and experiments can be tracked in TensorBoard, Wandb, Comet ML, MLflow, or Aim.
Features
- Declarative config: preprocessing, encoders, architecture, training, and hyperparameter search defined in one validated YAML file
- LLM fine-tuning: supervised fine-tuning plus DPO, KTO, ORPO, and GRPO alignment
- PEFT adapters: LoRA, DoRA, VeRA, OFT, and other adapter types, with multi-adapter merging via TIES, DARE, or SVD
- Quantization: 4-bit and 8-bit QLoRA through bitsandbytes, and torchao int4, int8, and float8 with quantization-aware training
- Multimodal models: text, numbers, categories, images, audio, time series, and dates combined in a single model
- Vision-language fine-tuning: LLaVA, Qwen2-VL, and InternVL
- Time-series forecasting: PatchTST and N-BEATS encoders with a forecast API
- Distributed training: DDP, FSDP, and DeepSpeed, or a Ray cluster backend for larger-than-memory datasets
- Hyperparameter optimization: Ray Tune and Optuna executors with resumable SQLite or PostgreSQL storage
- Serving and export: FastAPI REST server, vLLM, Ray Serve, KServe, and SafeTensors, torch.export, or ONNX export
- Experiment tracking: TensorBoard, Wandb, Comet ML, MLflow, and Aim
- Config generation: an LLM writes a starting YAML config from a task description



