MM-EUREKA: Мультимодальный инструмент обучения с подкреплением для изучения визуального мышления

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

MM-EUREKA - это проект с открытым исходным кодом, разработанный Шанхайской лабораторией искусственного интеллекта, Шанхайским университетом Цзяо Тун и другими участниками. Он расширяет возможности текстовых рассуждений на мультимодальные сценарии с помощью методов обучения с подкреплением, основанных на правилах, чтобы помочь моделям обрабатывать изображения и текстовую информацию. Основная цель этого инструмента - повысить производительность моделей в задачах визуальных и математических рассуждений. В нем представлены две основные модели, MM-Eureka-8B и MM-Eureka-Zero-38B, которые позволяют эффективно обучаться на небольших объемах данных, например, используя всего 54 К графических данных, и превосходят другие модели, требующие миллионы данных. Проект полностью открыт, а код, модели и данные свободно доступны на GitHub для исследователей и разработчиков, изучающих методы мультимодального вывода.

MM-EUREKA:探索视觉推理的多模态强化学习工具

 

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

  • Поддержка мультимодальных рассуждений: возможность одновременной обработки изображений и текста улучшает способность модели понимать сложные проблемы.
  • Обучение с подкреплением на основе правил: обучение моделей по простым правилам для снижения зависимости от больших объемов данных.
  • Визуальные озарения: модели могут пересматривать изображения в своих рассуждениях, имитируя процесс человеческого размышления.
  • Open Source Complete Pipeline: предоставляет код, наборы данных и обучающий поток для легкого воспроизведения и улучшения.
  • Высокая эффективность использования данных: производительность сопоставима с моделями, обученными на миллионах данных при небольшом объеме данных (например, 8К или 54К графических пар).
  • Поддержка математических рассуждений: специально оптимизирована для решения математических задач в учебных и академических сценариях.

 

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

MM-EUREKA - это проект с открытым исходным кодом на GitHub, который в основном ориентирован на пользователей с определенными основами программирования, особенно на исследователей и разработчиков. Ниже приводится подробное описание установки и использования этого инструмента, включая основные особенности процесса работы.

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

  1. Подготовка среды
    • Убедитесь, что на вашем компьютере установлен Python 3.8 или более поздней версии. Это можно сделать с помощью команды python --version Проверьте.
    • Для клонирования кода необходимо установить Git. Если у вас нет Git'а, вы можете скачать и установить его с официального сайта.
    • Рекомендуется для систем Linux (например, Ubuntu 20.04 или 22.04), пользователям Windows может потребоваться дополнительная настройка.
  2. Клонирование кода проекта
    • Откройте терминал и введите следующую команду, чтобы загрузить исходный код MM-EUREKA:
      git clone https://github.com/ModalMinds/MM-EUREKA.git
      
    • После завершения загрузки перейдите в папку с проектом:
      cd MM-EUREKA
      
  3. Установка зависимостей
    • Выполните следующую команду для установки основных зависимостей:
      pip install -e .
      
    • Если вам нужно использовать vLLM Необходимо установить ускоренные рассуждения и дополнительные пакеты:
      pip install -e .[vllm]
      
    • Установите Flash-Attention (версия 2.3.6) для повышения производительности:
      pip install flash-attn==2.3.6 --no-build-isolation
      

      Если у вас возникнут проблемы, попробуйте установить из исходного кода:

      git clone https://github.com/Dao-AILab/flash-attention.git
      cd flash-attention
      git checkout v2.3.6
      python setup.py install
      
  4. Скачать набор данных
    • Проект предоставляет обучающие данные MM-Eureka-Dataset, которые можно загрузить с GitHub Releases.
    • После загрузки распакуйте файл и измените данные по мере необходимости в image_urls поле, указывающее на путь к локальному изображению.
  5. Проверка установки
    • После завершения установки запустите python -c "import mm_eureka" Проверьте, нет ли сообщений об ошибках. Если ошибок нет, установка прошла успешно.

