Добавить в корзинуПозвонить
Найти в Дзене
SunN1nja

Как обучать ИИ, который понимает не только текст, но и изображения: полный конвейер Open-MM-RL, RLVR и GRPO

Искусственный интеллект быстро переходит от обычных текстовых ответов к полноценному мультимодальному мышлению. Современные модели уже умеют смотреть на изображения, читать схемы, анализировать графики, понимать таблицы, диаграммы и математические формулы. Но между «увидеть картинку» и «правильно решить задачу по картинке» есть огромная разница. Модель может распознать объект на изображении, но это ещё не значит, что она умеет рассуждать. Особенно если перед ней не просто фотография, а сложная STEM-задача: график, геометрическая фигура, научная схема или изображение, где нужно соединить визуальную информацию с текстом. Именно здесь появляется задача мультимодального обучения с проверяемыми наградами — RLVR. Расшифровывается это как Reinforcement Learning with Verifiable Rewards. Если сказать проще, это обучение с подкреплением, где модель получает награду не за красивый ответ, а за проверяемо правильный результат. Для таких экспериментов можно использовать датасет TuringEnterprises/Ope
Оглавление
Как обучать ИИ, который понимает не только текст, но и изображения: полный конвейер Open-MM-RL, RLVR и GRPO
Как обучать ИИ, который понимает не только текст, но и изображения: полный конвейер Open-MM-RL, RLVR и GRPO

Искусственный интеллект быстро переходит от обычных текстовых ответов к полноценному мультимодальному мышлению.

Современные модели уже умеют смотреть на изображения, читать схемы, анализировать графики, понимать таблицы, диаграммы и математические формулы. Но между «увидеть картинку» и «правильно решить задачу по картинке» есть огромная разница.

Модель может распознать объект на изображении, но это ещё не значит, что она умеет рассуждать. Особенно если перед ней не просто фотография, а сложная STEM-задача: график, геометрическая фигура, научная схема или изображение, где нужно соединить визуальную информацию с текстом.

Именно здесь появляется задача мультимодального обучения с проверяемыми наградами — RLVR.

Расшифровывается это как Reinforcement Learning with Verifiable Rewards. Если сказать проще, это обучение с подкреплением, где модель получает награду не за красивый ответ, а за проверяемо правильный результат.

Для таких экспериментов можно использовать датасет TuringEnterprises/Open-MM-RL. Он подходит для задач мультимодального рассуждения: модель получает текстовый вопрос, одно или несколько изображений и должна прийти к правильному ответу.

Разберём полный конвейер: от загрузки датасета и анализа его структуры до создания функции награды, подготовки промптов для Vision-Language моделей, тестирования SmolVLM и экспорта данных в формат, пригодный для дальнейшего GRPO-обучения.

Зачем нужен мультимодальный RLVR

Обычные языковые модели обучаются на тексте. Они предсказывают продолжение фразы, отвечают на вопросы, пишут код и объясняют сложные темы.

Но мультимодальные модели работают в более сложной среде.

Им нужно одновременно учитывать:

  • текст вопроса;
  • одно или несколько изображений;
  • визуальные детали;
  • математические обозначения;
  • пространственные связи;
  • итоговый ответ, который можно проверить.

Например, если модель решает задачу по графику, ей мало просто описать картинку. Она должна понять, что изображено, извлечь нужные данные и выдать финальный результат.

Именно поэтому в таких задачах особенно важна проверяемая награда.

Если ответ числовой, его можно сравнить с эталоном.

Если ответ записан формулой, его можно проверить через символьную математику.

Если ответ содержит LaTeX, его можно привести к формату, пригодному для вычисления.

Так появляется практический RLVR-конвейер для мультимодальных моделей.

Установка библиотек и загрузка Open-MM-RL

Работа начинается с установки необходимых библиотек. Здесь нужны инструменты для загрузки датасета, обработки изображений, анализа данных, визуализации, символьной математики и работы с моделями из Hugging Face.

Установка библиотек и загрузка Open-MM-RL
Установка библиотек и загрузка Open-MM-RL

