Aprendizagem pessoal com IA
e orientação prática
Recomendação de recursos 1

VLM-R1: um modelo de linguagem visual para localizar alvos de imagem por meio de linguagem natural

Introdução geral

O VLM-R1 é um projeto de modelagem de linguagem visual de código aberto desenvolvido pelo Om AI Lab e hospedado no GitHub. Com base na metodologia R1 do DeepSeek, o projeto combina o modelo Qwen2.5-VL com técnicas de aprendizado por reforço (R1) e ajuste fino supervisionado (SFT) para melhorar significativamente a estabilidade do modelo e a capacidade de generalização em tarefas de compreensão visual. O VLM-R1 é particularmente bom em lidar com a compreensão de expressão de referência (REC), por exemplo, respondendo a perguntas como "Onde está a xícara vermelha na imagem? O VLM-R1 é particularmente bom em REC, por exemplo, respondendo a perguntas como "onde está a xícara vermelha na foto" e identificando alvos em imagens. O projeto fornece scripts de instalação detalhados, suporte a conjuntos de dados e código de treinamento para que desenvolvedores e pesquisadores possam explorar e desenvolver tarefas de linguagem visual. Em fevereiro de 2025, o projeto já havia acumulado quase 2.000 hashtags no GitHub, demonstrando seu amplo interesse em IA multimodal.

VLM-R1: um modelo de linguagem visual de aprendizado por reforço que se destaca em tarefas de compreensão visual-1

Endereço de demonstração: https://huggingface.co/spaces/omlab/VLM-R1-Referral-Expression


 

Lista de funções

  • Refere-se à Expressão Representacional de Compreensão (REC)Capacidade de analisar comandos de linguagem natural para localizar alvos específicos em uma imagem.
  • Processamento conjunto de imagens e textosSuporte para entrada simultânea de imagem e texto para gerar resultados de análise precisos.
  • Otimização do aprendizado aprimoradoR1: Aprimoramento do desempenho do modelo em tarefas visuais complexas por meio de treinamento com o método R1.
  • Código de treinamento de código abertoScripts de treinamento completos e arquivos de configuração são fornecidos para facilitar a personalização do modelo.
  • Suporte a conjuntos de dadosRecursos integrados de download e processamento de conjuntos de dados COCO e RefCOCO simplificam o processo de desenvolvimento.
  • Suporte de inferência de alto desempenhoCompatível com Flash Attention e outras tecnologias para melhorar a eficiência da computação.

 

Usando a Ajuda

Processo de instalação

O VLM-R1 é um projeto baseado em Python que requer determinadas configurações de ambiente para ser executado. Aqui estão as etapas detalhadas de instalação e uso para ajudar os usuários a começar rapidamente.

1. preparação ambiental

  • Instalação do AnacondaRecomendamos que você use o Anaconda para gerenciar seu ambiente Python para garantir a compatibilidade do sistema. Download: site oficial do Anaconda. Após a conclusão da instalação, abra o terminal.
  • Criação de um ambiente virtualDigite o seguinte comando no terminal para criar um arquivo chamado vlm-r1 Ambiente Python 3.10:
    conda create -n vlm-r1 python=3.10
  • ambiente de ativaçãoAtivação: Ative o ambiente que você acabou de criar:
    conda activate vlm-r1
    

2. instalar as dependências do projeto

  • projeto de clonagemFaça o download do repositório de código do VLM-R1 localmente. Abra um terminal e digite:
    git clone https://github.com/om-ai-lab/VLM-R1.git
    cd VLM-R1
    
  • Execute o script de instalaçãoO projeto fornece um setup.sh Script para instalação automatizada de dependências. Execute-o no terminal:
    bash setup.sh
    

    Esse script instala as bibliotecas principais, como PyTorch, Transformers, etc., para garantir que o ambiente esteja pronto.

3. preparação de dados

  • Download do conjunto de dados COCOVLM-R1: o VLM-R1 foi treinado usando o conjunto de dados de imagem COCO Train2014. Execute o seguinte comando para fazer o download e descompactá-lo:
    wget http://images.cocodataset.org/train2014/train2014.zip
    descompactar train2014.zip -d
    

    Anote o caminho de descompactação que será necessário nas configurações subsequentes.

  • Faça o download do arquivo de rotulagem do RefCOCORefCOCO: O conjunto de dados RefCOCO é usado para se referir a tarefas de representação. O link para download pode ser encontrado na documentação do projeto, descompacte-o e coloque-o no diretório apropriado.

