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

Список функций
- Поддержка мультимодальных рассуждений: возможность одновременной обработки изображений и текста улучшает способность модели понимать сложные проблемы.
- Обучение с подкреплением на основе правил: обучение моделей по простым правилам для снижения зависимости от больших объемов данных.
- Визуальные озарения: модели могут пересматривать изображения в своих рассуждениях, имитируя процесс человеческого размышления.
- Open Source Complete Pipeline: предоставляет код, наборы данных и обучающий поток для легкого воспроизведения и улучшения.
- Высокая эффективность использования данных: производительность сопоставима с моделями, обученными на миллионах данных при небольшом объеме данных (например, 8К или 54К графических пар).
- Поддержка математических рассуждений: специально оптимизирована для решения математических задач в учебных и академических сценариях.
Использование помощи
MM-EUREKA - это проект с открытым исходным кодом на GitHub, который в основном ориентирован на пользователей с определенными основами программирования, особенно на исследователей и разработчиков. Ниже приводится подробное описание установки и использования этого инструмента, включая основные особенности процесса работы.
Процесс установки
- Подготовка среды
- Убедитесь, что на вашем компьютере установлен Python 3.8 или более поздней версии. Это можно сделать с помощью команды
python --version
Проверьте. - Для клонирования кода необходимо установить Git. Если у вас нет Git'а, вы можете скачать и установить его с официального сайта.
- Рекомендуется для систем Linux (например, Ubuntu 20.04 или 22.04), пользователям Windows может потребоваться дополнительная настройка.
- Убедитесь, что на вашем компьютере установлен Python 3.8 или более поздней версии. Это можно сделать с помощью команды
- Клонирование кода проекта
- Откройте терминал и введите следующую команду, чтобы загрузить исходный код MM-EUREKA:
git clone https://github.com/ModalMinds/MM-EUREKA.git
- После завершения загрузки перейдите в папку с проектом:
cd MM-EUREKA
- Откройте терминал и введите следующую команду, чтобы загрузить исходный код MM-EUREKA:
- Установка зависимостей
- Выполните следующую команду для установки основных зависимостей:
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
- Выполните следующую команду для установки основных зависимостей:
- Скачать набор данных
- Проект предоставляет обучающие данные MM-Eureka-Dataset, которые можно загрузить с GitHub Releases.
- После загрузки распакуйте файл и измените данные по мере необходимости в
image_urls
поле, указывающее на путь к локальному изображению.
- Проверка установки
- После завершения установки запустите
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
, помещенный в каталог проекта.
- Данные должны быть организованы в формате 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
- Модель покажет процесс рассуждений, включая повторное изучение изображений.
- Введите команду:
Пример операционного процесса: решение математических задач
- Загрузка данных
- Подготовьте изображение (например, задачу по геометрии) и соответствующее описание задачи, сохраненное в формате JSONL.
- операционная модель
- расход или издержки
inference.py
Скрипт загружает MM-Eureka-8B и вводит данные.
- расход или издержки
- Посмотреть результаты
- Модель выдает шаг вывода (
<think>
теги) и окончательный ответ (<answer>
Теги), например:<think>先看图,圆的半径是 5,面积公式是 πr²,所以是 25π。</think> <answer>25π</answer>
- Модель выдает шаг вывода (
предостережение
- Если вам не хватает памяти GPU, измените размер партии или используйте MM-Eureka-8B (более компактную модель).
- Пути к изображениям в данных должны быть действительными, иначе модель не сможет обработать изображение.
Выполнив эти шаги, вы сможете легко начать работу с MM-EUREKA и оценить ее возможности мультимодального рассуждения.
сценарий применения
- Учебные пособия
MM-EUREKA анализирует картинки математических задач и дает подробные решения, подходящие для практики студентов или подготовки учителей. - Научное исследование
Исследователи могут использовать его для проверки эффективности обучения с подкреплением в мультимодальных задачах, улучшения алгоритмов или разработки новых моделей. - Разработка AR/VR
Разработчики могут использовать возможности визуального мышления для создания более интеллектуальных интерактивных приложений, таких как помощники для решения проблем в режиме реального времени.
QA
- Какие языки поддерживает MM-EUREKA?
В настоящее время поддерживаются в основном английские и китайские графические данные, и модель имеет наилучший эффект вывода для этих двух языков. - Насколько сильная конфигурация компьютера требуется?
Рекомендуется не менее 16 ГБ оперативной памяти и графический процессор среднего уровня (например, NVIDIA GTX 1660). Для обучения больших моделей может потребоваться более мощное оборудование. - Как внести свой код?
Чтобы отправить Pull Request на GitHub, обратитесь к разделуCONTRIBUTING.md
Руководящие принципы в этом документе.
© заявление об авторских правах
Авторское право на статью Круг обмена ИИ Пожалуйста, не воспроизводите без разрешения.
Похожие статьи
Нет комментариев...