本文于 2025-02-08 00:32 更新,部分内容具有时效性,如有失效,请留言
综合介绍
Maestro 是由 Roboflow 开发的一款工具,旨在简化和加速多模态模型的微调过程,让人人都可以训练自己的视觉大模型。它提供了现成的配方,用于微调流行的视觉语言模型(VLM),如 Florence-2、PaliGemma 2 和 Qwen2.5-VL。Maestro 通过封装核心模块中的最佳实践,处理配置、数据加载、可重复性和训练循环设置,使用户能够更高效地进行模型微调。
功能列表
- 配置管理:自动处理模型的配置文件,简化设置过程。
- 数据加载:支持多种数据格式,自动化数据预处理和加载。
- 训练循环设置:提供标准化的训练循环,确保训练过程的可重复性。
- 现成配方:提供多种模型的微调配方,用户可以直接使用。
- 命令行界面(CLI):通过简单的命令行指令启动微调过程。
- Python API:提供灵活的 Python 接口,允许用户自定义微调过程。
- Cookbooks:详细的教程和示例,帮助用户快速上手。
使用帮助
安装流程
- 创建虚拟环境:由于不同模型可能有冲突的依赖项,建议为每个模型创建一个专用的 Python 环境。
python -m venv maestro_env
source maestro_env/bin/activate
- 安装依赖项:根据需要安装特定模型的依赖项。
pip install "maestro[paligemma_2]"
使用命令行界面(CLI)
- 启动微调:使用命令行界面启动微调过程,指定关键参数如数据集位置、训练轮数、批量大小、优化策略和评估指标。
maestro paligemma_2 train \
--dataset "dataset/location" \
--epochs 10 \
--batch-size 4 \
--optimization_strategy "qlora" \
--metrics "edit_distance"
使用 Python API
- 导入训练函数:从对应模块中导入训练函数,并在字典中定义配置。
from maestro.trainer.models.paligemma_2.core import train
config = {
"dataset": "dataset/location",
"epochs": 10,
"batch_size": 4,
"optimization_strategy": "qlora",
"metrics": ["edit_distance"]
}
train(config)
使用 Cookbooks
Maestro 提供了详细的 Cookbooks,帮助用户学习如何在各种视觉任务上微调不同的 VLMs。例如:
- 使用 LoRA 微调 Florence-2 进行目标检测
- 使用 LoRA 微调 PaliGemma 2 进行 JSON 数据提取
- 使用 QLoRA 微调 Qwen2.5-VL 进行 JSON 数据提取