Favicon of Ludwig

Ludwig

An open-source AI training framework fine-tunes Hugging Face models on local CPUs or GPUs and serves trained models through a self-hosted API.

Screenshot of Ludwig website

Ludwig is a framework for developers and researchers training custom AI models without writing their own training loops. It handles preprocessing, training and evaluation from a model definition, covering LLMs as well as tabular and multimodal tasks.

  • LLM fine-tuning: Adapt Hugging Face models such as Llama, Mistral and Qwen through instruction tuning and alignment methods including DPO and GRPO, with LoRA and QLoRA to reduce memory needs.
  • Multimodal models: Combine text, images, audio, tabular data and time series in one model, train multiple outputs together, or fine-tune vision-language models such as LLaVA and Qwen2-VL.
  • Experiment comparison: Find initial baselines with AutoML, search training settings with Optuna or Ray Tune, and inspect results with feature importance and experiment tracking.
  • Model deployment: Serve trained models through a self-hosted REST API or export them to SafeTensors, ONNX and torch.export.

Ludwig is open source under Apache 2.0 and uses Python and PyTorch. It supports local CPU or GPU training and distributed jobs through Ray, DeepSpeed and FSDP. Docker images cover CPU, GPU and Ray deployments, with KubeRay support for Kubernetes. QLoRA supports single-GPU fine-tuning; the model still needs to fit the available memory. Tracking integrations include MLflow, TensorBoard and Weights & Biases.

Similar to Ludwig