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 является эффективный и экономичный прорыв в производительности, достигнутый благодаря старту с модели без возможности длинной цепочки выводов в сочетании с обеззараженными данными и методами слияния моделей. Проект не только выпускает модель, но и открывает все обучающие наборы данных и код, стремясь способствовать популярности и развитию длинноцепочечных моделей вывода.

Список функций
- математическое мышление: Обеспечивает точное решение задач для сложных математических соревнований, таких как AIME.
- Поддержка длинноцепочечных рассуждений: с помощью жесткого кодирования
<think>
метки, заставляя модель постепенно рассуждать о сложных проблемах. - совместное использование ресурсов с открытым исходным кодом: Доступны полные наборы обучающих данных SFT и DPO и обучающие скрипты на основе 360-LLaMA-Factory.
- Эффективное развертывание рассуждений: Поддержка vLLM и фреймворки SGLang для оптимизации скорости вывода модели и использования ресурсов.
- Инструменты для оценки моделей: Интеграция оценочного кода DeepScaleR, обеспечивающего результаты бенчмарков, таких как AIME24.
- Дезактивация данных: Убедитесь, что учебные данные не загрязнены по сравнению с эталонами, такими как MATH-500, AIME24/25 и т.д., чтобы повысить справедливость.
Использование помощи
Процесс приобретения и установки
Light-R1 - это проект с открытым исходным кодом, размещенный на GitHub, который позволяет пользователям получать и развертывать модели, выполняя следующие действия:
- Доступ к репозиториям GitHub
Откройте браузер и введите URL-адресhttps://github.com/Qihoo360/Light-R1
переходит на главную страницу проекта. Страница содержит введение в модель, ссылки на наборы данных и описания кодов. - склад клонов
Клонируйте проект локально, введя следующую команду в терминале или командной строке:
git clone https://github.com/Qihoo360/Light-R1.git
После завершения клонирования перейдите в каталог проекта:
cd Light-R1
- Загрузить файлы модели
Модель Light-R1-32B размещена на сайте Hugging Face. Доступhttps://huggingface.co/Qihoo360/Light-R1-32B
Если вы хотите скачать файл весов модели, следуйте инструкциям на этой странице. После загрузки поместите файл в подходящую директорию в вашем локальном хранилище (например.models/
), точный путь можно найти в документации проекта. - Установка зависимых сред
Light-R1 рекомендует использовать vLLM или SGLang для выводов и требует установки соответствующих зависимостей. Возьмем для примера vLLM:
- Убедитесь, что установлена версия Python 3.8 или более поздняя.
- Установите vLLM:
pip install vllm
- Если требуется поддержка GPU, убедитесь, что настроена CUDA (рекомендуется 12 устройств H800 или эквивалентных).
- Подготовьте наборы данных (необязательно)
Если вам нужно повторить обучение или выполнить его тонкую настройку, вы можете загрузить наборы данных 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, чтобы общаться с разработчиками.
© заявление об авторских правах
Авторское право на статью Круг обмена ИИ Пожалуйста, не воспроизводите без разрешения.
Похожие статьи
Нет комментариев...