4. modelos de treinamento

  • Configuração dos parâmetros de treinamento: Acesso src/open-r1-multimodal edite os parâmetros no script de treinamento. Exemplo:
    cd src/open-r1-multimodal
    

    modificações grpo_rec.py ou especificar parâmetros ao executar o comando. A seguir, um exemplo de comando:

    torchrun --nproc_per_node=8 --nnodes=1 --node_rank=0 --master_addr="127.0.0.1" --master_port="12346" \
    src/open_r1/grpo_rec.py \
    --deepspeed local_scripts/zero3.json \
    --output_dir output/my_model \
    ---model_name_or_path Qwen/Qwen2.5-VL-3B-Instruct \
    --dataset_name data_config/rec.yaml \
    --image_root  \
    ---max_prompt_length 1024 \
    --num_generations 8 \
    --per_device_train_batch_size 1 \
    --gradient_accumulation_steps 2 \\
    --logging_steps 1 \\
    ---bf16 \
    ---torch_dtype bfloat16 \\
    --num_train_epochs 2 \\
    ---save_steps 100
    
    • Descrição do parâmetro:
      • --nproc_per_nodeNúmero de GPUs: Número de GPUs, a ser ajustado para seu hardware.
      • --image_rootSubstitua pelo caminho do conjunto de dados COCO.
      • --output_dirCaminho para salvar o modelo: O caminho para salvar o modelo.

5. fluxo de operação funcional

Refere-se à Expressão Representacional de Compreensão (REC)
  • Execução de scripts de testeApós a conclusão do treinamento, use o script de teste fornecido para verificar a eficácia do modelo. Digite src/eval Catálogo:
    cd src/eval
    python test_rec_r1.py --model_path  --image_root  --annotation_path
    
  • Exemplo de entrada. Carregue uma imagem e digite uma pergunta como "Onde está o carro azul na imagem?". . O modelo retornará as coordenadas ou a descrição do local de destino.
Análise de imagens e textos
  • Prepare-se para entrarArquivo de imagem: Coloque o arquivo de imagem e o texto da pergunta no diretório especificado ou especifique o caminho diretamente no script.
  • raciocínio de execuçãoUsando o script de teste acima, o modelo gera uma análise do conteúdo da imagem, por exemplo, categoria do objeto, posição etc.
Treinamento personalizado
  • Modificar o conjunto de dadosSe você quiser usar seu próprio conjunto de dados, edite o data_config/rec.yamlAdicione caminhos de imagem e arquivos rotulados.
  • Ajuste dos hiperparâmetrosModificado para atender às necessidades do mandato grpo_rec.py Parâmetros como taxa de aprendizado, tamanho do lote, etc. no

6. cuidados

  • Requisitos de hardwareRecomendamos o uso de uma GPU com pelo menos 8 GB de RAM, ou menos, se os recursos forem limitados. num_generations para reduzir o espaço ocupado pela memória.
  • modo de depuraçãoPode ser definido durante o treinamento exportar DEBUG_MODE="true"Visualize o registro detalhado.
  • Suporte à comunidadeSe tiver problemas, faça perguntas na página de problemas do GitHub e a equipe e a comunidade do Om AI Lab ajudarão.

Seguindo as etapas acima, os usuários podem instalar e usar totalmente o VLM-R1 para começar rapidamente e aproveitar seus recursos avançados, quer estejam realizando pesquisas sobre tarefas de visão ou desenvolvendo aplicações no mundo real.

Conteúdo3
Não pode ser reproduzido sem permissão:Chefe do Círculo de Compartilhamento de IA " VLM-R1: um modelo de linguagem visual para localizar alvos de imagem por meio de linguagem natural

Chefe do Círculo de Compartilhamento de IA

O Chief AI Sharing Circle se concentra no aprendizado de IA, fornecendo conteúdo abrangente de aprendizado de IA, ferramentas de IA e orientação prática. Nosso objetivo é ajudar os usuários a dominar a tecnologia de IA e explorar juntos o potencial ilimitado da IA por meio de conteúdo de alta qualidade e compartilhamento de experiências práticas. Seja você um iniciante em IA ou um especialista sênior, este é o lugar ideal para adquirir conhecimento, aprimorar suas habilidades e realizar inovações.

Entre em contato conosco
pt_BRPortuguês do Brasil