После загрузки можно сразу посмотреть количество строк, структуру полей и ключи первого элемента. Это важно, потому что мультимодальные датасеты обычно содержат не только текст, но и изображения, метаданные, домены задач и эталонные ответы.

Что находится внутри датасета

Перед обучением модели полезно понять, с какими данными предстоит работать.

Для этого датасет переводится в DataFrame, но колонка с изображениями временно убирается. Дальше можно посчитать количество изображений в каждом примере, длину вопросов и длину ответов.

Датасет
Датасет

Такой анализ показывает, какие домены представлены в наборе данных, какие форматы встречаются чаще всего и насколько сложными являются вопросы.

Для мультимодального обучения это особенно важно. Если в датасете много задач с несколькими изображениями, модель должна уметь сопоставлять информацию между ними. Если часто встречаются длинные вопросы, промпт нужно строить так, чтобы модель не теряла важный контекст.

Визуализация распределений

Одних чисел мало. Чтобы быстрее понять структуру набора данных, удобно построить несколько графиков:

Визуализация распределений
Визуализация распределений

Эти графики помогают увидеть распределение примеров по доменам, типам форматов и количеству изображений.

Для подготовки RL-конвейера это не просто статистика. Если датасет сильно перекошен в сторону одного типа задач, модель может начать лучше справляться именно с ним и хуже работать на других доменах.

Анализ изображений

Так как речь идёт о мультимодальных данных, нужно посмотреть не только текст, но и сами изображения: их размеры, режимы и общее количество пикселей.

Анализ изображений
Анализ изображений

Это позволяет заранее понять, насколько тяжёлыми будут изображения для обработки и какие преобразования могут понадобиться перед обучением.

Просмотр реальных примеров

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

Просмотр реальных примеров
Просмотр реальных примеров

Такой просмотр нужен не для красоты. Он помогает увидеть, какие именно задачи предстоит решать модели.

Где-то ответ зависит от визуального объекта. Где-то нужно читать формулы. Где-то необходимо анализировать схему. А где-то вопрос выглядит текстовым, но без изображения ответить на него невозможно.

Поиск LaTeX в вопросах и ответах

Многие задачи в Open-MM-RL связаны с математикой и STEM-рассуждениями. Поэтому важно проверить, как часто в вопросах и ответах встречаются LaTeX-блоки.

LaTeX
LaTeX

Если в данных много LaTeX, обычного текстового сравнения ответов будет недостаточно. Один и тот же математический результат может быть записан разными способами.

Например:

-74/4
-74/4

и

-\frac{71}{4}
-\frac{71}{4}

Для человека это один и тот же ответ. Но для простой строковой проверки это разные строки.

Поэтому дальше нужна более умная система оценки.

Классификация типов ответов

Чтобы понять, какие ответы встречаются в датасете, можно разделить их на несколько типов: числа, символьные выражения, числовые выражения и обычный текст.

Классификация типов ответов
Классификация типов ответов

Такая классификация помогает понять, насколько сложной должна быть функция награды. Если ответы в основном текстовые, нужен один подход. Если много формул и дробей — другой.

Система проверяемой награды

Главная часть RLVR-конвейера — функция, которая умеет автоматически оценивать ответ модели.

Сначала нужно извлечь финальный ответ из текста. Модель может писать рассуждение, пояснение, промежуточные вычисления, а затем финальную строку. Поэтому используются несколько шаблонов:

Система проверяемой награды
Система проверяемой награды

Если модель пишет:

The answer is \boxed{120}

система должна извлечь именно:

120

Если модель пишет:

Final answer: -71/4

нужно взять только финальный результат.

Преобразование LaTeX в SymPy

Чтобы сравнивать математические выражения, LaTeX нужно привести к более удобному виду.

Преобразование LaTeX в SymPy
Преобразование LaTeX в SymPy

Такой преобразователь не является полноценным LaTeX-парсером, но для практической оценки ответов он уже полезен. Он умеет обрабатывать дроби, корни, степени, число π и базовые математические обозначения.

Функция оценки ответа

Теперь можно собрать основную функцию награды.