Использование основных функций

Функция 1: Запуск мультимодальной модели вывода

  • Подготовьте данные
    • Данные должны быть организованы в формате JSONL, где каждая строка представляет собой словарь, содержащий id, иconversations, иanswer ответить пением image_urls Поля. Пример:
      {"id": "0", "conversations": [{"role": "user", "content": "这张图里的数学题答案是什么?"}], "answer": "42", "image_urls": ["file:///path/to/image.jpg"]}
      
    • Сохраните данные в формате dataset.jsonl, помещенный в каталог проекта.
  • рассуждения о беге
    • Введите в терминале следующую команду, чтобы загрузить модель и рассказать о ней:
      python scripts/inference.py --model MM-Eureka-8B --data dataset.jsonl
      
    • На выходе вы увидите процесс рассуждений модели и ответы на каждый вопрос.

Функция 2: Обучение пользовательских моделей

  • Настройка параметров обучения
    • показать (билет) config.yaml файл для установки параметров модели (например, скорости обучения, размера партии) и путей данных.
    • безопасный data_path Направьте его на себя. dataset.jsonl Документация.
  • обучение грунтовке
    • Выполните следующую команду, чтобы начать обучение:
      python scripts/train.py --config config.yaml
      
    • Во время обучения модель сохраняет контрольные точки в checkpoints/ Папка.

Функция 3: Проверка визуальных прозрений

  • Подготовка тестовых данных
    • Используйте данные из сложных математических задач, содержащих изображения, например, выберите несколько вопросов из набора данных K12.
  • эксплуатационное испытание
    • Введите команду:
      python scripts/test_reflection.py --model MM-Eureka-Zero-38B --data test.jsonl
      
    • Модель покажет процесс рассуждений, включая повторное изучение изображений.

Пример операционного процесса: решение математических задач

  1. Загрузка данных
    • Подготовьте изображение (например, задачу по геометрии) и соответствующее описание задачи, сохраненное в формате JSONL.
  2. операционная модель
    • расход или издержки inference.py Скрипт загружает MM-Eureka-8B и вводит данные.
  3. Посмотреть результаты
    • Модель выдает шаг вывода (<think> теги) и окончательный ответ (<answer> Теги), например:
      <think>先看图,圆的半径是 5,面积公式是 πr²,所以是 25π。</think>
      <answer>25π</answer>
      

предостережение

  • Если вам не хватает памяти GPU, измените размер партии или используйте MM-Eureka-8B (более компактную модель).
  • Пути к изображениям в данных должны быть действительными, иначе модель не сможет обработать изображение.

Выполнив эти шаги, вы сможете легко начать работу с MM-EUREKA и оценить ее возможности мультимодального рассуждения.

 

сценарий применения

  1. Учебные пособия
    MM-EUREKA анализирует картинки математических задач и дает подробные решения, подходящие для практики студентов или подготовки учителей.
  2. Научное исследование
    Исследователи могут использовать его для проверки эффективности обучения с подкреплением в мультимодальных задачах, улучшения алгоритмов или разработки новых моделей.
  3. Разработка AR/VR
    Разработчики могут использовать возможности визуального мышления для создания более интеллектуальных интерактивных приложений, таких как помощники для решения проблем в режиме реального времени.

 

QA

  1. Какие языки поддерживает MM-EUREKA?
    В настоящее время поддерживаются в основном английские и китайские графические данные, и модель имеет наилучший эффект вывода для этих двух языков.
  2. Насколько сильная конфигурация компьютера требуется?
    Рекомендуется не менее 16 ГБ оперативной памяти и графический процессор среднего уровня (например, NVIDIA GTX 1660). Для обучения больших моделей может потребоваться более мощное оборудование.
  3. Как внести свой код?
    Чтобы отправить Pull Request на GitHub, обратитесь к разделу CONTRIBUTING.md Руководящие принципы в этом документе.
© заявление об авторских правах

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

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

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