VLM-R1: un modelo de lenguaje visual para localizar objetivos de imagen mediante lenguaje natural

Introducción general

VLM-R1 es un proyecto de modelado visual del lenguaje de código abierto desarrollado por Om AI Lab y alojado en GitHub. El proyecto se basa en DeepSeek El método R1, combinado con el Qwen2.5-VL VLM-R1 es especialmente hábil en el manejo de la Comprensión de Expresiones Representacionales (REC), por ejemplo, respondiendo a preguntas como "¿Dónde está la taza roja en el dibujo?" y señalando objetivos en una imagen. Objetivos. El proyecto proporciona scripts de instalación detallados, soporte de conjuntos de datos y código de formación para que desarrolladores e investigadores exploren y desarrollen tareas de lenguaje visual. En febrero de 2025, el proyecto había recibido casi 2.000 estrellas en GitHub, lo que demuestra su gran interés en la IA multimodal.

VLM-R1:通过自然语言定位图像目标的视觉语言模型

Dirección de demostración: https://huggingface.co/spaces/omlab/VLM-R1-Referral-Expression

 

Lista de funciones

  • Se refiere a la Expresión Representacional de la Comprensión (REC)La capacidad de analizar comandos de lenguaje natural para localizar objetivos específicos en una imagen.
  • Tratamiento conjunto de imágenes y texto: Admite la introducción simultánea de imágenes y texto para generar resultados de análisis precisos.
  • Optimización del aprendizajeMejora del rendimiento del modelo en tareas visuales complejas mediante el entrenamiento con el método R1.
  • Código de formación de código abiertoSe proporcionan guiones de entrenamiento y archivos de configuración completos para facilitar la personalización del modelo.
  • Soporte de conjuntos de datosFunciones integradas de descarga y procesamiento de conjuntos de datos COCO y RefCOCO que simplifican el proceso de desarrollo.
  • Soporte de inferencia de alto rendimiento: Compatible con Flash Attention y otras tecnologías para mejorar la eficiencia informática.

 

Utilizar la ayuda

Proceso de instalación

VLM-R1 es un proyecto basado en Python que requiere cierta configuración del entorno para ejecutarse. Aquí están los pasos detallados de instalación y uso para ayudar a los usuarios a empezar rápidamente.

1. Preparación medioambiental

  • Instalación de AnacondaSe recomienda utilizar Anaconda para gestionar su entorno Python y garantizar la compatibilidad del sistema. Descarga: Sitio web oficial de Anaconda. Una vez finalizada la instalación, abra el terminal.
  • Creación de un entorno virtualEscribe el siguiente comando en el terminal para crear un archivo llamado vlm-r1 Entorno Python 3.10:
    conda create -n vlm-r1 python=3.10
  • entorno de activaciónActiva el entorno que acabas de crear:
    conda activate vlm-r1
    

2. Instalar las dependencias del proyecto

  • proyecto de clonaciónDescarga el repositorio de código para VLM-R1 localmente. Abra un terminal y escriba:
    git clone https://github.com/om-ai-lab/VLM-R1.git  
    cd VLM-R1
    
  • Ejecute el script de instalaciónEl proyecto ofrece setup.sh Script para la instalación automática de dependencias. Ejecútelo en el terminal:
    bash setup.sh
    

    Este script instala librerías centrales como PyTorch, Transformers, etc. para asegurarse de que el entorno está listo.

3. Preparación de los datos

  • Descargar el conjunto de datos COCOVLM-R1 se entrenó utilizando el conjunto de datos de imágenes COCO Train2014. Ejecute el siguiente comando para descargarlo y descomprimirlo:
    wget http://images.cocodataset.org/train2014/train2014.zip  
    unzip train2014.zip -d <your_image_root>
    

    Anote la ruta de descompresión <your_image_root>que se necesitará en configuraciones posteriores.

  • Descargar el archivo de etiquetado RefCOCOEl conjunto de datos RefCOCO se utiliza para referirse a las tareas de representación. El enlace de descarga se encuentra en la documentación del proyecto; descomprímalo y colóquelo en el directorio adecuado.

4. Modelos de formación

  • Configuración de los parámetros de entrenamiento: Acceso src/open-r1-multimodal edite los parámetros del script de entrenamiento. Ejemplo:
    cd src/open-r1-multimodal
    

    modificaciones grpo_rec.py o especificar parámetros al ejecutar el comando. A continuación se muestra un comando de ejemplo:

    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 <your_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
    
    • Descripción de los parámetros:
      • --nproc_per_node: Número de GPUs, a ajustar a su hardware.
      • --image_rootSustitúyalo por la ruta de su conjunto de datos COCO.
      • --output_dirRuta de guardado del modelo.

5. Flujo de operaciones funcionales

Se refiere a la Expresión Representacional de la Comprensión (REC)
  • Ejecución de guiones de pruebaUna vez finalizado el entrenamiento, utilice el script de prueba proporcionado para verificar la eficacia del modelo. Introduzca src/eval Catálogo:
    cd src/eval  
    python test_rec_r1.py --model_path <your_trained_model> --image_root <your_image_root> --annotation_path <refcoco_annotation>
    
  • Ejemplo de entrada: Sube una foto e introduce una pregunta como "¿Dónde está el coche azul de la foto?". . El modelo devolverá las coordenadas o la descripción de la ubicación del objetivo.
Análisis de imágenes y textos
  • Prepárese para entrar: Coloca el archivo de imagen y el texto de la pregunta en el directorio especificado, o especifica la ruta directamente en el script.
  • razonamiento en funcionamientoAnálisis del contenido de la imagen: con el script de prueba anterior, el modelo realiza un análisis del contenido de la imagen, por ejemplo, la categoría del objeto, su posición, etc.
Formación a medida
  • Modificar el conjunto de datosSi desea utilizar su propio conjunto de datos, edite el archivo data_config/rec.yamlañadir rutas de imágenes y archivos etiquetados.
  • Ajuste de los hiperparámetros: Modificado para responder a las necesidades del mandato grpo_rec.py Parámetros como la tasa de aprendizaje, el tamaño del lote, etc. en el

6. Precauciones

  • requisitos de hardwareSe recomienda utilizar una GPU con al menos 8 GB de RAM, o menos si los recursos son limitados. num_generations para reducir la huella de memoria.
  • modo depuraciónPuede ajustarse durante el entrenamiento export DEBUG_MODE="true"Ver el registro detallado.
  • Apoyo comunitarioSi tienes problemas, pregunta en la página de problemas de GitHub y el equipo y la comunidad de Om AI Lab te ayudarán.

Siguiendo los pasos anteriores, los usuarios pueden instalar y utilizar completamente el VLM-R1 para empezar a trabajar rápidamente y aprovechar sus potentes funciones, tanto si están investigando sobre tareas de visión como si están desarrollando aplicaciones para el mundo real.

© declaración de copyright

Artículos relacionados

Sin comentarios

Debe iniciar sesión para participar en los comentarios.
Acceder ahora
ninguno
Sin comentarios...