maestro

roboflowApache-2.0活跃维护

一站式微调多模态模型的工具,支持 PaliGemma 2、Florence-2、Qwen2.5-VL 等,覆盖图像描述、目标检测和视觉问答任务,省去手写训练脚本的麻烦。

streamline the fine-tuning process for multimodal models: PaliGemma 2, Florence-2, and Qwen2.5-VL

1.0.0发布于 2025-02-05 08:45 UTC2,695star226fork同步于 2026-11-10 11:43 UTC

怎么上手

由 README 提炼,执行前请确认
pip install "maestro[paligemma_2]"
硬件要求按 README 说明

README 未说明具体显存要求;提供 LoRA/QLoRA 与 graph freezing 以压低硬件需求,并给出免费 Colab 笔记本(含 0.9B、3B、7B 模型示例)

下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

封装多模态模型微调最佳实践的工具,帮你省去配置、数据加载和训练循环搭建

一站式微调多模态模型的工具,支持 PaliGemma 2、Florence-2、Qwen2.5-VL 等,覆盖图像描述、目标检测和视觉问答任务,省去手写训练脚本的麻烦。

核心能力

  • 为 Florence-2、PaliGemma 2、Qwen2.5-VL 提供开箱即用的微调配方
  • 支持 LoRA、QLoRA 和 graph freezing 控制显存占用
  • 统一 CLI 与 Python SDK 两种调用方式
  • 用一致的 JSONL 格式简化数据处理
  • 内置可复现性、数据准备与训练循环设置

容易踩的坑

不同模型依赖可能冲突,README 建议为每个模型单独建 Python 环境;安装时需按模型选择对应 extra(如 paligemma_2),不是装 maestro 本体就够;README 未说明默认端口等细节

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

1 个版本1.0.0
  1. 1.0.0maestro-1.0.0最新正式版2025-02-05 · 2025-02-05 08:45 UTC

    🚀 Added

    • The VLMs field is evolving rapidly, making it tough to keep up. Maestro currently supports Florence-2, PaliGemma 2, and Qwen2.5-VL, and we'll strive to add key VLMs ASAP.

    • VLMs fine-tuning can be costly. Maestro's built-in support for LoRA, QLoRA, and graph freezing allows training larger models even on less powerful hardware.

    • VLMs fine-tuning requires lots of code. Maestro simplifies this complexity with single CLI/SDK calls.

    • VLMs lack a unified approach. Maestro uses a consistent input format (JSONL now, COCO and YOLO coming soon) to minimize data formatting headaches.

    🏆 Contributors

    @onuralpszr (Onuralp SEZER), @SkalskiP (Piotr Skalski)

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    version colab discord

    Hello

    maestro is a streamlined tool to accelerate the fine-tuning of multimodal models. By encapsulating best practices from our core modules, maestro handles configuration, data loading, reproducibility, and training loop setup. It currently offers ready-to-use recipes for popular vision-language models such as Florence-2, PaliGemma 2, and Qwen2.5-VL.

    Fine-tune VLMs for free

    model, task and accelerationopen in colab
    Florence-2 (0.9B) object detection with LoRA (experimental)colab
    PaliGemma 2 (3B) JSON data extraction with LoRAcolab
    Qwen2.5-VL (3B) JSON data extraction with QLoRAcolab
    Qwen2.5-VL (7B) object detection with QLoRA (experimental)colab

    News

    • 2025/02/05 (1.0.0): This release introduces support for Florence-2, PaliGemma 2, and Qwen2.5-VL and includes LoRA, QLoRA, and graph freezing to keep hardware requirements in check. It offers a single CLI/SDK to reduce code complexity, and a consistent JSONL format to streamline data handling.

    Quickstart

    Install

    To begin, install the model-specific dependencies. Since some models may have clashing requirements, we recommend creating a dedicated Python environment for each model.

    pip install "maestro[paligemma_2]"
    

    CLI

    Kick off fine-tuning with our command-line interface, which leverages the configuration and training routines defined in each model’s core module. Simply specify key parameters such as the dataset location, number of epochs, batch size, optimization strategy, and metrics.

    maestro paligemma_2 train \
      --dataset "dataset/location" \
      --epochs 10 \
      --batch-size 4 \
      --optimization_strategy "qlora" \
      --metrics "edit_distance"
    

    Python

    For greater control, use the Python API to fine-tune your models. Import the train function from the corresponding module and define your configuration in a dictionary. The core modules take care of reproducibility, data preparation, and training setup.

    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)
    

    Contribution

    We appreciate your input as we continue refining Maestro. Your feedback is invaluable in guiding our improvements. To learn how you can help, please check out our Contributing Guide. If you have any questions or ideas, feel free to start a conversation in our GitHub Discussions. Thank you for being a part of our journey!