X-R1: недорогое обучение моделей 0,5B на распространенных устройствах
Общее введение
X-R1 - это фреймворк для обучения с подкреплением, открытый на GitHub командой dhcode-cpp, цель которого - предоставить разработчикам недорогой и эффективный инструмент для обучения моделей на основе сквозного обучения с подкреплением. Проект поддерживается DeepSeek-R1 Вдохновленный X-R1 и open-r1, X-R1 фокусируется на создании обучающей среды, с которой легко начать работу и которая не требует больших ресурсов. Основной продукт X-R1 - R1-Zero, модель с ковариацией 0,5B, которая, как утверждается, может эффективно обучаться на обычном оборудовании. Она поддерживает несколько базовых моделей (0,5B, 1,5B, 3B) и улучшает вывод модели и соответствие формату с помощью обучения с подкреплением. Проект разработан на C++ и сочетает в себе vLLM Системы выводов и GRPO Алгоритмы для математических рассуждений, обработки китайских задач и других сценариев. Независимо от того, являетесь ли вы индивидуальным разработчиком или исследователем, X-R1 представляет собой вариант с открытым исходным кодом, который стоит попробовать.

Список функций
- Недорогое обучение моделей: Поддержка обучения моделей R1-Zero с параметрами 0.5B на обычном оборудовании (например, 4 графических процессора 3090).
- Оптимизация обучения: Повышение способности к выводу и точности формата вывода моделей с помощью сквозного обучения с подкреплением (RL).
- Поддержка нескольких моделейСовместим с 0,5B, 1,5B, 3B и другими базовыми моделями, гибко адаптируется к различным требованиям задачи.
- Выборка с ускорением на GPU: Интеграция vLLM в качестве онлайнового механизма вывода для быстрой выборки данных GRPO.
- Китайское математическое мышление: Поддерживает задачи математического мышления в китайской языковой среде, генерируя четкие ответы.
- Оценка бенчмаркинга: Предоставляет скрипты benchmark.py для оценки точности и возможностей вывода формата модели.
- Конфигурация с открытым исходным кодом: Предоставьте подробный конфигурационный файл (например, zero3.yaml) для заданных пользователем параметров обучения.
Использование помощи
X-R1 - это проект с открытым исходным кодом, основанный на GitHub. Для его установки и использования пользователям необходимы основы программирования и аппаратное окружение. Ниже представлено подробное руководство по установке и использованию, которое поможет вам быстро начать работу.
Процесс установки
- Подготовка к защите окружающей среды
- требования к оборудованию: Не менее 1 графического процессора NVIDIA (например, 3090), для оптимальной производительности рекомендуется 4; процессор поддерживает набор инструкций AVX/AVX2; не менее 16 ГБ оперативной памяти.
- операционная система: Linux (например, Ubuntu 20.04+), Windows (требуется поддержка WSL2) или macOS.
- Зависимые инструменты: Установите Git, Python 3.8+, CUDA Toolkit (соответствующий GPU, например, 11.8), компилятор C++ (например, g++).
sudo apt update sudo apt install git python3 python3-pip build-essential
- Драйвер графического процессора: Убедитесь, что драйвер NVIDIA установлен и соответствует версии CUDA, запустив программу
nvidia-smi
Проверьте.
- проект клонирования
Выполните следующую команду в терминале, чтобы загрузить репозиторий X-R1 локально:git clone https://github.com/dhcode-cpp/X-R1.git cd X-R1
- Установка зависимостей
- Установите зависимости Python:
pip install -r requirements.txt
- Установите Accelerate (для распределенного обучения):
pip install accelerate
- Установите зависимости Python:
- Конфигурационная среда
- Отредактируйте профиль в соответствии с количеством графических процессоров (например.
recipes/zero3.yaml
), установитьnum_processes
(например, 3, что означает, что 3 из 4 графических процессоров используются для обучения и 1 для вычисления vLLM). - Пример конфигурации:
num_processes: 3 per_device_train_batch_size: 1 num_generations: 3
- Отредактируйте профиль в соответствии с количеством графических процессоров (например.
- Проверка установки
Выполните следующую команду, чтобы проверить, правильно ли настроена среда:accelerate config
Следуйте подсказкам, чтобы выбрать оборудование и параметры распространения.
Основные функции
1. Обучение модели
- обучение грунтовке: Обучите модель R1-Zero с помощью алгоритма GRPO. Выполните следующую команду:
ACCELERATE_LOG_LEVEL=info accelerate launch \ --config_file recipes/zero3.yaml \ --num_processes=3 \ src/x_r1/grpo.py \ --config recipes/X_R1_zero_0dot5B_config.yaml \ > ./output/x_r1_0dot5B_sampling.log 2>&1
- Функциональное описание: Эта команда запускает обучение модели 0.5B, и журналы сохраняются в файле
output
Папка. В процессе обучения будет использоваться обучение с подкреплением, чтобы оптимизировать способность модели к рассуждениям. - предостережение: Убедитесь, что размер глобальной партии (
num_processes * per_device_train_batch_size
) может бытьnum_generations
Интегрировать, иначе будет сообщено об ошибке.
2. китайские математические рассуждения
- Настройка заданий по математике: Используйте файл конфигурации, предназначенный для китайского языка:
ACCELERATE_LOG_LEVEL=info accelerate launch \ --config_file recipes/zero3.yaml \ --num_processes=3 \ src/x_r1/grpo.py \ --config recipes/examples/mathcn_zero_3B_config.yaml \ > ./output/mathcn_3B_sampling.log 2>&1
- рабочий процесс::
- Подготовьте набор данных по китайским математическим задачам (например, в формате JSON).
- Измените путь к набору данных в файле конфигурации.
- Выполните приведенную выше команду, и модель сгенерирует процесс вывода и выведет его в журнал.
- Основные функции: Поддержка генерации подробных шагов ответа на китайском языке, подходящих для образовательных сценариев.
3. бенчмаркинг
- Оперативная оценка: Использование
benchmark.py
Проверьте работоспособность модели:CUDA_VISIBLE_DEVICES=0,1 python ./src/x_r1/benchmark.py \ --model_name='xiaodongguaAIGC/X-R1-0.5B' \ --dataset_name='HuggingFaceH4/MATH-500' \ --output_name='./output/result_benchmark_math500' \ --max_output_tokens=1024 \ --num_gpus=2
- Интерпретация результатов: Сценарий выводит метрику точности и метрику формата и сохраняет результаты в виде JSON-файла.
- Сценарии использования: Проверка эффективности модели в математических задачах и оптимизация параметров обучения.
навык работы
- Просмотр журнала: После завершения обучения или тестирования проверьте файл журнала (например, файл
x_r1_0dot5B_sampling.log
), чтобы отладить проблему. - Оптимизация работы нескольких графических процессоров: Если доступно больше графических процессоров, вы можете настроить
num_processes
ответить пениемnum_gpus
параметры для повышения эффективности параллельной работы. - обнаружение ошибок: Если возникла ошибка размера партии, отрегулируйте
per_device_train_batch_size
ответить пениемnum_generations
Сделайте его подходящим.
Рекомендации по использованию
- Для начального использования рекомендуется начать с модели небольшого масштаба (например, 0,5B), а затем, когда вы освоитесь с процессом, перейти к модели 3B.
- Регулярно проверяйте свой репозиторий GitHub на наличие обновлений, новых функций и исправлений.
- За поддержкой обращайтесь к разработчику по адресу dhcode95@gmail.com.
Выполнив эти действия, вы сможете легко настроить среду X-R1 и начать обучение или тестирование моделей. Для исследований или разработок эта среда обеспечивает эффективную поддержку.
© заявление об авторских правах
Авторское право на статью Круг обмена ИИ Пожалуйста, не воспроизводите без разрешения.
Похожие статьи
Нет комментариев...