{"name":"maestro: Streamlining Fine-Tuning for Multimodal Models like PaliGemma 2 and Florence-2","description":"maestro is a powerful tool designed to accelerate the fine-tuning process for multimodal models. It encapsulates best practices, handling configuration, data loading, reproducibility, and training loop setup efficiently. The project currently offers ready-to-use recipes for popular vision-language models, including Florence-2, PaliGemma 2, and Qwen2.5-VL.","github":"https://github.com/roboflow/maestro","url":"https://osrepos.com/repo/roboflow-maestro","source":"osrepos.com","sourceDescription":"This repository profile is provided by osrepos.com, an open source repository discovery platform.","repositoryProfile":"https://osrepos.com/repo/roboflow-maestro","generatedFor":"open source discovery and AI-assisted research","markdown":"https://osrepos.com/repo/roboflow-maestro.md","json":"https://osrepos.com/repo/roboflow-maestro.json","topics":["fine-tuning","multimodal","vision-language","Florence-2","PaliGemma 2","Qwen2.5-VL","Python","Machine Learning"],"keywords":["fine-tuning","multimodal","vision-language","Florence-2","PaliGemma 2","Qwen2.5-VL","Python","Machine Learning"],"stars":null,"summary":"maestro is a powerful tool designed to accelerate the fine-tuning process for multimodal models. It encapsulates best practices, handling configuration, data loading, reproducibility, and training loop setup efficiently. The project currently offers ready-to-use recipes for popular vision-language models, including Florence-2, PaliGemma 2, and Qwen2.5-VL.","content":"## Introduction\n\n**maestro** is a streamlined tool developed by Roboflow to accelerate the fine-tuning of multimodal models. By encapsulating best practices, `maestro` simplifies complex tasks such as configuration, data loading, reproducibility, and training loop setup. It currently provides ready-to-use recipes for popular vision-language models, including Florence-2, PaliGemma 2, and Qwen2.5-VL, making advanced model customization more accessible.\n\n## Installation\n\nTo get started with `maestro`, you need to install the model-specific dependencies. It is recommended to create a dedicated Python environment for each model due to potential clashing requirements.\n\nbash\npip install \"maestro[paligemma_2]\"\n\n\nReplace `paligemma_2` with the specific model you intend to use, for example, `florence_2` or `qwen2_5_vl`.\n\n## Examples\n\n`maestro` offers both a command-line interface (CLI) and a Python API for fine-tuning your models. Additionally, the repository provides convenient Colab notebooks for hands-on experimentation.\n\n### Command-Line Interface (CLI)\n\nKick off fine-tuning directly from your terminal by specifying key parameters like dataset location, epochs, batch size, optimization strategy, and metrics.\n\nbash\nmaestro paligemma_2 train \\\n  --dataset \"dataset/location\" \\\n  --epochs 10 \\\n  --batch-size 4 \\\n  --optimization_strategy \"qlora\" \\\n  --metrics \"edit_distance\"\n\n\n### Python API\n\nFor greater control and integration into existing workflows, use the Python API. Import the `train` function from the corresponding module and define your configuration in a dictionary.\n\npython\nfrom maestro.trainer.models.paligemma_2.core import train\n\nconfig = {\n    \"dataset\": \"dataset/location\",\n    \"epochs\": 10,\n    \"batch_size\": 4,\n    \"optimization_strategy\": \"qlora\",\n    \"metrics\": [\"edit_distance\"]\n}\n\ntrain(config)\n\n\n### Colab Notebooks\n\nExplore practical examples and fine-tune models directly in Google Colab. The `maestro` repository includes several cookbooks, such as:\n\n*   [Florence-2 (0.9B) object detection with LoRA](https://colab.research.google.com/github/roboflow/maestro/blob/develop/cookbooks/maestro_florence_2_object_detection.ipynb)\n*   [PaliGemma 2 (3B) JSON data extraction with LoRA](https://colab.research.google.com/github/roboflow/maestro/blob/develop/cookbooks/maestro_paligemma_2_json_extraction.ipynb)\n*   [Qwen2.5-VL (3B) JSON data extraction with QLoRA](https://colab.research.google.com/github/roboflow/maestro/blob/develop/cookbooks/maestro_qwen2_5_vl_json_extraction.ipynb)\n\n## Why Use maestro?\n\n`maestro` stands out by simplifying the often-complex process of fine-tuning multimodal models. Its key advantages include:\n\n*   **Streamlined Workflow**: Accelerates the entire fine-tuning process, from setup to training.\n*   **Best Practices Encapsulated**: Handles configuration, data loading, reproducibility, and training loop setup, allowing users to focus on their data and models.\n*   **Ready-to-Use Recipes**: Provides pre-configured setups for popular models like Florence-2, PaliGemma 2, and Qwen2.5-VL.\n*   **Hardware Efficiency**: Supports optimization strategies like LoRA, QLoRA, and graph freezing to keep hardware requirements in check.\n*   **Consistent Data Handling**: Utilizes a consistent JSONL format to streamline data preparation.\n*   **Unified Interface**: Offers a single CLI/SDK to reduce code complexity across different models and tasks.\n\n## Links\n\n*   **GitHub Repository**: [https://github.com/roboflow/maestro](https://github.com/roboflow/maestro)\n*   **Official Colab Notebook**: [https://colab.research.google.com/github/roboflow/maestro/blob/develop/cookbooks/maestro_qwen2_5_vl_json_extraction.ipynb](https://colab.research.google.com/github/roboflow/maestro/blob/develop/cookbooks/maestro_qwen2_5_vl_json_extraction.ipynb)\n*   **Join the Discord Community**: [https://discord.gg/GbfgXGJ8Bk](https://discord.gg/GbfgXGJ8Bk)\n*   **Contributing Guide**: [https://github.com/roboflow/maestro/blob/develop/CONTRIBUTING.md](https://github.com/roboflow/maestro/blob/develop/CONTRIBUTING.md)\n*   **GitHub Discussions**: [https://github.com/roboflow/maestro/discussions](https://github.com/roboflow/maestro/discussions)","metrics":{"detailViews":5,"githubClicks":11},"dates":{"published":null,"modified":"2026-03-02T08:08:44.000Z"}}