Introdução geral
O Maestro é uma ferramenta desenvolvida pela Roboflow para simplificar e acelerar o processo de ajuste fino de modelos multimodais para que todos possam treinar seus próprios modelos de linguagem visual. Ele fornece receitas prontas para o ajuste fino de modelos de linguagem visual (VLMs) populares, como Florence-2, PaliGemma 2 e Qwen2.5-VL. O Maestro permite que os usuários realizem o ajuste fino do modelo com mais eficiência, encapsulando as práticas recomendadas nos módulos principais que lidam com configuração, carregamento de dados, reprodutibilidade e configurações de loop de treinamento.
Lista de funções
- gerenciamento de configuraçãoArquivo de configuração: lida automaticamente com o arquivo de configuração do modelo, simplificando o processo de configuração.
- Carregamento de dadosSuporte a vários formatos de dados, pré-processamento e carregamento automatizados de dados.
- Configuração do ciclo de treinamentoOferece ciclos de treinamento padronizados para garantir a repetição do processo de treinamento.
- fórmula prontaFornece uma variedade de receitas de ajuste fino para modelos que os usuários podem usar diretamente.
- Interface de linha de comando (CLI)O processo de ajuste fino é iniciado por uma simples instrução de linha de comando.
- API do PythonFornece uma interface Python flexível que permite personalizar o processo de ajuste fino.
- Livros de receitasTutoriais e exemplos detalhados para ajudar os usuários a começar rapidamente.
Usando a Ajuda
Processo de instalação
- Criação de um ambiente virtualComo modelos diferentes podem ter dependências conflitantes, é recomendável criar um ambiente Python dedicado para cada modelo.
python -m venv maestro_env
fonte maestro_env/bin/activate
- Instalação de dependênciasInstalação de dependências específicas do modelo, conforme necessário.
pip install "maestro[paligemma_2]"
Uso da interface de linha de comando (CLI)
- preparação e ajuste finoIniciar o processo de ajuste fino usando a interface de linha de comando, especificando os principais parâmetros, como local do conjunto de dados, número de rodadas de treinamento, tamanho do lote, estratégia de otimização e métricas de avaliação.
maestro paligemma_2 train \
--dataset "dataset/location" \
--epochs 10 \
---batch-size 4 \
--optimisation_strategy "qlora" \
---metrics "edit_distance" (distância de edição)
Usando a API do Python
- Importação de funções de treinamentoImportar a função de treinamento do módulo correspondente e definir a configuração no dicionário.
do maestro.trainer.models.paligemma_2.core import train
config = {
"conjunto de dados": "conjunto de dados/localização",
"optimisation_strategy": "qlora",
"metrics": ["edit_distance"]
}
train(config)
Uso de livros de receitas
O Maestro fornece Cookbooks detalhados para ajudar os usuários a aprender como ajustar diferentes VLMs em uma variedade de tarefas visuais, por exemplo:
- Ajuste fino de Florence-2 para detecção de alvos com LoRA
- Ajuste fino do PaliGemma 2 para extração de dados JSON com LoRA
- Ajuste fino do Qwen2.5-VL para extração de dados JSON com QLoRA