Allgemeine Einführung
Maestro ist ein von Roboflow entwickeltes Tool, das den Prozess der Feinabstimmung multimodaler Modelle vereinfacht und beschleunigt, sodass jeder seine eigenen visuellen Sprachmodelle trainieren kann. Es bietet vorgefertigte Rezepte für die Feinabstimmung beliebter visueller Sprachmodelle (VLMs) wie Florence-2, PaliGemma 2 und Qwen2.5-VL. Maestro ermöglicht es den Benutzern, die Feinabstimmung der Modelle effizienter durchzuführen, indem es die besten Verfahren in den Kernmodulen kapselt, die sich mit der Konfiguration, dem Laden von Daten, der Reproduzierbarkeit und den Einstellungen der Trainingsschleife befassen.
Funktionsliste
- KonfigurationsmanagementAutomatischer Umgang mit der Konfigurationsdatei des Modells zur Vereinfachung des Einrichtungsprozesses.
- Laden von DatenUnterstützung für mehrere Datenformate, automatische Datenvorverarbeitung und Laden.
- Einrichtung des TrainingszyklusStandardisierte Ausbildungszyklen, um die Wiederholbarkeit des Ausbildungsprozesses zu gewährleisten.
- fertige FormelBietet eine Vielzahl von Feinabstimmungsrezepten für Modelle, die der Benutzer direkt verwenden kann.
- Befehlszeilenschnittstelle (CLI)Der Feinabstimmungsprozess wird durch einen einfachen Befehl in der Befehlszeile eingeleitet.
- Python-APIBietet eine flexible Python-Schnittstelle, mit der Sie den Feinabstimmungsprozess individuell gestalten können.
- KochbücherDetaillierte Anleitungen und Beispiele für einen schnellen Einstieg in die Anwendung.
Hilfe verwenden
Ablauf der Installation
- Erstellen einer virtuellen UmgebungDa verschiedene Modelle widersprüchliche Abhängigkeiten haben können, empfiehlt es sich, für jedes Modell eine eigene Python-Umgebung zu erstellen.
python -m venv maestro_env
Quelle maestro_env/bin/activate
- Installieren von AbhängigkeitenInstallieren Sie bei Bedarf modellspezifische Abhängigkeiten.
pip install "maestro[paligemma_2]"
Verwendung der Befehlszeilenschnittstelle (CLI)
- Grundierung und FeinabstimmungStarten Sie den Feinabstimmungsprozess über die Befehlszeilenschnittstelle, indem Sie Schlüsselparameter wie den Ort des Datensatzes, die Anzahl der Trainingsrunden, die Stapelgröße, die Optimierungsstrategie und die Bewertungsmetriken angeben.
maestro paligemma_2 train \
--datensatz "datensatz/standort" \
--epochs 10 \
---batch-size 4 \
--optimization_strategy "qlora" \
---metrics "edit_distance"
Verwendung der Python-API
- Trainingsfunktionen importierenImportieren Sie die Trainingsfunktion aus dem entsprechenden Modul und definieren Sie die Konfiguration im Wörterbuch.
from maestro.trainer.models.paligemma_2.core import train
config = {
"dataset": "dataset/location",
"optimierung_strategie": "qlora",
"metrics": ["edit_distance"]
}
train(config)
Kochbücher verwenden
Maestro bietet detaillierte Kochbücher, mit denen die Benutzer lernen können, wie man verschiedene VLMs für eine Vielzahl von visuellen Aufgaben fein abstimmt:
- Feinabstimmung von Florence-2 für die Zielerfassung mit LoRA
- Feinabstimmung von PaliGemma 2 für die Extraktion von JSON-Daten mit LoRA
- Feinabstimmung von Qwen2.5-VL für die Extraktion von JSON-Daten mit QLoRA