Она возвращает значение от 0 до 1:

  • 1.0 — ответ засчитан как правильный;
  • 0.5 — частичное совпадение;
  • 0.0 — ответ неверный.
Функция оценки ответа
Функция оценки ответа

Смысл этой функции простой: сначала проверяется точное совпадение, затем числовое, затем символьное. Если всё это не сработало, остаётся частичная проверка.

Такой подход особенно полезен для мультимодальных задач, где ответы могут быть представлены в разных форматах.

Проверка работы оценщика

Перед использованием функцию награды нужно протестировать на простых примерах.

Проверка работы оценщика
Проверка работы оценщика

Такая проверка показывает, что система умеет засчитывать разные формы одного и того же ответа.

Это важный момент: в RLVR модель не должна получать штраф только потому, что записала правильный ответ в другом математическом формате.

Промпт для Vision-Language модели

Чтобы модель решала задачи одинаково, нужен единый формат промпта.

Сначала задаётся системная инструкция:

SYSTEM
SYSTEM

Дальше создаётся функция, которая добавляет теги изображений и сам вопрос:

-16

Финальная строка особенно важна:

Final answer: <your answer>

Именно по ней потом удобно извлекать итоговый ответ и начислять награду.

Тестирование SmolVLM

Если доступна видеокарта, можно проверить пайплайн на реальной Vision-Language модели. В качестве примера используется HuggingFaceTB/SmolVLM-Instruct.

HuggingFaceTB/SmolVLM-Instruct
HuggingFaceTB/SmolVLM-Instruct

Если CUDA недоступна, инференс можно пропустить. Остальная часть конвейера всё равно остаётся полезной: датасет можно анализировать, промпты можно готовить, а данные можно экспортировать для будущего обучения.

Генерация ответа моделью

Для запуска модели создаётся функция vlm_solve.

Она берёт изображения, преобразует их в RGB, добавляет текстовый промпт и отправляет всё в модель.

Генерация ответа моделью
Генерация ответа моделью

После этого можно взять несколько случайных примеров, получить ответы модели и оценить их через функцию grade.

-19

Так можно быстро проверить, насколько хорошо модель справляется с выбранными задачами.

Экспорт данных для будущего обучения

После анализа датасет можно подготовить для дальнейшего обучения.

Сначала создаются папки для обработанных данных и изображений:

-20

Затем каждое изображение сохраняется на диск, а для каждого примера формируется запись с промптом, эталонным ответом и путями к изображениям.

-21

После этого данные сохраняются в JSONL:

-22

Так получается структура, которую можно использовать в будущих экспериментах с мультимодальным RL.

Подготовка к GRPO

Последний блок показывает, как данные можно связать с GRPO-подходом.

GRPO работает с несколькими вариантами ответов для одного промпта. Затем ответы оцениваются, и на основе группы наград вычисляется относительное преимущество.

Для демонстрации можно использовать имитацию нескольких ответов модели:

-23

Дальше вычисляются преимущества:

-24

И запускается пример на первом элементе датасета:

-25

Главная идея здесь простая: вместо одного ответа модель генерирует несколько вариантов, каждый вариант получает награду, а затем обучение усиливает те ответы, которые оказались лучше внутри своей группы.

Что даёт такой конвейер

В результате получается полный рабочий маршрут для мультимодального RLVR:

  • загрузка Open-MM-RL;
  • анализ структуры датасета;
  • изучение доменов, форматов и изображений;
  • просмотр реальных примеров;
  • классификация типов ответов;
  • обработка LaTeX;
  • функция проверяемой награды;
  • единый промпт для Vision-Language модели;
  • тестирование SmolVLM;
  • экспорт данных в JSONL;
  • подготовка к GRPO.

Такой подход полезен тем, что превращает мультимодальный датасет не просто в набор примеров, а в полноценную основу для обучения моделей с проверяемыми наградами.

Модель не просто генерирует красивый ответ. Её результат можно автоматически проверить: численно, символьно или текстово. А значит, появляется возможность строить более надёжные мультимодальные системы, которые не только видят изображения, но и умеют рассуждать по ним.