VLM-R1: модель визуального языка для определения местоположения целей изображения с помощью естественного языка

Общее введение

VLM-R1 - это проект визуального моделирования языка с открытым исходным кодом, разработанный Om AI Lab и размещенный на GitHub. Проект основан на DeepSeek Метод R1 в сочетании с Qwen2.5-VL VLM-R1 особенно хорошо справляется с Representational Expression Comprehension (REC), например, отвечает на вопросы типа "Где на картинке красная чашка?" и точно определяет цели на изображении. Цели. Проект предоставляет подробные сценарии установки, поддержку наборов данных и обучающий код для разработчиков и исследователей, чтобы они могли изучать и разрабатывать задачи визуального языка. По состоянию на февраль 2025 года проект набрал почти 2 000 хэштегов на GitHub, что свидетельствует о широком интересе к мультимодальному ИИ.

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

Адрес для демонстрации: https://huggingface.co/spaces/omlab/VLM-R1-Referral-Expression

 

Список функций

  • Относится к репрезентативному выражению понимания (REC): Возможность анализа команд на естественном языке для определения местоположения конкретных целей на изображении.
  • Совместная обработка изображений и текстов: Поддерживает одновременный ввод изображений и текста для получения точных результатов анализа.
  • Оптимизация обучения: Повышение эффективности работы модели в сложных визуальных задачах путем обучения по методу R1.
  • Учебный код с открытым исходным кодом: Для удобства настройки модели предоставляются полные обучающие скрипты и файлы конфигурации.
  • Поддержка наборов данныхВстроенные возможности загрузки и обработки наборов данных COCO и RefCOCO упрощают процесс разработки.
  • Высокопроизводительная поддержка выводов: Совместимость с Flash Attention и другими технологиями для повышения эффективности вычислений.

 

Использование помощи

Процесс установки

VLM-R1 - это проект на базе Python, для запуска которого требуется определенная конфигурация среды. Ниже приведены подробные шаги по установке и использованию, чтобы помочь пользователям быстро начать работу.

1. Подготовка окружающей среды

  • Установка Anaconda: Рекомендуется использовать Anaconda для управления окружением Python, чтобы обеспечить совместимость системы. Скачать: официальный сайт Anaconda. После завершения установки откройте терминал.
  • Создание виртуальной среды: Введите следующую команду в терминале, чтобы создать файл с именем vlm-r1 Среда Python 3.10:
    conda create -n vlm-r1 python=3.10
  • среда активации: Активируйте только что созданную среду:
    conda activate vlm-r1
    

2. Установите зависимости проекта

  • проект клонирования: Загрузите репозиторий кода для VLM-R1 локально. Откройте терминал и введите:
    git clone https://github.com/om-ai-lab/VLM-R1.git  
    cd VLM-R1
    
  • Запустите сценарий установки: Проект обеспечивает setup.sh Скрипт для автоматической установки зависимостей. Запустите его в терминале:
    bash setup.sh
    

    Этот скрипт устанавливает основные библиотеки, такие как PyTorch, Transformers и т.д., чтобы убедиться, что среда готова.

3. подготовка данных

  • Скачать набор данных COCO: VLM-R1 был обучен на наборе данных изображений COCO Train2014. Выполните следующую команду, чтобы загрузить и разархивировать его:
    wget http://images.cocodataset.org/train2014/train2014.zip  
    unzip train2014.zip -d <your_image_root>
    

    Запишите путь к распаковке <your_image_root>, которые понадобятся в последующих конфигурациях.

  • Скачать файл с маркировкой RefCOCO: Набор данных RefCOCO используется для обозначения задач представления. Ссылку на скачивание можно найти в документации проекта, распакуйте ее и поместите в соответствующую директорию.

4. Учебные модели

  • Настройка параметров обучения: Доступ src/open-r1-multimodal отредактируйте параметры в учебном скрипте. Пример:
    cd src/open-r1-multimodal
    

    модификации grpo_rec.py или указать параметры при выполнении команды. Ниже приведен пример команды:

    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
    
    • Описание параметра:
      • --nproc_per_node: Количество графических процессоров должно быть настроено в соответствии с вашим оборудованием.
      • --image_root: Замените путь к набору данных COCO.
      • --output_dir: Путь сохранения модели.

5. Функциональный поток операций

Относится к репрезентативному выражению понимания (REC)
  • Запуск сценариев тестирования: После завершения обучения используйте предоставленный тестовый сценарий для проверки эффективности модели. Введите src/eval Каталог:
    cd src/eval  
    python test_rec_r1.py --model_path <your_trained_model> --image_root <your_image_root> --annotation_path <refcoco_annotation>
    
  • Пример ввода: Загрузите фотографию и задайте вопрос, например, "Где на фотографии находится синий автомобиль?". . Модель вернет координаты или описание целевого местоположения.
Анализ изображений и текстов
  • Приготовьтесь к поступлению: Поместите файл изображения и текст вопроса в указанную директорию или укажите путь непосредственно в скрипте.
  • рассуждения о беге: Используя приведенный выше тестовый сценарий, модель выдает анализ содержимого изображения, например, категорию объекта, его положение и т. д.
Индивидуальное обучение
  • Измените набор данных: Если вы хотите использовать свой собственный набор данных, отредактируйте файл data_config/rec.yamlДобавьте пути к изображениям и маркированные файлы.
  • Настройка гиперпараметров: Изменено в соответствии с требованиями мандата grpo_rec.py Такие параметры, как скорость обучения, размер партии и т.д. в

6. Предостережения

  • требования к оборудованию: Рекомендуется использовать GPU с не менее чем 8 ГБ оперативной памяти, или меньше, если ресурсы ограничены. num_generations параметр, чтобы уменьшить занимаемую память.
  • режим отладки: Можно установить во время обучения export DEBUG_MODE="true"Просмотрите подробный журнал.
  • Поддержка общества: Если у вас возникнут проблемы, задавайте вопросы на странице GitHub Issues, и команда Om AI Lab и сообщество помогут вам.

Выполнив описанные выше действия, пользователи смогут полностью установить и использовать VLM-R1, чтобы быстро приступить к работе и воспользоваться его мощными возможностями, независимо от того, проводят ли они исследования в области задач технического зрения или разрабатывают реальные приложения.

© заявление об авторских правах

Похожие статьи

Нет комментариев

Вы должны войти в систему, чтобы участвовать в комментариях!
Войти сейчас
нет
Нет комментариев...