Light-R1: 360 моделей превосходного вывода с открытым исходным кодом для математической области

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

Light-R1 - это модель искусственного интеллекта с открытым исходным кодом, разработанная командой Qihoo360 (Qihoo360) и ориентированная на "цепь мыслей" (COT), длинную цепь рассуждений в математике. Она основана на модели Qwen2.5-32B-Instruct, и благодаря уникальному методу обучения на основе курса с контролируемой тонкой настройкой (SFT) и прямой оптимизацией предпочтений (DPO) она достигла высоких результатов 76,6 и 64,6 баллов на математических соревнованиях AIME24 и AIME25, соответственно, при затратах всего около 1000 долларов (6 часов обучения на 12 машинах H800), превзойдя Изюминкой Light-R1 является эффективный и экономичный прорыв в производительности, достигнутый благодаря старту с модели без возможности длинной цепочки выводов в сочетании с обеззараженными данными и методами слияния моделей. Проект не только выпускает модель, но и открывает все обучающие наборы данных и код, стремясь способствовать популярности и развитию длинноцепочечных моделей вывода.

Light-R1:360开源的数学领域超强推理模型

 

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

  • математическое мышление: Обеспечивает точное решение задач для сложных математических соревнований, таких как AIME.
  • Поддержка длинноцепочечных рассуждений: с помощью жесткого кодирования <think> метки, заставляя модель постепенно рассуждать о сложных проблемах.
  • совместное использование ресурсов с открытым исходным кодом: Доступны полные наборы обучающих данных SFT и DPO и обучающие скрипты на основе 360-LLaMA-Factory.
  • Эффективное развертывание рассуждений: Поддержка vLLM и фреймворки SGLang для оптимизации скорости вывода модели и использования ресурсов.
  • Инструменты для оценки моделей: Интеграция оценочного кода DeepScaleR, обеспечивающего результаты бенчмарков, таких как AIME24.
  • Дезактивация данных: Убедитесь, что учебные данные не загрязнены по сравнению с эталонами, такими как MATH-500, AIME24/25 и т.д., чтобы повысить справедливость.

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

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

Light-R1 - это проект с открытым исходным кодом, размещенный на GitHub, который позволяет пользователям получать и развертывать модели, выполняя следующие действия:

  1. Доступ к репозиториям GitHub
    Откройте браузер и введите URL-адрес https://github.com/Qihoo360/Light-R1переходит на главную страницу проекта. Страница содержит введение в модель, ссылки на наборы данных и описания кодов.
  2. склад клонов
    Клонируйте проект локально, введя следующую команду в терминале или командной строке:
git clone https://github.com/Qihoo360/Light-R1.git

После завершения клонирования перейдите в каталог проекта:

cd Light-R1
  1. Загрузить файлы модели
    Модель Light-R1-32B размещена на сайте Hugging Face. Доступ https://huggingface.co/Qihoo360/Light-R1-32BЕсли вы хотите скачать файл весов модели, следуйте инструкциям на этой странице. После загрузки поместите файл в подходящую директорию в вашем локальном хранилище (например. models/), точный путь можно найти в документации проекта.
  2. Установка зависимых сред
    Light-R1 рекомендует использовать vLLM или SGLang для выводов и требует установки соответствующих зависимостей. Возьмем для примера vLLM:
  • Убедитесь, что установлена версия Python 3.8 или более поздняя.
  • Установите vLLM:
    pip install vllm
    
  • Если требуется поддержка GPU, убедитесь, что настроена CUDA (рекомендуется 12 устройств H800 или эквивалентных).
  1. Подготовьте наборы данных (необязательно)
    Если вам нужно повторить обучение или выполнить его тонкую настройку, вы можете загрузить наборы данных SFT и DPO со страницы GitHub (ссылка в Curriculum SFT & DPO datasets (Часть). Распакуйте его и поместите в data/ Каталог.

Основные функции

1. Математические рассуждения с Light-R1

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

  • Запуск службы рассуждений
    Перейдите в каталог проекта в терминале и выполните следующую команду, чтобы запустить службу vLLM inference service:
python -m vllm.entrypoints.api_server --model path/to/Light-R1-32B

среди них path/to/Light-R1-32B Замените его на путь к реальному файлу модели. При запуске служба по умолчанию прослушивает локальный порт (обычно 8000).

  • Отправить запрос на вывод
    Используйте скрипт Python или команду curl для отправки математических вопросов модели. В качестве примера возьмем команду curl:
curl http://localhost:8000/v1/completions 
-H "Content-Type: application/json" 
-d '{
"model": "Light-R1-32B",
"prompt": "<think>Solve the equation: 2x + 3 = 7</think>",
"max_tokens": 200
}'

