R1-Onevision: визуальная языковая модель с открытым исходным кодом, поддерживающая мультимодальные рассуждения

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

R1-Onevision - это мультимодальная модель большого языка с открытым исходным кодом, разработанная командой Fancy-MLLM, ориентированная на глубокое сочетание зрения и языка, способная обрабатывать мультимодальные входные данные, такие как изображения и текст, и демонстрирующая превосходство в области визуального мышления, понимания изображений и решения математических задач. На основе Qwen2.5-VL Благодаря оптимизации модели, R1-Onevision превосходит сопоставимые модели, такие как Qwen2.5-VL-7B, в нескольких бенчмарках и даже бросает вызов возможностям GPT-4V. Проект размещен на GitHub и предоставляет веса моделей, наборы данных и код для разработчиков, исследователей для академических исследований или практического применения.2025 С момента выхода 24 февраля он привлек большое внимание и особенно хорошо показал себя в задачах визуального рассуждения.

R1-Onevision:支持多模态推理的开源视觉语言模型

 

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

  • мультимодальный вывод: Поддержка сложных задач рассуждения, сочетающих изображения и текст, таких как решение математических задач и анализ научных проблем.
  • графическое понимание: Способность анализировать содержание изображения и составлять подробное описание или отвечать на соответствующие вопросы.
  • Поддержка наборов данных: Предоставляет наборы данных R1-Onevision, содержащие многодоменные данные, такие как естественные сцены, OCR, диаграммы и многое другое.
  • обучение модели: Поддерживает полномодельную контролируемую тонкую настройку (SFT) с использованием фреймворка LLama-Factory с открытым исходным кодом.
  • Оценка высокой производительности: Демонстрируйте лучшие рассуждения, чем ваши сверстники, в таких тестах, как Mathvision, Mathverse и т.д.
  • ресурс с открытым исходным кодом: Предоставьте модельные веса и код для облегчения вторичной разработки или исследования.

 

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

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

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

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

  • операционная система: рекомендуется Linux (например, Ubuntu) или Windows (с WSL).
  • требования к оборудованию: Для поддержки вывода и обучения модели рекомендуется использовать графический процессор NVIDIA (не менее 16 ГБ видеопамяти, например, A100 или RTX 3090).
  • Программно-зависимые::
    • Python 3.8 или более поздняя версия.
    • PyTorch (мы рекомендуем установить версию для GPU, см. сайт PyTorch).
    • Git (для клонирования репозиториев кода).

2. Клонирование складов

Откройте терминал и выполните следующую команду, чтобы получить код проекта R1-Onevision:

git clone https://github.com/Fancy-MLLM/R1-Onevision.git
cd R1-Onevision

3. Установка зависимостей

Проект опирается на несколько библиотек Python, которые можно установить с помощью следующих команд:

pip install -r requirements.txt

Если вам нужно ускорить процесс рассуждений, рекомендуем установить Flash Attention:

pip install flash-attn --no-build-isolation

4. Загрузка весов модели

R1-Onevision предоставляет предварительно обученные модели, которые можно загрузить с сайта Hugging Face:

  • Посетите страницу модели Hugging Face.
  • Загрузите файл модели (например. R1-Onevision-7B) и распакуйте его в каталог проекта под именем models папку (ее необходимо создать вручную).

5. среда конфигурации

Убедитесь, что CUDA правильно установлена и совместима с PyTorch, что можно проверить, выполнив следующий код:

import torch
print(torch.cuda.is_available())  # 输出 True 表示 GPU 可用

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

Основы рассуждения: анализ изображений и текстов

R1-Onevision поддерживает запуск задач вывода с помощью скриптов Python. Ниже приведен пример загрузки модели и обработки изображений и текста:

  1. Написание сценариев рассуждений::
    Создайте файл в корневом каталоге проекта (например. infer.py), введите следующий код:
from transformers import AutoProcessor, Qwen2_5_VLForConditionalGeneration
import torch
from qwen_vl_utils import process_vision_info
# 加载模型和处理器
MODEL_ID = "models/R1-Onevision-7B"  # 替换为模型实际路径
processor = AutoProcessor.from_pretrained(MODEL_ID, trust_remote_code=True)
model = Qwen2_5_VLForConditionalGeneration.from_pretrained(
MODEL_ID, trust_remote_code=True, torch_dtype=torch.bfloat16
).to("cuda").eval()
# 输入图像和文本
messages = [
{
"role": "user",
"content": [
{"type": "image", "image": "path/to/your/image.jpg"},  # 替换为本地图像路径
{"type": "text", "text": "请描述这张图片的内容并回答:图中有几个人?"}
]
}
]
# 处理输入
inputs = processor(messages, return_tensors="pt").to("cuda")
outputs = model.generate(**inputs, max_new_tokens=512)
response = processor.decode(outputs[0], skip_special_tokens=True)
print(response)
  1. Выполнение сценариев::
python infer.py

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

Характеристика: Математические рассуждения

R1-Onevision отлично справляется с математическими визуальными рассуждениями. Предполагая, что картинка содержит математическую задачу (например, "2x + 3 = 7, найдите x"), можно выполнить следующие действия:

  1. модификации messages Текст на картинке гласит: "Пожалуйста, ответьте на математический вопрос на этой картинке и приведите вычисления".
  2. Запустите сценарий, и модель выдаст результаты, похожие на следующие:
图片中的题目是:2x + 3 = 7
解题过程:
1. 两边同时减去 3:2x + 3 - 3 = 7 - 3
2. 简化得:2x = 4
3. 两边同时除以 2:2x / 2 = 4 / 2
4. 得出:x = 2
最终答案:x = 2

Использование набора данных

R1-Onevision предоставляет специальные наборы данных, которые можно использовать для тонкой настройки или тестирования модели:

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

Тонкая настройка моделирования

Если требуется пользовательская модель, то ее тонкая настройка под надзором может быть выполнена с помощью LLama-Factory:

  1. Установите LLama-Factory:
git clone https://github.com/hiyouga/LLaMA-Factory.git
cd LLaMA-Factory
pip install -r requirements.txt
  1. Настройте параметры обучения (см. документацию по проекту) и запустите:
python train.py --model_name models/R1-Onevision-7B --dataset path/to/dataset

Краткое описание процесса эксплуатации

  • анализ изображений: Подготовьте путь к изображению, напишите сценарий и запустите его, чтобы получить результат.
  • математическое мышление: Загрузите изображение темы, задайте вопрос и просмотрите подробный ответ.
  • Пользовательская разработка: Загрузите набор данных и модель и настройте параметры для обучения.
    Не забывайте об использовании памяти GPU: для обеспечения плавной работы рекомендуется не менее 16 ГБ видеопамяти.
© заявление об авторских правах

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

Devin:自主完成软件开发任务的AI软件工程师,轻松完成复杂编程任务(付费)

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

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