# Ludwig 开源声明式深度学习框架,通过单个 YAML 配置训练、微调和部署模型。 - Findings24: - 网站: - 价格: Freemium - 分类: AI编程助手, AI开发者工具, AI 模型平台 ## 什么是 Ludwig? Ludwig 是一个开源声明式深度学习框架,用于通过单个 YAML 配置文件构建、微调和部署自定义模型。它面向那些希望避免手写训练循环,同时在需要时仍能保留高级控制能力的用户。 网站说明 Ludwig 支持表格、文本、图像、音频、时间序列和 LLM 工作流,并且无需更改模型定义即可在本地运行或扩展到 Ray 集群。产品文档还强调了内置预处理、实验跟踪、服务和导出工作流。 ## Ludwig 能做什么? ### 声明式 YAML 配置 在一个经过验证的 YAML 文件中定义预处理、编码器、架构、训练和超参数优化,而无需手动编写训练循环。 ### 多模态、多任务建模 构建可结合表格、文本、图像、音频、时间序列及其他特征类型的模型,并在一次运行中训练多个输出。 ### LLM 微调栈 使用监督式指令微调和对齐方法来微调 LLM,包括 DPO、KTO、ORPO 和 GRPO,以及 LoRA、QLoRA、DoRA 和 VeRA。 ### 分布式训练后端 通过添加 Ray 的后端配置,将本地任务切换为分布式执行,并展示了对 DDP、FSDP、DeepSpeed 和 KubeRay 的支持。 ### 超参数优化 使用 Ray Tune 或 Optuna 运行内置 HPO,并支持 Auto、TPE、GP 和 CMA-ES 等采样器,以及通过 SQLite 或 PostgreSQL 持久化。 ### 服务与导出工作流 一条命令即可提供模型服务,并导出为 SafeTensors、ONNX 或 \`torch.export\`,还可选择 Docker 镜像和上传到 Hugging Face Hub。 ## 使用场景 ### 根据配置训练自定义模型 当你想基于 YAML 文件构建监督式模型,并在不从头编写预处理和循环逻辑的情况下保持训练流程清晰明确时,可使用 Ludwig。 ### 多模态与多任务建模 适用于结合不同输入类型的项目,例如文本与表格特征,或图像与元数据,并在一个模型中训练多个输出。 ### LLM 微调与服务 使用 LLM 工具链,通过 4-bit QLoRA 或相关对齐方法对开源模型进行指令微调,然后用 Ludwig 的服务命令提供结果。 ### 在 Ray 上进行分布式训练 当本地实验需要在集群上扩展到分布式执行且不更改底层模型定义时,可使用 Ray 后端。 ### 模型导出与部署 当你需要 REST API、Docker 镜像或 ONNX、SafeTensors 等模型产物用于部署时,可使用内置的导出与服务工作流。 ## 常见问题 ### Ludwig 有什么用途? Ludwig 是一个基于 YAML 的框架,用于在一个配置文件中定义预处理、模型架构、训练、超参数优化和服务。网站将其描述为一个开源声明式深度学习框架。 ### 如何使用 Ludwig? 入门和首页页面展示了命令行工作流:安装 Ludwig,准备数据集,然后运行 \`ludwig train --config ...\`。该产品还记录了预测、评估、超参数优化、服务、分布式训练和 LLM 微调。 ### Ludwig 支持哪些类型的模型和数据? 网站说明 Ludwig 支持表格数据、文本、图像、音频、时间序列和 LLM 工作流。它还列出了多模态和多任务建模。 ### Ludwig 可用于部署吗? 首页和文档表明 Ludwig 可以将模型作为 REST API 提供服务,并导出为 SafeTensors、ONNX 和 \`torch.export\` 等格式。它还提到了 Docker 镜像以及上传到 Hugging Face Hub。 ## 快速信息 - **类别**: 开发者工具 - **主要用户**: 机器学习和人工智能从业者 - **平台**: 开源框架 - **源域名**: ludwig.ai - **许可证**: Apache 2 许可证 - **部署**: 本地、Ray 集群、Kubernetes