Модель возвращает пошаговые рассуждения и ответы:

{
"choices": [{
"text": "<think>First, subtract 3 from both sides: 2x + 3 - 3 = 7 - 3, so 2x = 4. Then, divide both sides by 2: 2x / 2 = 4 / 2, so x = 2.</think> The solution is x = 2."
}]
}
  • предостережение
  • <think> Метки жестко заданы и должны быть включены в исходные данные, чтобы запустить вывод длинных цепочек.
  • Для задач уровня AIME рекомендуется добавить max_tokens(например, 500), чтобы убедиться, что рассуждения завершены.

2. обучение модели репликации

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

  • Подготовка среды для обучения
    Используйте фреймворк 360-LLaMA-Factory и установите зависимости:
pip install -r train-scripts/requirements.txt
  • Запуск SFT Stage 1
    компилятор train-scripts/sft_stage1.shУбедитесь, что путь к модели и путь к набору данных верны, а затем выполните команду:
bash train-scripts/sft_stage1.sh

Этот этап использует 76 тыс. наборов данных и занимает около 3 часов (12 H800).

  • Запуск SFT Stage 2
    Аналогично, бегите:
bash train-scripts/sft_stage2.sh

Используйте более жесткие наборы данных 3k для повышения производительности модели.

  • Выполнение DPO
    Реализация:
bash train-scripts/dpo.sh

DPO дополнительно оптимизирует возможности вывода на основе результатов SFT Stage 2.

  • Объединение моделей
    Используйте предоставленный скрипт слияния (например. merge_models.py), объединяя модели SFT и DPO:
python merge_models.py --sft-model sft_stage2 --dpo-model dpo --output Light-R1-32B

3. оценка эффективности модели

Light-R1 предоставляет инструменты для тестирования эталонов, таких как AIME24:

  • Запустите сценарий оценки
    существовать deepscaler-release/ каталогизировать, исполнять:
python evaluate.py --model Light-R1-32B --benchmark AIME24

Результаты будут заноситься в журнал, а средний балл должен быть близок к 76,6 в 64 случаях.

Основные функции

Оптимизация длинной цепочки выводов

Light-R1 Принято <think> ответить пением </think> Специальная маркировка, обеспечивающая пошаговое объяснение модели при решении математической задачи. Например, ввод:

<think>Find the number of positive integers less than 100 that are divisible by 3 or 5.</think>

Выход модели:

<think>Let’s use inclusion-exclusion. Numbers divisible by 3: 99 ÷ 3 = 33. Numbers divisible by 5: 99 ÷ 5 = 19. Numbers divisible by 15 (LCM of 3 and 5): 99 ÷ 15 = 6. Total = 33 + 19 - 6 = 46.</think> Answer: 46.

Защитные меры по обеззараживанию данных

Обучающие данные тщательно обеззараживаются для обеспечения справедливости в таких бенчмарках, как AIME24/25. Пользователь может проверить набор данных (data/ (Каталог) Убедитесь в отсутствии дубликатов тем.

Примеры недорогого обучения

Light-R1 демонстрирует возможность эффективного обучения, и пользователи могут обратиться к обучающим скриптам, чтобы адаптировать модель для других областей (например, физики).

Советы и рекомендации

  • Повышение точности рассуждений: Увеличить max_tokens или усредненный по нескольким прогонам.
  • Проблемы отладки: Просмотр журналов оценки для анализа процесса рассуждений модели по конкретным темам.
  • Поддержка общества: Присоединяйтесь к группе WeChat на странице GitHub, чтобы общаться с разработчиками.
© заявление об авторских правах

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

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

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