ludwig

写个 YAML 就能训练大模型,告别繁琐代码

Ludwig 是一个基于 Python 的低代码机器学习框架,旨在让开发者无需编写大量底层代码即可构建、训练和部署定制化的大语言模型、神经网络及其他 AI 模型。它通过声明式配置文件(YAML)定义模型架构、输入输出特征、训练参数和预处理逻辑,将复杂的建模流程封装为标准化组件,显著降低 AI 开发门槛。Ludwig 支持文本、图像、表格、序列等多模态数据,内置丰富的预训练模型和自动化超参搜索、模型调优、可视化实验追踪等功能,同时提供 Ray 分布式训练能力,可无缝扩展至大规模集群。其核心价值在于:让非深度学习专家也能快速搭建生产级模型,同时为专家提供灵活的定制接口,兼顾易用性与扩展性。

开源 free 开源模型
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 11765
维护状态 活跃
是否开源 是
定价模式 free

项目数据

分类开源模型
开发团队ludwig-ai
所属国家
官网地址http://ludwig.ai
定价模式free
价格说明开源框架,Apache-2.0许可证,完全免费,可自行部署使用。
访问状态
是否开源是
开源协议Apache-2.0
主要语言Python
技术栈/模型computer-vision,data-centric,data-science,deep,deep-learning,deeplearning,fine-tuning,learning,llama,llama2,llm,llm-training,machine-learning,machinelearning,mistral,ml,natural-language,natural-language-processing,neural-network,pytorch
GitHub 星标★ 11765
30天Star增速
HF 下载量
上线时间2018-12-27 00:00:00
最近更新2026-09-22 00:00:00
维护状态活跃
中文支持
访问方式
移动端支持
综合评分
收录时间2026-08-09
浏览次数4

使用教程

难度:入门 约 10 分钟 部署方式:库/依赖 6 步

环境要求

  • Python 3.12 及以上版本
  • 已安装 pip 包管理工具
  • LLM 微调需安装 ludwig[llm] 附加依赖
  • 如需全部功能需安装 ludwig[full] 附加依赖

安装与启动步骤

  1. 1确认 Python 版本

    Ludwig 要求 Python 3.12 或更高版本,先确认本机 Python 版本满足要求。

    python --version
  2. 2安装核心包

    安装 Ludwig 核心功能,包含基础训练与推理能力,适合入门使用。

    pip install ludwig
  3. 3安装全部依赖

    如需使用 LLM 微调、图像等多模态全部功能,安装 full 附加依赖。

    pip install "ludwig[full]"
  4. 4仅安装 LLM 依赖

    若只做 LLM 微调,安装 llm 附加依赖可减少不必要的包。

    pip install "ludwig[llm]"
  5. 5编写 YAML 配置

    创建 model.yaml,声明模型类型、基座模型、LoRA 适配器与训练轮数等。

  6. 6启动训练

    用 ludwig train 指定配置文件与数据集启动训练,把 my_data.csv 换成你的数据路径。

    ludwig train --config model.yaml --dataset my_data.csv

关键配置

配置项必填说明示例
model_type是声明模型类型,llm 表示大语言模型微调任务llm
base_model是指定要微调的基座模型名称或路径meta-llama/Llama-3.1-8B
adapter.type否适配器类型,lora 表示使用 LoRA 低秩微调lora
trainer.type是训练器类型,finetune 表示微调训练finetune
trainer.epochs否训练轮数,控制模型遍历数据集的次数3
output_features是定义输出特征及其数据类型name: response, type: text

如何确认成功

pip 安装无报错,且执行 ludwig train 后能开始输出训练日志,即表示环境与配置正常。

常见问题

Q:安装 ludwig 时提示缺少可选依赖怎么办?

A:按需安装附加依赖:pip install "ludwig[full]" 安装全部依赖,或 pip install "ludwig[llm]" 仅安装 LLM 微调依赖。

Q:需要什么 Python 版本?

A:README 明确要求 Python 3.12 及以上,低于该版本请先升级 Python。

Q:如何指定训练配置和数据集?

A:运行 ludwig train --config model.yaml --dataset my_data.csv,把文件名替换为你的实际配置与数据集路径。

Q:YAML 配置里 base_model 写什么?

A:写 Hugging Face 上的模型标识,例如 meta-llama/Llama-3.1-8B,需该模型在你的环境中可用。

注意事项

  • Ludwig 使用声明式 YAML 配置,无需编写 Python 训练代码。
  • 分布式训练依赖 Ray,大规模训练前建议确认集群环境。
  • 更多示例与 Getting Started 请见官网 https://ludwig.ai。

核心亮点

  • 声明式配置驱动,无需编写训练循环和模型定义代码,上手极快
  • 原生支持多模态数据(文本/图像/表格)混合建模,适用场景广
  • 内置超参搜索、模型监控和可视化面板,实验管理开箱即用

不足之处

  • 高度抽象化导致自定义复杂模型结构时灵活性受限,需绕开框架
  • 文档偏重基础示例,高级用法和疑难排错的社区资料较少

适用场景

  • 快速构建 NLP 分类/生成模型的 MVP 原型
  • 多模态数据融合场景,如图文联合建模
  • 需要自动化调参和实验对比的团队研究项目

替代项目

H2O AutoML、AutoKeras、PyCaret

项目介绍

ludwig 是模型训练领域的开源项目,由 ludwig-ai 开发,2018 年首次发布。

在全站 13,090 个收录项目中,它的 GitHub 星标数(11,765)位列前 5%,在模型训练分类的 522 个项目里位列前 4%。

项目目前处于活跃维护状态,最近一次代码更新于 2026-09-22。Apache-2.0许可证,完全免费,可自行部署使用。

它主要面向的使用场景是:快速构建NLP分类/生成模型的MVP原型。同类可对比的替代方案包括 H2O AutoML、AutoKeras、PyCaret。

上一篇:axolotl

下一篇:train-llm-from-scratch

同类项目推荐

Long-RL 开源

让强化学习轻松驾驭超长序列,训练更稳更快

Long-RL: Scaling RL to Long Sequences (NeurIPS 2025)

★ 729 2026-08-09
TPA 开源

把注意力复杂度从平方降到线性,长序列不再卡顿

[NeurIPS 2025 Spotlight] TPA: Tensor ProducT ATTenTion Transformer (https://arxiv.or···

★ 463 2026-08-09
minimind 开源

两小时造出你的小模型,练手入门不求人

Train a 64M-parameter LLM from scratch in just 2h!

★ 62178 2026-08-09
pruna 开源

一键优化 AI 模型,推理提速又省资源。

Pruna is a model optimization framework built for developers, enabling you to delive···

★ 1286 2026-08-13